Különbség a rendszerhívás és a függvényhívás között

Anonim

System Call vs Function Call

egy tipikus processzort. De előfordulhatnak olyan esetek, amikor a processzornak le kell állítania az aktuális utasítást, és végre kell hajtania egy másik programot vagy kódszegmenst (más helyen). Ezután a processzor visszatér normál végrehajtássá és folytatódik, ahonnan leállt. Rendszerhívás és funkcióhívás ilyen alkalmak. A rendszerhívás egy hívás a rendszerbe épített alprogramba. A függvényhívás a programon belüli szubrutinhoz való hívás.

Mi a rendszerhívás?

A rendszerhívások lehetővé teszik, hogy a számítógépen futó programok futjanak az operációs rendszerrel. Ha egy programnak szüksége van egy olyan szolgáltatásra (amelyhez nincs engedélye ennek önmagában történő) az operációs rendszer rendszermagjából, rendszerhívást használ. A felhasználói szintű folyamatok nem rendelkeznek ugyanolyan jogosultságokkal, mint az operációs rendszerrel közvetlenül együttműködő folyamatok. Például a külső és a külső I / O eszközökkel való kommunikációhoz vagy bármely más folyamathoz való kapcsolódáshoz a program rendszerhívásokat használ.

Mi az a funkcióhívás?

A függvényhívást szubrutinhívásnak is nevezik. Egy alprogram (más néven eljárás, funkció, módszer vagy rutin) része egy nagyobb programnak, amely felelős egy adott feladat elvégzéséért. A nagyobb program nagy munkaterhelést hajthat végre, és a szubrutin csak egy egyszerű feladatot hajthat végre, amely szintén független a többi program kódolásától. A funkciót olyan módon kódoljuk, hogy többször is megnevezhető és különböző helyekről (még más funkciókból is). Amikor egy függvény hívásra kerül, a processzor megy arra a helyre, ahol a funkció kódja lakik, és végrehajtja a funkció utasításait egyenként. A funkciók befejezése után a processzor pontosan oda fog térni, ahol leállt, és folytatja a végrehajtást a következő utasításból kiindulva. A funkciók nagyszerű eszköz a kód újrafelhasználásához. Számos modern programozási nyelv támogatja a funkciókat. A funkciók gyűjteményét könyvtárnak hívják. A könyvtárakat gyakran használják a szoftverek megosztására és kereskedelmére. Bizonyos esetekben az egész program alprogramok sorozata lehet (például menetes kódok összeállítása).

Mi a különbség a rendszerhívás és a funkcióhívás között?

A rendszerhívás a rendszerbe épített alprogramhoz tartozó hívás, míg a függvényhívás a program alprogramjának hívása. A funkcióhívásoktól eltérően a rendszerhívások akkor használatosak, amikor egy programnak valamilyen feladatot kell végrehajtania, amelyhez nincs jogosultsága. A rendszerhívások belépési pontok az operációs rendszermagba, és nem kapcsolódnak a programhoz (például funkcióhívások).A rendszerhívásoktól eltérően a funkcióhívások hordozhatóak. A rendszerhívás időfelülete több, mint egy funkcióhívás felső szintje, mivel át kell lépni a felhasználói mód és a rendszermag mód között. A rendszerhívások végrehajtása a rendszermag címtartományában történik, míg a függvényhívások végrehajtása a felhasználói címtartományban történik.