Systemanrop
Ett systemsamtal är en begäran från en program till operativsystem. Det tillåter en ansökan få tillgång till funktioner och kommandon från operativsystemets API.
Systemanrop utför operationer på systemnivå, som att kommunicera med hårdvara enheter och läsning och skrivning filer. Genom att ringa systemanrop kan utvecklare använda förskrivna funktioner som stöds av operativsystemet (OS) istället för att skriva dem från grunden. Detta förenklar utvecklingen, förbättrar appstabilitet och gör appar mer "bärbara" mellan olika versioner av ett operativsystem.
Hur systemsamtal fungerar
Applikationer körs inom ett område av minne kallas användarutrymme. Ett systemanrop öppnar operativsystemet kernel, som körs i kärnutrymme. När ett program gör ett systemanrop måste det först begära tillstånd från kärnan. Detta kan göras med en avbryta begäran, som pausar strömmen process och överför kontroll till kärnan.
Om begäran är tillåten behandlar kärnan begäran, till exempel att skapa eller ta bort en fil. När operationen är klar passerar kärnan produktion tillbaka till applikationen, som överförs datum från kärnutrymmet till användarutrymmet i minnet. Applikationen tar emot utdata från kärnan som ingång. I källkod i ett program kan detta vara en parameter värde eller ett returvärde inom en funktion. När inmatningen har mottagits fortsätter applikationen processen.
Ett grundläggande systemanrop, som att få systemdatum och -tid, kan ta några nanosekunder. Ett mer avancerat systemanrop, som att upprätta kommunikation med en nät enheten kan ta några sekunder. För att förhindra flaskhalsar initierar de flesta operativsystem en separat kärna gänga för varje systemanrop. Moderna operativsystem är flertrådig, vilket innebär att de kan hantera flera systemanrop samtidigt.