Sistemos iškvietimas OS: tipai ir pavyzdžiai

Kas yra sistemos iškvietimas operacinėje sistemoje?

Į sistemos skambutis yra mechanizmas, užtikrinantis sąsają tarp proceso ir operacinės sistemos. Tai programinis metodas, kai kompiuterinė programa prašo paslaugos iš OS branduolio.

Sistemos iškvietimas siūlo operacinės sistemos paslaugas vartotojų programoms per API (Application Programming Interface). Sistemos iškvietimai yra vieninteliai branduolio sistemos įėjimo taškai.

Šioje operacinės sistemos pamokoje sužinosite:

Sistemos skambučiai operacinėje sistemoje

Sistemos iškvietimo pavyzdys

Pavyzdžiui, jei mums reikia parašyti programos kodą, kad galėtume perskaityti duomenis iš vieno failo, nukopijuokite tuos duomenis į kitą failą. Pirmoji programai reikalinga informacija yra dviejų failų, įvesties ir išvesties, pavadinimas.

Interaktyvioje sistemoje tokio tipo programoms vykdyti reikia tam tikrų OS iškvietimų.

  • Pirmasis skambutis yra parašyti raginantį pranešimą ekrane
  • Antra, skaityti iš klaviatūros simbolius, kurie apibrėžia du failus.

Kaip veikia sistemos skambutis?

Štai sistemos iškvietimo veiksmai:

Sistemos iškvietimo architektūra

Kaip matote aukščiau pateiktoje diagramoje.

1 žingsnis) Procesai, vykdomi vartotojo režimu, kol sistemos skambutis jį nutraukia.

2 žingsnis) Po to sistemos iškvietimas vykdomas branduolio režimu prioritetu.

3 veiksmas) Baigus sistemos skambučių vykdymą, valdymas grįžta į vartotojo režimą.,

4 veiksmas) Vartotojo procesų vykdymas atnaujintas branduolio režimu.

Kodėl jums reikia sistemos skambučių OS?

Toliau pateikiamos situacijos, dėl kurių reikia OS iškvietimų:

  • Skaitant ir rašant iš failų reikia sistemos skambučių.
  • Jei failų sistema nori sukurti arba ištrinti failus, reikia atlikti sistemos iškvietimus.
  • Sisteminiai skambučiai naudojami naujų procesų kūrimui ir valdymui.
  • Norint siųsti ir priimti paketus, tinklo ryšiams reikia sistemos skambučių.
  • Norint pasiekti aparatūros įrenginius, tokius kaip skaitytuvas, spausdintuvas, reikia sistemos skambučio.

Sistemos skambučių tipai

Čia pateikiami penki OS naudojamų sistemos skambučių tipai:

  • Procesų valdymo
  • Failų valdymas
  • Įrenginių valdymas
  • Informacijos priežiūra
  • Ryšiai

Procesų valdymo

Šios sistemos iškvietimai atlieka proceso sukūrimo, proceso nutraukimo ir kt.

Funkcijos:

  • Baigti ir nutraukti
  • Įkelti ir vykdyti
  • Sukurti procesą ir nutraukti procesą
  • Laukimas ir pasirašytas įvykis
  • Skirkite ir atlaisvinkite atmintį

Failų valdymas

Failų valdymo sistemos skambučiai tvarko failų manipuliavimo užduotis, tokias kaip failo kūrimas, skaitymas ir rašymas ir kt.

Funkcijos:

  • Sukurkite failą
  • Ištrinti failą
  • Atidaryti ir uždaryti failą
  • Skaitykite, rašykite ir perstatykite
  • Gaukite ir nustatykite failo atributus

Įrenginių valdymas

Įrenginių valdymas atlieka manipuliavimo prietaisu darbą, pavyzdžiui, skaitymą iš įrenginio buferių, įrašymą į įrenginio buferį ir kt.

Funkcijos

  • Prašyti ir atleisti įrenginį
  • Logiškai pritvirtinkite/ atjunkite įrenginius
  • Gauti ir nustatyti įrenginio atributus

Informacijos priežiūra

Ji tvarko informaciją ir jos perdavimą tarp OS ir vartotojo programos.

Funkcijos:

  • Gaukite arba nustatykite laiką ir datą
  • Gaukite proceso ir įrenginio atributus

Bendravimas:

Šio tipo sistemos skambučiai yra specialiai naudojami tarpprocesiniams ryšiams.

Funkcijos:

  • Sukurkite, ištrinkite ryšio ryšius
  • Siųsti, gauti pranešimą
  • Padėkite OS perkelti būsenos informaciją
  • Prijunkite arba atjunkite nuotolinius įrenginius

Sistemos iškvietimo parametrų perdavimo taisyklės

Čia pateikiamos bendros bendros parametrų perdavimo sistemos iškvietimui taisyklės:

  • Parametrus operacinė sistema turėtų įstumti į krūvą arba iš jos pašalinti.
  • Parametrus galima perduoti registruose.
  • Kai parametrų yra daugiau nei registrų, jis turėtų būti saugomas bloke, o bloko adresas turėtų būti perduotas registrui kaip parametras.

Svarbūs sistemos skambučiai, naudojami OS

laukti()

Kai kuriose sistemose procesas turi laukti, kol kitas procesas bus baigtas. Šio tipo situacija atsiranda, kai pirminis procesas sukuria antrinį procesą, o pirminio proceso vykdymas lieka sustabdytas, kol bus įvykdytas antrinis procesas.

Tėvų proceso sustabdymas automatiškai įvyksta laukiant () sistemos skambučio. Kai antrasis procesas baigiamas vykdyti, valdiklis grįžta prie pirminio proceso.

šakutė ()

Procesai naudoja šį sistemos iškvietimą, kad sukurtų procesus, kurie yra jų pačių kopija. Naudojant šią sistemą „Call parent“ procesas sukuria antrinį procesą, o pirminio proceso vykdymas bus sustabdytas, kol bus įvykdytas antrinis procesas.

vykdytojas ()

Šis sistemos iškvietimas vykdomas, kai vykdomasis failas jau vykdomo proceso kontekste, kuris pakeičia senesnį vykdomąjį failą. Tačiau pirminis proceso identifikatorius išlieka, nes naujas procesas nėra sukurtas, bet krūva, duomenys, galvutė, duomenys ir kt. Pakeičiami nauju procesu.

nužudyti ():

Sistema „kill“ () iškvietimą naudoja OS, kad nusiųstų nutraukimo signalą procesui, raginančiam procesą išeiti. Tačiau nužudymo sistemos iškvietimas nebūtinai reiškia proceso nužudymą ir gali turėti įvairias reikšmes.

išeiti ():

Išeities () sistemos iškvietimas naudojamas programos vykdymui nutraukti. Specialiai kelių gijų aplinkoje šis skambutis apibrėžia, kad siūlų vykdymas yra baigtas. OS susigrąžina išteklius, kurie buvo naudojami procese panaudojus „exit“ () sistemos iškvietimą.

Santrauka:

Kategorijos „Windows“ Unix
Procesų valdymoCreateProcess () ExitProcess () WaitForSingleObject ()šakutė () išeiti () palaukti ()
Įrenginio manipuliavimasSetConsoleMode () ReadConsole () WriteConsole ()loctl () skaityti () rašyti ()
Failų manipuliavimasCreateFile () ReadFile () WriteFile () CloseHandle ()Atidaryti () Skaityti () rašyti () uždaryti!)
Informacijos priežiūraGetCurrentProcessID () SetTimer () Miego režimas ()getpid () žadintuvas () miegas ()
BendravimasCreatePipe () CreateFileMapping () MapViewOfFile ()Vamzdis () shm_open () mmap ()
ApsaugaSetFileSecurity () InitializeSecurityDescriptor () SetSecurityDescriptorGroup ()Chmod () Umask () Chown ()