Стандартизированные процедуры языка С в Unix

Unix поддерживает также широкое разнообразие библиотечных вызовов языка С. Их иногда путают с системными вызовами, но фактически они — лишь стандартизированные процедуры, которые можно использовать в программах. Например, можно написать функцию, вычисляющую квадратные корни в программе, но невозможно написать функцию, вьтделяющую память на основе системного вызова. Если есть сомнения, является ли конкретная функция системным вызовом или библиотечной функцией С, обращайтесь к справочной системе.
Можно встретить случайные системные вызовы, описания которых нет в документации, например break О. Для идентификации таких вызовов приходится углубляться в ресурсы (в частности, break О — очень давний системный вызов, который используется в libc, но не программистами; видимо, поэтому он и не представлен в справочной системе).
Systrace запрещает все действия, не разрешенные явно, протоколируя в syslog все отклонения. Если запущенная под systrace программа имеет проблемы, вы увидите, какой системный вызов хочет использовать программа, и должны решить, стоит ли добавить его в политику, перенастроить программу или оставить ошибку.
В systrace можно выделить ряд важных компонентов: политики, средства генерации политик, средства управления доступом в ходе выполнения и интерфейс системного администратора, работающий в реальном времени.

Метки:

Статьи по теме