POSIX 1003.1b
下記関数をサポートしている。clockidにリアルタイムクロックCLOCK_REALTIME等を指示できる。
CLOCK_REALTIMEの解像度の最大値は、ヨーロッパでは50Hz(20ms)であり、米国では60Hz(16.67ms)である。最小値は、構造体の定義からナノ秒になる。CLOCK_REALTIMEは、システム時計と共通の実装が存在する。この場合には、外部プログラムによりシステム時計が書き換えられると周的的な時間がジャンプする可能性がある。この現象を避けるためには、CLOCK_MONOTONICを使用する。 clock_nanosleep(clockid_t clockid,,,) clock_getres(clockid_t clockid,),clock_gettime(clockid_t clockid,),clock_settime(clockid_t clockid,)
タイムアウトオプションをサポートしている。 mq_timedreceive()タイムアウト付きで、メッセージキューの受信を行う。 mq_timedsend()タイムアウト付きで、メッセージの送信を行う。 sigtimedwait()タイムアウト付きsigwaitinfo()
下記関数で、スケジューリングポリシーSCHED_SPORADICをサポートしている。
通常、周期的な繰り返しアクティビティには、SCHED_FIFOを利用するが、SCHED_SPORADICは、不規則なアクティビティの場合に利用する。 sched_setparam(),sched_setscheduler()
スピンロック(ビジーウェイト)をサポートする。
非同期IO関数をサポートしている。 aio_cancel() - 完了していない非同期IOをキャンセルする。 aio_error() - 非同期IO操作のエラー状態を取得する。 aio_read() - 非同期readを行う。 aio_return() - 非同期IO操作の返り値を取得する。 aio_suspend() - 非同期IO操作の完了を待つ。 aio_write() - 非同期writeを行う。 lio_listio() - 非同期IOをリスト操作で行う。