Forskjellen Mellom Systemanrop Og Funksjonsanrop

Forskjellen Mellom Systemanrop Og Funksjonsanrop
Forskjellen Mellom Systemanrop Og Funksjonsanrop

Video: Forskjellen Mellom Systemanrop Og Funksjonsanrop

Video: Forskjellen Mellom Systemanrop Og Funksjonsanrop
Video: Web Security: Active Defense, by Luciano Arango 2024, November
Anonim

Systemanrop vs Funksjonsanrop

En typisk prosessor utfører instruksjoner en etter en. Men det kan være anledninger der prosessoren må stoppe gjeldende instruksjon og utføre et annet program eller kodesegment (bosatt et annet sted). Etter å ha gjort dette, går prosessoren tilbake til normal kjøring og fortsetter fra der den slapp. En systemanrop og en funksjonsanrop er slike anledninger. En systemanrop er en anrop til en underrutine innebygd i systemet. En funksjonsanrop er en samtale til en underrutine i selve programmet.

Hva er et systemanrop?

Systemanrop gir programmer som kjører på datamaskinen et grensesnitt for å snakke med operativsystemet. Når et program trenger å be om en tjeneste (som det ikke har tillatelse til å gjøre det av seg selv) fra kjernen i operativsystemet, bruker det en systemanrop. Prosesser på brukernivå har ikke de samme tillatelsene som prosessene som interagerer direkte med operativsystemet. For eksempel, for å kommunisere med og ekstern I / O-enhet eller for å samhandle med andre prosesser, bruker et program systemanrop.

Hva er en funksjonsanrop?

En funksjonsanrop kalles også en subrutineanrop. En subrutine (også kjent som en prosedyre, funksjon, metode eller rutine) er en del av et større program som er ansvarlig for å utføre en bestemt oppgave. Det større programmet kan utføre en tung arbeidsbelastning, og underrutinen kan utføre bare en enkel oppgave, som også er uavhengig av den gjenværende programkodingen. En funksjon er kodet på en slik måte at den kan kalles flere ganger og fra forskjellige steder (selv fra andre funksjoner). Når en funksjon kalles, kan prosessoren gå dit koden for funksjonen befinner seg og utføre instruksjonene for funksjonen en etter en. Etter at funksjonene er fullført, vil prosessoren gå tilbake til nøyaktig hvor den slapp og fortsette utførelsen fra neste instruksjon. Funksjoner er et flott verktøy for gjenbruk av kode. Mange moderne programmeringsspråk støtter funksjoner. En samling funksjoner kalles et bibliotek. Biblioteker brukes ofte som verktøy for deling og handel med programvare. I noen tilfeller kan hele programmet være en sekvens av underrutiner (f.eks. Gjenget kodekompilering).

Hva er forskjellen mellom systemanrop og funksjonsanrop?

Systemanrop er en samtale til en subrutine innebygd i systemet, mens en funksjonsanrop er en samtale til en subrutine i programmet. I motsetning til funksjonssamtaler brukes systemanrop når et program trenger å utføre en oppgave, som det ikke har privilegium for. Systemanrop er inngangspunkter i operativsystemkjernen og er ikke koblet til programmet (som funksjonsanrop). I motsetning til systemanrop er funksjonsanrop bærbare. Tidsomkostninger for et systemanrop er mer enn overhead for et funksjonsanrop, fordi en overgang mellom brukermodus og kjernemodus må finne sted. Systemanrop utføres i kjerneadresseområdet, mens funksjonsanrop utføres i brukeradresseområdet.

Anbefalt: