Razlika med sistemskim in funkcijskim klicem

Razlika med sistemskim in funkcijskim klicem
Razlika med sistemskim in funkcijskim klicem

Video: Razlika med sistemskim in funkcijskim klicem

Video: Razlika med sistemskim in funkcijskim klicem
Video: Разъясняю что такое оперативная память 2024, November
Anonim

Sistemski klic proti funkcijskemu klicu

Tipičen procesor izvaja ukaze eno za drugo. Lahko pa pride do primerov, ko mora procesor ustaviti trenutna navodila in izvesti drug program ali segment kode (ki se nahaja na drugem mestu). Po tem se procesor vrne v normalno izvajanje in nadaljuje od tam, kjer je končal. Takšni priložnosti sta sistemski klic in klic funkcije. Sistemski klic je klic podprograma, vgrajenega v sistem. Klic funkcije je klic podprograma znotraj samega programa.

Kaj je sistemski klic?

Sistemski klici zagotavljajo programom, ki se izvajajo v računalniku, vmesnik za komunikacijo z operacijskim sistemom. Ko mora program zahtevati storitev (za katero sam nima dovoljenja) od jedra operacijskega sistema, uporabi sistemski klic. Procesi na ravni uporabnika nimajo enakih dovoljenj kot procesi, ki neposredno komunicirajo z operacijskim sistemom. Na primer, za komunikacijo z zunanjo V/I napravo ali za interakcijo s katerim koli drugim procesom program uporablja sistemske klice.

Kaj je klic funkcije?

Klic funkcije se imenuje tudi klic podprograma. Podprogram (znan tudi kot postopek, funkcija, metoda ali rutina) je del večjega programa, ki je odgovoren za izvedbo določene naloge. Večji program lahko izvaja veliko delovno obremenitev, podprogram pa morda izvaja le preprosto nalogo, ki je tudi neodvisna od preostalega kodiranja programa. Funkcija je kodirana tako, da jo je mogoče klicati večkrat in z različnih mest (tudi znotraj drugih funkcij). Ko je funkcija poklicana, gre lahko procesor tja, kjer se nahaja koda za funkcijo, in izvede navodila funkcije eno za drugim. Po opravljenih funkcijah se bo procesor vrnil točno tam, kjer je končal, in nadaljeval z izvajanjem od naslednjega ukaza. Funkcije so odlično orodje za ponovno uporabo kode. Mnogi sodobni programski jeziki podpirajo funkcije. Zbirka funkcij se imenuje knjižnica. Knjižnice se pogosto uporabljajo kot sredstva za izmenjavo in trgovanje s programsko opremo. V nekaterih primerih je lahko celoten program zaporedje podprogramov (npr. navojno prevajanje kode).

Kakšna je razlika med sistemskim in funkcijskim klicem?

Sistemski klic je klic podprograma, vgrajenega v sistem, medtem ko je klic funkcije klic podprograma znotraj programa. Za razliko od funkcijskih klicev se sistemski klici uporabljajo, ko mora program opraviti neko nalogo, za katero nima privilegija. Sistemski klici so vstopne točke v jedro operacijskega sistema in niso povezani s programom (kot klici funkcij). Za razliko od sistemskih klicev so funkcijski klici prenosljivi. Časovni stroški sistemskega klica so večji od stroškov funkcijskega klica, ker mora priti do prehoda med uporabniškim načinom in načinom jedra. Sistemski klici se izvajajo v naslovnem prostoru jedra, funkcijski klici pa v uporabniškem naslovnem prostoru.

Priporočena: