Skillnaden Mellan Systemanrop Och Funktionsanrop

Skillnaden Mellan Systemanrop Och Funktionsanrop
Skillnaden Mellan Systemanrop Och Funktionsanrop

Video: Skillnaden Mellan Systemanrop Och Funktionsanrop

Video: Skillnaden Mellan Systemanrop Och Funktionsanrop
Video: Python-Gbg-07 2024, December
Anonim

Systemsamtal vs funktionssamtal

En typisk processor utför instruktioner en efter en. Men det kan finnas tillfällen där processorn måste stoppa aktuell instruktion och utföra något annat program eller kodsegment (finns på någon annan plats). Efter att ha gjort detta återgår processorn till normal körning och fortsätter från den plats där den slutade. Ett systemsamtal och ett funktionssamtal är sådana tillfällen. Ett systemanrop är ett samtal till en underrutin som är inbyggd i systemet. Ett funktionsanrop är ett samtal till en underrutin i själva programmet.

Vad är ett systemsamtal?

Systemanrop ger program som körs på datorn ett gränssnitt för att prata med operativsystemet. När ett program behöver be om en tjänst (för vilken det inte har tillstånd att göra det av sig själv) från kärnan i operativsystemet använder det ett systemanrop. Processer på användarnivå har inte samma behörigheter som processerna som direkt interagerar med operativsystemet. Till exempel, för att kommunicera med och extern I / O-enhet eller för att interagera med andra processer använder ett program systemanrop.

Vad är ett funktionssamtal?

Ett funktionsanrop kallas också ett subrutinanrop. En subrutin (även känd som ett förfarande, funktion, metod eller rutin) är en del av ett större program som ansvarar för att utföra en specifik uppgift. Det större programmet kan utföra en tung arbetsbelastning, och underrutinen kan bara utföra en enkel uppgift, som också är oberoende av återstående programkodning. En funktion är kodad på ett sådant sätt att den kan kallas flera gånger och från olika platser (även från andra funktioner). När en funktion anropas kan processorn gå till där koden för funktionen finns och utföra instruktionerna för funktionen en efter en. Efter att ha slutfört funktionerna återgår processorn till exakt var den slutade och fortsätter körningen från och med nästa instruktion. Funktioner är ett utmärkt verktyg för återanvändning av kod. Många moderna programmeringsspråk stöder funktioner. En samling funktioner kallas ett bibliotek. Bibliotek används ofta som delnings- och handelsprogramvara. I vissa fall kan hela programmet vara en sekvens av underrutiner (t.ex. gängad kodkompilering).

Vad är skillnaden mellan systemanrop och funktionsanrop?

Systemanrop är ett samtal till en subrutin som är inbyggd i systemet, medan ett funktionsanrop är ett samtal till en subrutin inom programmet. Till skillnad från funktionssamtal används systemanrop när ett program behöver utföra någon uppgift som det inte har behörighet för. Systemanrop är ingångspunkter i operativsystemets kärna och är inte länkade till programmet (som funktionssamtal). Till skillnad från systemanrop är funktionsanrop bärbara. Tidsomkostnaderna för ett systemanrop är mer än omkostnaderna för ett funktionsanrop eftersom en övergång mellan användarläget och kärnläget måste ske. Systemanrop körs i kärnadressutrymme, medan funktionssamtal utförs i användaradressutrymme.

Rekommenderas: