Systémové volání
Systémové volání je požadavek ze strany a program k operační systém. Umožňuje to aplikace mít přístup funkce a příkazy z operačního systému API.
Systémová volání provádějí operace na úrovni systému, například komunikaci s technické vybavení zařízení a čtení a zápis soubory. Pomocí systémových volání mohou vývojáři používat předem napsané funkce podporované operačním systémem (OS), místo aby je psali úplně od začátku. To zjednodušuje vývoj, zlepšuje stabilitu aplikací a dělá aplikace „přenositelnějšími“ mezi různými verzemi operačního systému.
Jak fungují systémová volání
Aplikace běží v oblasti paměť volal uživatelského prostoru. Systémové volání přistupuje k operačnímu systému jádro, který běží v prostoru jádra. Když aplikace provede systémové volání, musí nejprve vyžádat povolení od jádra. To lze provést pomocí žádost o přerušení, který pozastaví proud proces a přenáší kontrolu do jádra.
Pokud je požadavek povolen, jádro požadavek zpracuje, například vytvoří nebo odstraní soubor. Po dokončení operace jádro předá výstup zpět do aplikace, která přenáší datum z prostoru jádra do prostoru uživatele v paměti. Aplikace přijímá výstup z jádra jako vstup. V Zdrojový kód programu, může to být a parametr hodnota nebo návratová hodnota v rámci funkce. Jakmile je vstup přijat, aplikace obnoví proces.
Základní systémové volání, jako je získání systémového data a času, může trvat několik nanosekund. Pokročilejší systémové volání, například navázání komunikace s a síť zařízení může vyžadovat několik sekund. Aby se zabránilo úzkým místům, většina operačních systémů inicializuje samostatné jádro závit pro každé systémové volání. Moderní operační systémy jsou vícevláknové, což znamená, že mohou zpracovávat více systémových volání najednou.