Razlika Između Sistemskog Poziva I Poziva Funkcije

Razlika Između Sistemskog Poziva I Poziva Funkcije
Razlika Između Sistemskog Poziva I Poziva Funkcije

Video: Razlika Između Sistemskog Poziva I Poziva Funkcije

Video: Razlika Između Sistemskog Poziva I Poziva Funkcije
Video: 024 - Programski jezik C - Uvod u funkcije 2024, Studeni
Anonim

Sistemski poziv vs poziv funkcije

Tipični procesor izvršava upute jednu po jednu. No, mogu biti prilike u kojima procesor mora zaustaviti trenutne upute i izvršiti neki drugi program ili segment koda (koji borave na nekom drugom mjestu). Nakon toga procesor se vraća u normalno izvršenje i nastavlja tamo gdje je stao. Sistemski poziv i poziv funkcije su takve prilike. Sistemski poziv je poziv potprogramu ugrađenom u sustav. Poziv funkcije je poziv potprogramu unutar samog programa.

Što je sistemski poziv?

Sistemski pozivi pružaju programima koji se izvode na računalu sučelje za razgovor s operativnim sustavom. Kada program treba tražiti uslugu (za koju za to nema dopuštenje sam) od jezgre operativnog sustava, koristi sistemski poziv. Procesi na korisničkoj razini nemaju ista dopuštenja kao procesi koji izravno komuniciraju s operativnim sustavom. Na primjer, za komunikaciju s vanjskim I / O uređajem ili za interakciju s bilo kojim drugim procesom, program koristi sistemske pozive.

Što je poziv funkcije?

Poziv funkcije naziva se i poziv potprograma. Potprogram (poznat i kao postupak, funkcija, metoda ili rutina) dio je većeg programa koji je odgovoran za izvršavanje određenog zadatka. Veći program može izvršiti veliko radno opterećenje, a potprogram možda izvodi samo jednostavan zadatak, koji je također neovisan o preostalom kodiranju programa. Funkcija je kodirana na takav način da se može pozivati više puta i s različitih mjesta (čak i unutar drugih funkcija). Kada je funkcija pozvana, procesor može ići tamo gdje se nalazi kôd funkcije i izvršavati upute funkcije jednu po jednu. Nakon završetka funkcija, procesor će se vratiti točno tamo gdje je stao i nastaviti izvršavanje započinjući od sljedeće naredbe. Funkcije su izvrstan alat za ponovnu upotrebu koda. Mnogi moderni programski jezici podržavaju funkcije. Zbirka funkcija naziva se biblioteka. Knjižnice se često koriste kao sredstvo za dijeljenje i trgovanje softverom. U nekim slučajevima cijeli program može biti slijed potprograma (npr. Kompajliranje navoja s kodom).

Koja je razlika između sistemskog i funkcijskog poziva?

Poziv sustava je poziv potprogramu ugrađenom u sustav, dok je poziv funkcije poziv potprogramu unutar programa. Za razliku od funkcijskih poziva, sistemski pozivi koriste se kada program treba izvršiti neki zadatak, za koji nema privilegiju. Sistemski pozivi su ulazne točke u jezgru operativnog sustava i nisu povezani s programom (poput poziva funkcije). Za razliku od sistemskih poziva, funkcijski pozivi su prijenosni. Vremenski troškovi sistemskog poziva više su od općih troškova za poziv funkcije jer se mora dogoditi prijelaz između korisničkog načina i načina jezgre. Sistemski pozivi izvršavaju se u adresnom prostoru jezgre, dok se pozivi funkcija izvršavaju u korisničkom adresnom prostoru.

Preporučeno: