logo

Mi az a Kernel?

A számítástechnikában, A kernel egy számítógépes program, amely egy operációs rendszer magja vagy szíve. Mielőtt részletesen tárgyalnánk a kernelt, először ismerjük meg annak alapját, azaz az operációs rendszert a számítógépben.

Operációs rendszer

Az operációs rendszer vagy operációs rendszer olyan rendszerszoftver, amely interfészként működik a hardverkomponensek és a végfelhasználó között. Lehetővé teszi más programok futtatását. Minden számítógépes rendszernek, legyen az asztali, laptop, táblagép vagy okostelefon, mindegyiknek rendelkeznie kell egy operációs rendszerrel, amely biztosítja az eszköz alapvető funkcióit. Néhány széles körben használt operációs rendszer ablakok , Linux , MacOS, Android , iOS stb.

Mi az a Kernel az operációs rendszerben?

Mi az a Kernel
  • Mint fentebb tárgyaltuk, a kernel az operációs rendszer (operációs rendszer) központi része; így teljes irányítása van a rendszerben minden felett. A hardver és szoftver minden műveletét a kernel kezeli és adminisztrálja.
  • Hídként működik az alkalmazások és a hardver szinten végzett adatfeldolgozás között. Ez az operációs rendszer központi eleme.
  • Ez az operációs rendszer azon része, amely mindig a számítógép memóriájában található, és lehetővé teszi a kommunikációt a szoftver és a hardver összetevői között.
  • Ez az a számítógépes program, amely először a rendszer indításakor (a rendszerbetöltő után) töltötte be. Betöltés után kezeli a fennmaradó indításokat. Ezenkívül kezeli a szoftverből származó memória-, periféria- és I/O-kéréseket. Ezenkívül az összes I/O kérést a CPU adatfeldolgozási utasításaivá alakítja. Más feladatokat is ellát, mint pl mint memóriakezelés, feladatkezelés és lemezkezelés .
  • A kernelt tárolják és általában külön memóriaterületbe töltik be, az úgynevezett védett kernelterület. Védve van attól, hogy az alkalmazásprogramok vagy az operációs rendszer kevésbé fontos részei hozzáférjenek.
  • Más alkalmazási programok, például böngésző, szövegszerkesztő, audio- és videolejátszó, külön memóriaterületet használnak felhasználói tér.
  • Ennek a két különálló helynek köszönhetően a felhasználói adatok és a kerneladatok nem zavarják egymást, és nem okoznak instabilitást és lassúságot.

A kernel funkciói

Az operációs rendszer kernelje különféle funkciók végrehajtásáért felelős, és uralja a rendszert. A Kernel néhány fő feladatait az alábbiakban ismertetjük:

    Eszköz kezelés
    A különféle műveletek végrehajtásához a folyamatoknak hozzáférésre van szükségük a számítógéphez csatlakoztatott perifériás eszközökhöz, például egérhez, billentyűzethez stb. Egy kernel felelős ezeknek az eszközöknek az eszközillesztők segítségével történő vezérléséért. Itt egy eszközvezérlő egy számítógépes program, amely segíti vagy lehetővé teszi, hogy az operációs rendszer bármilyen hardvereszközzel kommunikáljon.
    A kernel egy listát tart fenn az összes elérhető eszközről, és ez a lista már ismert, a felhasználó által beállított vagy az operációs rendszer által futás közben észlelt lehet.Memóriakezelés
    A kernel teljes mértékben szabályozza a számítógép memóriájának elérését. Minden folyamat működéséhez némi memória szükséges, és a kernel lehetővé teszi, hogy a folyamatok biztonságosan hozzáférjenek a memóriához. A memória lefoglalásához az első lépést ún virtuális címzés, amely lapozással vagy szegmentálással történik. Virtuális címzés egy olyan folyamat, amely virtuális címtereket biztosít a folyamatoknak. Ez megakadályozza, hogy az alkalmazások egymásba ütközzenek.Erőforrás menedzsment
    A Kernel egyik fontos funkciója az erőforrások megosztása a különböző folyamatok között. Meg kell osztania az erőforrásokat úgy, hogy minden folyamat egységesen hozzáférjen az erőforráshoz.
    A kernel lehetőséget biztosít a szinkronizálásra és folyamatok közötti kommunikáció (IPC). Felelős a folyamatok közötti kontextusváltásért.Számítógépes erőforrások elérése
    A kernel felelős a számítógépes erőforrásokhoz, például a RAM-hoz és az I/O-eszközökhöz való hozzáférésért. RAM vagy véletlen hozzáférésű memória adatok és utasítások tárolására szolgál. Minden programnak hozzá kell férnie a memóriához a végrehajtáshoz, és többnyire több memóriát szeretne, mint amennyi rendelkezésre áll. Ilyen esetekben a kernel betölti a szerepét, és eldönti, hogy az egyes folyamatok melyik memóriát használják, és mit tegyenek, ha a szükséges memória nem áll rendelkezésre.
    A kernel az alkalmazásoktól is lefoglalja az I/O eszközök (például billentyűzetek, mikrofonok, nyomtatók stb.) használatára vonatkozó kéréseket.

Kernel típusai

Főleg ötféle kernel létezik, amelyeket az alábbiakban adunk meg:

Mi az a Kernel

1. Monolit kernelek

Egy monolit kernelben a ugyanazt a memóriaterületet használják a felhasználói szolgáltatások és a kernelszolgáltatások megvalósítására.

Mi az a Kernel

Ez azt jelenti, hogy az ilyen típusú kernelben nincs különböző memória a felhasználói szolgáltatásokhoz és a kernelszolgáltatásokhoz.

Mivel ugyanazt a memóriaterületet használja, a kernel mérete növekszik, növelve az operációs rendszer teljes méretét.

char int

A folyamatok végrehajtása is gyorsabb, mint más kerneltípusoknál, mivel nem használ külön felhasználói és kernelterületet.

java mvc

Példák a monolitikus kernelek közül Unix, Linux, Open VMS, XTS-400 stb.

Előnyök:

  • A folyamatok végrehajtása is gyorsabb, mivel nincs külön felhasználói terület és kernelterület, és kevesebb a szoftver.
  • Mivel egyetlen szoftverről van szó, a forrásai és a lefordított űrlapjai is kisebbek.

Hátrányok:

  • Ha bármely szolgáltatás hibát generál, az az egész rendszert összeomolhatja.
  • Ezek a kernelek nem hordozhatók, ami azt jelenti, hogy minden új architektúra esetén újra kell írni őket.
  • Nagy méretű, ezért nehezen kezelhetővé válik.
  • Új szolgáltatás hozzáadásához a teljes operációs rendszert módosítani kell.

2. Mikrokernel

Mi az a Kernel

A mikrokernelt más néven MK , és eltér a hagyományos kerneltől vagy a monolitikus kerneltől. Ebben, A felhasználói szolgáltatások és a kernelszolgáltatások két különböző címtérben vannak megvalósítva: a felhasználói térben és a kerneltérben . Mivel mindkét szolgáltatáshoz különböző tereket használ, így a mikrokernel mérete csökken, ami az operációs rendszer méretét is csökkenti.

A mikrokernelek könnyebben kezelhetők és karbantarthatók, mint a monolit kernelek. Mégis, ha több lesz a rendszerhívás és a kontextusváltás, az csökkentheti a rendszer teljesítményét azáltal, hogy lelassítja.

Ezek a kernelek egy üzenettovábbítási rendszert használnak a kérések egyik kiszolgálóról a másikra történő kezelésére.

Csak néhány alapvető szolgáltatást biztosítanak a mikrokernelek, mint például a memóriacímterek meghatározása, az IPC (Interprocess Communication) és a folyamatkezelés. Más szolgáltatásokat, mint például a hálózatépítést, nem a Kernel biztosítja, és egy felhasználói térprogram kezeli szerverek .

A monolitikus kernelek egyik fő hátránya, hogy a kernel hibája az egész rendszert összeomolhatja, a mikrokernelben eltávolítható. A mikrokernelhez hasonlóan, ha egy kernelfolyamat összeomlik, a hiba okozta szolgáltatások újraindításával az egész rendszer összeomlása még megelőzhető.

Példák a Microkernel L4, AmigaOS, Minix, K42 stb.

Előnyök

  • A mikrokernelek könnyen kezelhetők.
  • Egy új szolgáltatás egyszerűen hozzáadható a teljes operációs rendszer módosítása nélkül.
  • Mikrokernelben, ha egy kernelfolyamat összeomlik, még mindig meg lehet akadályozni, hogy az egész rendszer összeomoljon.

Hátrányok

mi az svn checkout
  • Az interfészhez több szoftverre van szükség, ami csökkenti a rendszer teljesítményét.
  • A folyamatkezelés nagyon bonyolult.
  • Az üzenetküldési hibákat nehéz kijavítani.

3. Hibrid kernel

Mi az a Kernel

A hibrid kerneleket más néven moduláris kernelek , és ez a monolit és a mikrokernelek kombinációja. Kihasználja a monolit kernelek sebességét és a mikrokernelek modularitását.

A hibrid kernel egy mikrokernel kiterjesztett változataként értelmezhető, amely a monolitikus kernel további tulajdonságaival rendelkezik. Ezeket a kerneleket széles körben használják a kereskedelmi operációs rendszerekben, például az MS Windows különböző verzióiban.

Sokban hasonlít a mikrokernelhez, de tartalmaz néhány további kódot is a kerneltérben a rendszer teljesítményének javítása érdekében.

A hibrid kernelek lehetővé teszik bizonyos szolgáltatások futtatását, mint pl hálózati verem a kerneltérben csökkenti a teljesítményt a hagyományos mikrokernelhez képest, de továbbra is lehetővé teszi a kernelkód (például eszközmeghajtók) futtatását szerverként a felhasználói térben.

Hibrid kernel például a Windows NT, Netware, BeOS stb.

Előnyök:

szándékos szándék
  • A teszteléshez nincs szükség újraindításra.
  • A harmadik féltől származó technológia gyorsan integrálható.

Hátrányok:

  • Több hiba is előfordulhat több interfészen keresztül.
  • Egyes rendszergazdák számára zavaró feladat lehet a modulok karbantartása, különösen akkor, ha olyan problémákkal kell foglalkozni, mint például a szimbólumok közötti különbségek.

4. Nanokernel

Ahogy a név is sugallja, Nanokernelben a kernel teljes kódja nagyon kicsi, ami azt jelenti, hogy a hardver privilegizált módjában végrehajtott kód nagyon kicsi . Itt a nano kifejezés olyan kernelt definiál, amely támogatja a nanoszekundumos órajel felbontást.

Példák Nanokernelre EROS stb.

Előnyök

  • Nagyon kis méret mellett is hardveres absztrakciót biztosít.

Hátrányok

  • A Nanokernelből hiányoznak a rendszerszolgáltatások.

5. Exokernel

Az Exokernel még mindig fejlesztés alatt áll, és az operációs rendszer tervezésének kísérleti megközelítése.

Ez a kerneltípus ebben különbözik a többi kerneltől; az erőforrások védelme elkülönítve van a menedzsmenttől, ami lehetővé teszi számunkra, hogy alkalmazás-specifikus testreszabást hajtsunk végre.

Előnyök:

  • Az exokernel alapú rendszer több könyvtári operációs rendszert is tartalmazhat. Minden könyvtár más API-t exportál, például az egyik magas szintű felhasználói felület fejlesztésre, a másik pedig valós idejű vezérlésre használható. .

Hátrányok:

  • Az exokernel kialakítása nagyon összetett.

Mi az a Kernel Panics?

Ahogy már említettük, ez a kernel az egész számítógépes rendszert vezérli; így ha összeomlik, lebonthatja az egész rendszert. MacOS-ban és Linuxban egy ilyen nemkívánatos eseményt ' Kernel Panic. A kernel Panicból való helyreállításhoz újra kell indítanunk a rendszert.

kapcsolja ki a fejlesztői módot

Általában ezeket a kernelpánikokat hardveres kommunikációs problémák okozzák. Ezért, ha ismétlődő kernelpánik lép fel, próbálja meg kihúzni a kevésbé szükséges vagy szükségtelen eszközöket, és ellenőrizze, hogy a probléma megoldódott-e vagy sem.