Razlika Med Sistemskim Klicem In Klicem Funkcije

Razlika Med Sistemskim Klicem In Klicem Funkcije
Razlika Med Sistemskim Klicem In Klicem Funkcije

Video: Razlika Med Sistemskim Klicem In Klicem Funkcije

Video: Razlika Med Sistemskim Klicem In Klicem Funkcije
Video: Изучение iOS: создайте собственное приложение с помощью Objective-C! Тянью Лю 2024, Marec
Anonim

Sistemski klic vs klic funkcije

Tipični procesor izvrši navodila eno za drugo. Vendar se lahko zgodi, da mora procesor ustaviti trenutno navodilo in zagnati kakšen drug program ali segment kode (stalno na drugem mestu). Po tem se procesor vrne v normalno izvajanje in nadaljuje od tam, kjer je končal. Takšna priložnost sta sistemski in funkcijski klic. Sistemski klic je klic podprogramu, ki je vgrajen v sistem. Klic funkcije je klic podprograma znotraj samega programa.

Kaj je sistemski klic?

Sistemski klici nudijo programom, ki se izvajajo v računalniku, vmesnik za pogovor z operacijskim sistemom. Ko mora program zahtevati storitev (za katero sam nima dovoljenja) iz jedra operacijskega sistema, uporabi sistemski klic. Procesi na ravni uporabnika nimajo enakih dovoljenj kot procesi, ki neposredno komunicirajo z operacijskim sistemom. Na primer, program za komunikacijo z zunanjo V / I napravo ali za interakcijo s katerimi koli drugimi procesi 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 izvajanje določene naloge. Večji program lahko izvaja veliko delovno obremenitev, podprogram pa lahko izvaja le preprosto nalogo, ki je prav tako neodvisna od preostalega kodiranja programa. Funkcija je kodirana tako, da jo je mogoče klicati večkrat in iz različnih krajev (tudi znotraj drugih funkcij). Ko pokličete funkcijo, lahko procesor odide tja, kjer prebiva koda funkcije, in eno za drugo izvrši navodila funkcije. Po zaključku funkcij se bo procesor vrnil natanko tam, kjer je končal, in nadaljeval izvajanje z naslednjim navodilom. Funkcije so odlično orodje za ponovno uporabo kode. Številni sodobni programski jeziki podpirajo funkcije. Zbirka funkcij se imenuje knjižnica. Knjižnice se pogosto uporabljajo kot sredstva za skupno rabo in trgovanje s programsko opremo. V nekaterih primerih je lahko celoten program zaporedje podprogramov (npr. Navojno prevajanje kode).

Kakšna je razlika med sistemskim klicem in funkcijskim klicem?

Sistemski klic je klic podprogramu, ki je vgrajen v sistem, medtem ko je klic funkcije klic podprogramu znotraj programa. Za razliko od funkcijskih klicev se sistemski klici uporabljajo, kadar mora program opraviti neko nalogo, za katero nima privilegij. Sistemski klici so vstopne točke v jedru operacijskega sistema in niso povezani s programom (na primer funkcijski klici). Za razliko od sistemskih klicev so funkcijski klici prenosni. Časovni režijski stroški sistemskega klica so več kot režijski stroški za funkcijski klic, ker mora potekati prehod med uporabniškim načinom in načinom jedra. Sistemski klici se izvajajo v naslovni prostor jedra, medtem ko se funkcijski klici izvajajo v uporabniškem naslovnem prostoru.

Priporočena: