Systemanrop i OS (Operating System): Vad är, typer och exempel
⚡ Smart sammanfattning
Systemanrop är det kontrollerade gränssnitt som en process använder för att begära kärntjänster som filåtkomst, processkontroll och enhetskommunikation, och säkert växla processorn från användarläge till privilegierat kärnläge.
Vad är System Call in Operating System?
A systemsamtal är en mekanism som tillhandahåller gränssnittet mellan en process och operativsystemet. Det är en programmatisk metod där ett datorprogram begär en tjänst från kärnan i operativsystemet.
Systemanrop erbjuder operativsystemets tjänster till användarprogrammen via API (Application Programming Interface). Systemanrop är de enda ingångspunkterna för kärnsystemet.
Systemanropar in Operating System
Exempel på systemanrop
Till exempel, för att skriva ett program som läser data från en fil och kopierar den till en annan, behöver programmet först namnen på de två filerna: indata- och utdatafilerna.
I ett interaktivt system kräver den här typen av programkörning vissa systemanrop från operativsystemet.
- Det första uppmaningen är att skriva ett uppmanande meddelande på skärmen.
- Det andra är att läsa, från tangentbordet, de tecken som definierar de två filerna.
Hur fungerar systemsamtal?
Här är stegen för ett systemanrop i OS:
Architecture av systemanropet
Som du kan se i systemanropsdiagrammet ovan:
Steg 1) Processerna körs i användarläge tills ett systemanrop avbryter dem.
Steg 2) Därefter körs systemanropet i kernelläge med prioritet.
Steg 3) När systemanropet är avslutat återgår kontrollen till användarläge.
Steg 4) Utförandet av användarprocesser återupptas och växlar mellan användarläge och kärnläge såsom krävs.
Varför behöver du systemsamtal i OS?
Följande är situationer som kräver systemanrop i operativsystemet:
- Att läsa och skriva från filer kräver systemanrop.
- Om ett filsystem vill skapa eller ta bort filer krävs systemanrop.
- Systemanrop används för att skapa och hantera nya processer.
- Nätverksanslutningar behöver systemanrop för att skicka och ta emot paket.
- Åtkomst till hårdvaruenheter som en skanner eller skrivare kräver ett systemanrop.
Typer av systemanrop
Här är de fem typerna av systemanrop i operativsystemet:
- Processkontroll
- Filhantering
- Enhetshantering
- Informationsunderhåll
- Kommunikation
Typer av systemanrop i operativsystemet
Processkontroll
Dessa systemanrop utför uppgiften att skapa processer, avsluta processer etc.
Funktioner:
- Avsluta och avbryta
- Ladda och kör
- Skapa process och avsluta process
- Vänta och Signal Event
- Tilldela och frigör minne
Filhantering
Filhanteringssystemanrop hanterar filmanipuleringsjobb som att skapa en fil, läsa och skriva, etc.
Funktioner:
- Skapa en fil
- Radera fil
- Öppna och stäng fil
- Läs, skriv och placera om
- Hämta och ställ in filattribut
Enhetshantering
Enhetshantering gör jobbet med enhetsmanipulation som att läsa från enhetsbuffertar, skriva i enhetsbuffertar, etc.
Funktioner:
- Begär och frigör enhet
- Anslut eller koppla loss enheter logiskt
- Hämta och ange enhetsattribut
Informationsunderhåll
Den hanterar information och dess överföring mellan operativsystemet och användarprogrammet.
Funktioner:
- Hämta eller ställ in tid och datum
- Få process- och enhetsattribut
Kommunikation
Dessa typer av systemanrop används speciellt för kommunikation mellan processer.
Funktioner:
- Skapa och ta bort kommunikationsanslutningar
- Skicka och ta emot meddelanden
- Hjälp med statusinformationen för överföring av operativsystem
- Anslut eller koppla loss fjärrenheter
Regler för att skicka parametrar för systemanrop
Här är de allmänna reglerna för att skicka parametrar till systemanropet:
- Parametrar bör läggas till eller tas bort från stacken av operativsystemet.
- Parametrar kan skickas i register.
- När det finns fler parametrar än register bör de lagras i ett block, och blockadressen bör skickas i ett register.
Viktiga systemsamtal som används i OS
vänta()
I vissa system måste en process vänta på att en annan ska slutföras. Detta inträffar när en förälderprocess skapar en underprocess, och föräldern förblir pausad tills underprocessen slutförs.
Förälderns paus sker automatiskt med ett wait() systemanrop. När barnet avslutar körningen flyttas kontrollen tillbaka till föräldern.
gaffel()
Processer använder detta systemanrop för att skapa processer som är en kopia av sig själva. Med hjälp av fork() skapar en förälderprocess en underprocess, och förälderprocessen pausas tills underprocessen körs.
exec ()
Detta systemanrop kör en körbar fil inom en redan körande process och ersätter den äldre. Den ursprungliga processidentifieraren bibehålls eftersom ingen ny process byggs, men stacken, data, heap etc. ersätts av den nya processen.
döda()
Systemanropet kill() används av operativsystemet för att skicka en avslutningssignal till en process och uppmana den att avsluta. Ett kill system-anrop betyder dock inte nödvändigtvis att processen avslutas och kan ha olika betydelser.
utgång()
Systemanropet exit() används för att avsluta programkörning. Speciellt i en flertrådad miljö definierar detta anrop att trådkörningen är klar. Operativsystemet återtar de resurser som används av processen efter exit()-anropet.





