Насколько четким является требование, т. Е. Сколько джиттера вы можете терпеть?
Какая версия UNIX?
Как правило, если это жесткий крайний срок - он звучит как один -- вам нужно будет сделать что-то особенное, потому что базовый UNIX на самом деле не представляет собой систему реального времени.
Предположим на данный момент, что вы имеете в виду Linux.Вам нужно
- использовать nice (2) для повышения приоритета процесса
- использовать детализированный таймер, какс ualarm (3)
Это, вероятно, do .Если вам нужно более детальное или более предсказуемое время, то вам, вероятно, нужно написать расширение ядра, которое может управляться таймером ядра.(Solaris имеет некоторую улучшенную поддержку для работы в режиме реального времени, но это все же не очень сложная система реального времени.)
Жизнь станет значительно проще, если вы сможете использовать Linux или UNIX в реальном времени.Вот список некоторых опций .Вот статья , которую вы можете найти usefui.
Обновление
Вы также должны взглянуть на nanosleep (2) или сетитимер (2) .Обратите внимание, что все они говорят, что интервал составляет , по крайней мере, один в аргументе.Если у вас жесткие сроки, вам нужно подождать немного меньше, чем фактический интервал, а затем выяснить, что делать с любым изменением вашей тысячи миллисекунд.