A rendszerhívás és a könyvtárhívás közötti különbség

Tartalomjegyzék:

A rendszerhívás és a könyvtárhívás közötti különbség
A rendszerhívás és a könyvtárhívás közötti különbség

Videó: A rendszerhívás és a könyvtárhívás közötti különbség

Videó: A rendszerhívás és a könyvtárhívás közötti különbség
Videó: System Calls 2024, Július
Anonim

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.

A rendszerhívás és a könyvtárhívás közötti különbség
A rendszerhívás és a könyvtárhívás közötti különbség
A rendszerhívás és a könyvtárhívás közötti különbség
A rendszerhívás és a könyvtárhívás közötti különbség

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

Ajánlott: