Системски позив је захтев рачунарског програма упућен језгру оперативног система. То може укључивати захтеве повезане с хардвером (на пример, приступ тврдом диску), креирање и извршавање нових процеса, као и комуникацију са интегралним услугама кернела, је распоређивање процеса. Системски позиви служе за комуникацију између процеса и оперативног система.

Преглед интерфејса за позивање система код Линукс кернела који управља комуникацијом између различитих компоненти и корисничког простора

У већини система системски позиви могу се обављати само из процеса корисничког простора, док у неким системима, попут OS/360 и његових наследника, привилеговани системски код такође издаје системске позиве.

Библиотека као посредник

уреди

Генерално, системи пружају библиотеку или АПИ који се налази између обичних програма и оперативног система.

Примери

уреди

На Јуниксу, Јуниксоликим и другим оперативним системима који одговарају POSIX-у, популарни системски позиви су open, read, write, close, wait, exec, fork, exit и kill. Многи савремени оперативни системи имају стотине системских позива. На пример, Линукс и Опен БСД имају преко 300 различитих позива,[1] [2] Нет БСД има близу 500, [3] Фри БСД има преко 500, [4] Виндоуз 7 има близу 700.[5]

Референце

уреди
  1. ^ „syscalls(2) - Linux manual page”. 
  2. ^ OpenBSD (14. 9. 2013). „System call names (kern/syscalls.c)”. BSD Cross Reference. 
  3. ^ NetBSD (17. 10. 2013). „System call names (kern/syscalls.c)”. BSD Cross Reference. 
  4. ^ „FreeBSD syscalls.c, the list of syscall names and IDs”. 
  5. ^ Author: Mateusz "j00ru" Jurczyk (5. 11. 2017). „Windows WIN32K.SYS System Call Table (NT/2000/XP/2003/Vista/2008/7/8/10)”. Архивирано из оригинала 28. 11. 2019. г. Приступљено 04. 04. 2020. 

Спољашње везе

уреди