Системски позив

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

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

У већини система системски позиви могу се обављати само из процеса корисничког простора, док у неким системима, попут 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 (2013-09-14). „System call names (kern/syscalls.c)”. BSD Cross Reference. 
  3. ^ NetBSD (2013-10-17). „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 (2017-11-05). „Windows WIN32K.SYS System Call Table (NT/2000/XP/2003/Vista/2008/7/8/10)”. 

Спољашње везе[уреди | уреди извор]