Különbség A Rendszerhívás és A Funkcióhívás Között

Különbség A Rendszerhívás és A Funkcióhívás Között
Különbség A Rendszerhívás és A Funkcióhívás Között

Videó: Különbség A Rendszerhívás és A Funkcióhívás Között

Videó: Különbség A Rendszerhívás és A Funkcióhívás Között
Videó: BIOS, UEFI, Fájlrendszerek 2024, Április
Anonim

Rendszerhívás vs Funkcióhívás

Egy tipikus processzor egyesével hajtja végre az utasításokat. De előfordulhatnak olyan esetek, amikor a processzornak le kell állítania az aktuális utasítást, és végre kell hajtania valamilyen más programot vagy kódszegmenst (máshol tartózkodik). Ezt követően a processzor visszatér a normál végrehajtáshoz, és onnan folytatja, ahol abbahagyta. Ilyen alkalom a rendszerhívás és a függvényhívás. A rendszerhívás a rendszerbe épített szubrutin hívása. A függvényhívás egy szubrutin hívása magában a programban.

Mi az a rendszerhívás?

A rendszerhívások a számítógépen futó programoknak interfészt biztosítanak az operációs rendszerrel való beszélgetéshez. Amikor egy programnak szolgáltatást kell kérnie (amelyre önmagában nincs engedélye) az operációs rendszer kerneljétől, akkor rendszerhívást használ. A felhasználói szintű folyamatok nem rendelkeznek ugyanazokkal az engedélyekkel, mint az operációs rendszerrel közvetlenül kölcsönhatásban lévő folyamatok. Például egy I / O eszközzel való kommunikációhoz vagy bármely más folyamathoz való interakcióhoz a program rendszerhívásokat használ.

Mi az a funkcióhívás?

A függvényhívást szubrutin hívásnak is hívják. A szubrutin (más néven eljárás, funkció, módszer vagy rutin) egy nagyobb program része, amely egy adott feladat végrehajtásáért felel. A nagyobb program nagy terhelést hajthat végre, és az alprogram csak egy egyszerű feladatot hajthat végre, amely szintén független a fennmaradó programkódolástól. A függvényeket úgy kódolják, hogy többször is meghívhatók, és különböző helyekről (akár más funkciókból is). Ha egy függvényt meghívnak, a processzor elmehet oda, ahol a funkció kódja található, és egyenként végrehajtja a függvény utasításait. A funkciók elvégzése után a processzor visszatér pontosan oda, ahol abbahagyta, és a következő utasítástól kezdve folytatja a végrehajtást. A funkciók nagyszerű eszköz a kód újrafelhasználására. Számos modern programozási nyelv támogatja a funkciókat. A függvények gyűjteményét könyvtárnak nevezzük. A könyvtárakat gyakran használják a szoftverek megosztására és kereskedésére. Bizonyos esetekben az egész program szubrutinok sorozata lehet (pl. Menetes kódfordítás).

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 szubrutin hívása, míg a függvényhívás a programon belüli szubrutin hívása. A függvényhívásoktól eltérően a rendszerhívásokat akkor alkalmazzák, amikor a programnak valamilyen feladatot kell végrehajtania, amelyre nincsenek kiváltságai. A rendszerhívások az operációs rendszer kernelének belépési pontjai, és nem kapcsolódnak a programhoz (például a funkcióhívásokhoz). A rendszerhívásoktól eltérően a funkcióhívások hordozhatóak. A rendszerhívás időbeli többlete meghaladja a függvényhívás általános költségét, mivel át kell menni a felhasználói mód és a kernelmód között. A rendszerhívásokat a rendszermag címterében, míg a függvényhívásokat a felhasználói címtérben hajtják végre.

Ajánlott: