Topics: TODO-LINKS
Sistemski klic: zahteva uporabniškega programa po jedrni storitvi - klic podprograma v jedru
Vsak klic ima svojo številko in lahko prejme argumente (preneseta se po pregistrih/skladu)
Preklop nivoja zaščite procesorja: jedro - priviligirani način / klicoči program - zaščiten način
Sistemski vmesnik:
- namenski strojni ukazi za sistemski klic in vrnitev iz njega
- programska prekinitev procesorja, da izvede preklop in pokliče nameščeni rokovalnik prekinitve
Ostali mehanizmi:
- klicna vrata - zahteva oddaljeni klic v drug segment
- pomnilniška vrsta - sistemske klice postavimo v vrsto, ki jo jedro periodično pregleduje
Izvedba sistemskega klica:
- Priprava na sistemski klic - podajanje št. sistemskega klica in aregumentov
- Vstop v jedro preko sistemskega vmesnika, preklop v priviligiran način
- Izvedba rokovalnika sistemskega vmesnika - klic specifičnega rokovalnika
- Izvedba rokovalnika sistemskega klica - kic rutine znotraj jedra
- Izstop iz jedra, preklop v uporabniški način
Sistemski klici vs običajni funkcijski klici:
- počasnejši, kompleksnejši
- varnejši - nadzor operacij, avtorizacija pred izvedbo ukazov, stabilnejši (tveganje sesutja programa/sistema)
Ovojna funkcija zahevno izvedbo sistemskega klica pretvori v sistemski klic - sama pripravi in preverja pogoje pred vstopom v jedro
Izvedba sistemskega klica:
- neposredno - nastavitev registrov in vstop v jedro v zbirniku
- preko specifične ovojne funkcije iz knjižnice
- preko splošne ovojne funkcije
syscall(), ki ji podamo št. specifičnega sistemskega klica - preko ostalih funkcij (npr.
printf())

Vmesniki za uporabo programskih knjižnic:
Aplikacijski programski vmesnik (API) temelji na simbolični predstavitvi z imeni funkcij
Primer: Windows NT OS:
- dinamična knjižnica
ntdll.dll(Native API) - ovojne funkcije neporednih izvedb sistemskih klicev, nedokumentirana - dinamična knjižnica
kernel32.dll(Windows API) - ovojne funkcije, ki kličejo ovojne funkcije izntdll.dll
Aplikacijski dvojiški vmesnik (ABI): temelji na številski predstavitvi s številskimi oznakami funkcij
Portable Operating System Unterface Unix (POSIX) - IEEE 1003: definira programski vmesnik med aplikacijami in OS - predpisuje funkcije, ukazno lupino, okoljske spremenljvke, datotečno hierarhijo, …
Single Unix Specificatioon (SUS) - IEEE in Open Group: temelji na IEEE POSIX
Skladnost s SUS standardom:
- certificirani Unix sistemi: HP-UX, macOS, …
- necertificirani Unix sistemi: Linux, BSDs, …
- ostali necertificirani sistemi: WSL, Cygwin, …