Операционная система UNIX. Руководство программиста




Системные вызовы и библиотечные функции


Системные вызовы - это запросы программы к ядру операционной системы на выполнение некоторых действий. Библиотечные функции - это заранее запрограммированные модули, которые используются для поддержки некоторых возможностей языка программирования.

Внешне обращения к системным вызовам и библиотечным функциям ничем не отличаются и выглядят как вызовы обычных функций языка. Однако некоторые отличия все же имеются:

  • Во время редактирования связей команды, реализующие библиотечные функции, копируются в объектный файл Вашей программы, а коды, реализующие системные вызовы, находятся в ядре ОС.
  • Библиотечные функции выполняются точно так же, как и Ваши собственные функции. А при выполнении системных вызовов происходит переключение из адресного пространства вызывающего процесса к пространству ядра.

Это означает, что несмотря на то, что библиотечные функции увеличивают размер выполняемого файла, накладные расходы на переключение при их выполнении меньше, чем при выполнении системных вызовов.




Содержание  Назад  Вперед