Kulcsbeli különbség – Rendszerhívás vs könyvtárhívás
A rendszerhívás és a könyvtárhívás a számítógép operációs rendszeréhez kapcsolódik. A számítógép két üzemmódban működhet; nevezetesen a felhasználói mód és a kernel mód. A fő különbség a rendszerhívás és a könyvtárhívás között az, hogy a rendszerhívás a kernel által biztosított funkció a kernel módba való belépéshez a hardvererőforrások eléréséhez, míg a könyvtárhívás a programkönyvtárak által biztosított funkció. Például az open () egy rendszerhívás, az fopen () pedig egy könyvtárhívás. Amikor az fopen () a C programban, az stdio.h fejléckönyvtárat használja. Ezután az „open (),” rendszerhívást használja a rendszer a kernelből a fájlmegnyitási feladat végrehajtásához.
Mi az a rendszerhívás?
A számítógép két üzemmódban működik. Ezek felhasználói mód és kernel mód. Egyes folyamatok számítógépes rendszeren futnak. A folyamat egy futó program. Amikor alkalmazási programok futnak, a számítógép felhasználói módban van. Ha hardvererőforrásra van szükség, a folyamat kérést küld a kernelnek, és a számítógép kernel módba lép. Ezeket a kéréseket rendszerhívások segítségével küldik el. A számítógép gyakran vált a két üzemmód között. Amikor a feladat befejeződött, a számítógép kernel módból visszatér felhasználói módba. Ezt az üzemmódváltást „környezetváltásnak” nevezik. A rendszerhívások interfészt jelentenek az operációs rendszer és a felhasználói programok között.
01. ábra: Rendszerhívások
Különféle típusú rendszerhívások léteznek. A folyamat létrehozása, leállítása, a folyamat végrehajtása, a memória lefoglalása és felszabadítása a „Process Control System Calls” segítségével végezhető el. A „Fájlkezelő rendszerhívások” fájlok létrehozására, törlésére, olvasására, írására, megnyitására és bezárására használhatók. A folyamat bizonyos erőforrásokat igényel a végrehajtás befejezéséhez. Az eszközök kérése és kiadása az „Eszközkezelő rendszerhívások” segítségével történik. Az „Információkezelő rendszerhívások” segítségével rendszeradatokat, valamint folyamatokat és eszközattribútumokat kaphat. A folyamatok kommunikálnak egymással. Ez a kommunikáció a „Kommunikációs rendszerhívások” használatával történik. Az állapotinformációk küldése, a kommunikációs kapcsolatok létrehozása és törlése, valamint az üzenetek küldése, fogadása kommunikációs rendszerhívások segítségével történhet.
Mi az a Library Call?
A könyvtárhívás a programkönyvtárak által biztosított funkció. Könyvtárhívás előtt a könyvtárat importálni kell. A könyvtárhívás a rendszerhívástól függhet.
C nyelvben ezek a funkciók a programban használhatók a fejlécfájlok hozzáadásával. A fejlécfájlokat az include előfeldolgozási direktíva tartalmazza. Az előfeldolgozó megvizsgálja a megadott fájlt, mielőtt folytatná a forrásfájl többi részével. Néhány általános könyvtári függvény a következő: a „math.h” könyvtár matematikai műveletekkel kapcsolatos függvényeket tartalmaz. Az „stdio.h” könyvtár funkciókat biztosít a bemenet és a kimenet végrehajtásához. Az „fopen()” megnyitja a fájlnevet. Az „fclose()” bezárja a fájlt. A “printf() a formázott kimenetet szabványos kimenetre küldi. Az „fprintf ()” a formázott kimenet adatfolyamba küldésére szolgál. A „scanf()” a formázott bemenet olvasására szolgál a szabványos bemenetről. Az „stdlib.h” a memóriakezeléshez, a „time.h” pedig az idő- és dátumkezelési funkciókat biztosít.
Mi a hasonlóság a rendszerhívás és a könyvtárhívás között?
Mindkettő az operációs rendszerhez kapcsolódik
Mi a különbség a rendszerhívás és a könyvtárhívás között?
Rendszerhívás vs könyvtárhívás |
|
A rendszerhívás a kernel által biztosított funkció a kernel módba való belépéshez a hardvererőforrások eléréséhez. | A könyvtárhívás a programozási könyvtár által biztosított funkció. |
Végrehajtási mód | |
A rendszerhívás kernel módban kerül végrehajtásra. | A Library hívás végrehajtásra kerül felhasználói módban. |
Módváltás | |
A Rendszerhívás váltás felhasználói módból kernel módba. | A Library hívásban nincs váltás felhasználói módból kernel módba. |
Hordozhatóság | |
A rendszerhívás nem hordozható. | A könyvtári hívás hordozható. |
Összefoglaló – Rendszerhívás vs könyvtárhívás
A rendszerhívás a kernelben, a könyvtárhívás pedig a felhasználói térben valósul meg. A rendszerhívás és a könyvtárhívás közötti különbség az, hogy a rendszerhívás a kernel által biztosított funkció a kernel módba való belépéshez a hardver erőforrásokhoz való hozzáféréshez, a könyvtárhívás pedig a programkönyvtárak által biztosított funkció. A könyvtárhívások a feladat végrehajtásához szükséges rendszerhívásoktól függhetnek. Az open (), a fork(), a cd() néhány példa a rendszerhívásokra. Az fopen (), az fprintf () példák a könyvtárhívásokra.
A System Call vs Library Call PDF verziójának letöltése
Letöltheti ennek a cikknek a PDF-verzióját, és offline célokra használhatja az idézet jegyzetének megfelelően. Kérjük, töltse le a PDF verziót innen: Különbség a rendszerhívás és a könyvtári hívás között