nanosleep
David Kuzela
david na kuzela.cz
Pondělí Září 25 19:07:10 CEST 2000
Martin Petrak pise:
> Dobry den.
>
> Potreboval by som vediet, s akym rozlisenim pracuje funkcia nanosleep z
> GNU C kniznice pod Linuxom na platforme i386.
> V dokumentacii som nasiel ze to zalezi od konkretneho systemu cize to
> nemusi byt v ns.
Precetl jste manual nanosleep(2)? Parametr se zadava jako struktura:
struct timespec
{
time_t tv_sec; /* seconds */
long tv_nsec; /* nanoseconds */
};
The value of the nanoseconds field must be in the range 0
to 999 999 999.
A v seckci BUGS se dozvite:
The current implementation of nanosleep is based on the
normal kernel timer mechanism, which has a resolution of
1/HZ s (i.e, 10 ms on Linux/i386 and 1 ms on Linux/Alpha).
Therefore, nanosleep pauses always for at least the speci
fied time, however it can take up to 10 ms longer than
specified until the process becomes runnable again. For
the same reason, the value returned in case of a delivered
signal in *rem is usually rounded to the next larger mul
tiple of 1/HZ s.
As some applications require much more precise pauses
(e.g., in order to control some time-critical hardware),
nanosleep is also capable of short high-precision pauses.
If the process is scheduled under a real-time policy like
SCHED_FIFO or SCHED_RR, then pauses of up to 2 ms will be
performed as busy waits with microsecond precision.
--
David Kužela
==[Dawyd]======[icq]=[24470559]===================
email: kuzela na mbox.vol.cz Student of VSE
web: http://penguin.cz/~dawyd Czech republic
==================================================
Další informace o konferenci Linux