Süsteemikõne OS-is (Operating System): Mis on, tüübid ja näited
Mis on System Call in Operating süsteemi?
A süsteemikõne on mehhanism, mis tagab liidese protsessi ja operatsioonisüsteemi vahel. See on programmiline meetod, mille puhul arvutiprogramm taotleb teenust OS-i tuumalt.
Süsteemikõne pakub kasutajaprogrammidele operatsioonisüsteemi teenuseid API (Application Programming Interface) kaudu. Süsteemikõned on tuumasüsteemi ainsad sisenemispunktid.

Süsteemikõne näide
Näiteks kui meil on ühest failist andmete lugemiseks vaja kirjutada programmikood, kopeerige need andmed teise faili. Esimene teave, mida programm nõuab, on kahe faili nimi, sisend- ja väljundfailid.
Interaktiivses süsteemis nõuab seda tüüpi programmide täitmine teatud süsteemikutseid OS-i poolt.
- Esimene kõne on kirjutada ekraanile viip
- Teiseks, et lugeda klaviatuurilt kahte faili määratlevaid märke.
Kuidas süsteemikõne töötab?
Siin on juhised süsteemikutse jaoks OS-is:
Nagu näete ülaltoodud süsteemikõne näidisskeemil.
Step 1) Protsessid, mida käivitatakse kasutajarežiimis seni, kuni süsteemikutse selle katkestab.
Step 2) Pärast seda käivitatakse süsteemikutse prioriteedi alusel kerneli režiimis.
Step 3) Kui süsteemikõne täitmine on lõppenud, naaseb juhtimine kasutajarežiimi.
Step 4) Kasutajaprotsesside täitmine jätkus aastal Kerneli režiim.
Miks vajate OS-is süsteemikõnesid?
Järgmised olukorrad nõuavad OS-is süsteemikutseid:
- Failide lugemine ja kirjutamine nõuavad süsteemikõnesid.
- Kui failisüsteem soovib faile luua või kustutada, on vaja süsteemikutseid.
- Süsteemikõnesid kasutatakse uute protsesside loomiseks ja haldamiseks.
- Võrguühendused vajavad pakettide saatmiseks ja vastuvõtmiseks süsteemikõnesid.
- Juurdepääs riistvaraseadmetele, nagu skanner, printer, vajab süsteemikõnet.
Süsteemikõnede tüübid
Siin on viis tüüpi süsteemikutseid OS-is.
- Process Control
- Failide haldamine
- Device Management
- Teabe hooldus
- Side
Process Control
See süsteemikutse täidab protsessi loomise, protsessi lõpetamise jne ülesandeid.
Funktsioonid:
- Lõpeta ja katkestada
- Laadige ja käivitage
- Looge protsess ja lõpetage protsess
- Oota ja Signal sündmus
- Mälu eraldamine ja vabastamine
Failide haldamine
Failihaldussüsteemi kõned käsitlevad failidega manipuleerimise töid, nagu faili loomine, lugemine ja kirjutamine jne.
Funktsioonid:
- Looge fail
- Kustuta fail
- Ava ja sulge fail
- Lugege, kirjutage ja paigutage ümber
- Hankige ja määrake faili atribuudid
Device Management
Seadmehaldus tegeleb seadmega manipuleerimisega, nagu seadme puhvritest lugemine, seadmepuhvritesse kirjutamine jne.
Funktsioonid:
- Taotlege ja vabastage seade
- Ühendage/eemaldage seadmed loogiliselt
- Hankige ja määrake seadme atribuudid
Teabe hooldus
See haldab teavet ja selle edastamist OS-i ja kasutajaprogrammi vahel.
Funktsioonid:
- Hankige või määrake kellaaeg ja kuupäev
- Hankige protsessi ja seadme atribuudid
KOMMUNIKATSIOON
Seda tüüpi süsteemikõnesid kasutatakse spetsiaalselt protsessidevaheliseks suhtluseks.
Funktsioonid:
- Looge ja kustutage sideühendusi
- Saada, saada sõnum
- Aidake OS-il olekuteavet edastada
- Kaugseadmete ühendamine või eemaldamine
Süsteemikõne parameetrite edastamise reeglid
Siin on üldised üldreeglid parameetrite süsteemikutsele edastamiseks:
- Operatsioonisüsteem peaks parameetrid sisestama või virnast välja tõstma.
- Parameetreid saab edastada registrites.
- Kui parameetreid on rohkem kui registreid, tuleks see salvestada plokki ja ploki aadress edastada parameetrina registrile.
Olulised OS-is kasutatavad süsteemikõned
oota ()
Mõnes süsteemis peab protsess ootama, kuni teine protsess selle täitmise lõpule viib. Seda tüüpi olukord tekib siis, kui vanemprotsess loob alamprotsessi ja ülemprotsessi täitmine jääb peatatuks, kuni selle alamprotsess käivitub.
Emaprotsessi peatamine toimub automaatselt ootamise () süsteemikutsega. Kui alamprotsess lõpetab täitmise, liigub juhtelement tagasi põhiprotsessile.
kahvel ()
Protsessid kasutavad seda süsteemikutset protsesside loomiseks, mis on iseenda koopiad. Selle süsteemi abil loob Call vanemprotsess alamprotsessi ja vanemprotsessi täitmine peatatakse kuni alamprotsessi täitmiseni.
exec()
See süsteemikutse käivitatakse, kui käivitatav fail juba töötava protsessi kontekstis, mis asendab vanema käivitatava faili. Algne protsessiidentifikaator jääb aga alles, kuna uut protsessi ei ehitata, vaid pinu, andmed, pea, andmed jne asendatakse uue protsessiga.
tapa()
OS kasutab süsteemikutset kill() selleks, et saata protsessile lõpetamissignaal, mis sunnib protsessi väljuma. Kuid süsteemi tapmiskutse ei tähenda tingimata protsessi katkestamist ja sellel võib olla erinevaid tähendusi.
väljumine ()
Süsteemikutset exit() kasutatakse programmi täitmise lõpetamiseks. Spetsiaalselt mitme lõimega keskkonnas määrab see kõne, et lõime täitmine on lõpetatud. OS taastab ressursid, mida protsess kasutas pärast süsteemikutse exit() kasutamist.
kokkuvõte
| Kategooriad | Windows | Unix |
|---|---|---|
| Protsessi kontroll | CreateProcess() ExitProcess() WaitForSingleObject() |
kahvel () väljumine () oota () |
| Seadme manipuleerimine | SetConsoleMode() ReadConsole() WriteConsole() |
loctl() loe () kirjuta () |
| Failidega manipuleerimine | Loo fail() Loe faili () WriteFile() CloseHandle() |
Ava () Loe () kirjuta () sulgege!) |
| Teabe korrashoid | Get CurrentProcessID() SetTimer() Magama () |
getpid () äratus () magama () |
| KOMMUNIKATSIOON | Loo toru() Loo failikaartping() MapViewOfFile() |
Toru () shm_open() mmap() |
| Kaitsmed | SetFileSecurity() Initialize SecurityDescriptvõi () SetSecurityDescriptvõiRühm () |
Chmod() Umask () Chown() |

