Movatterモバイル変換


[0]ホーム

URL:


Ugrás a tartalomhoz
Wikipédia
Keresés

Rendszermag

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

Változat állapota

Ez a lap egy ellenőrzött változata

Ez aközzétett változat,ellenőrizve:2023. szeptember 3.

Pontosságellenőrzött

Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során.Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segítsmegbízható forrásokat találni az állításokhoz! Lásd még:A Wikipédia nem az első közlés helye.

Rendszermag (angolulkernel): azoperációs rendszer alapja (magja), amely felelős ahardvererőforrásainak kezeléséért (beleértve amemóriát és aprocesszort is).

Atöbbfeladatos rendszerekben – ahol egyszerre több program is futhat – a kernel felelős azért, hogy megszabja, hogy melyik program és mennyi ideig használhatja a hardver egy adott részét (ezen módszer neve amultiplexálás). A hardverelemek használata gyakran bonyolult programrészeket igényel, ezért ezt a feladatot gyakran egységes, absztrakt hardverelérést biztosító részekkel támogatja. Ezek a részek elrejtik a bonyolult módszereket és egy tiszta, egyszerű felületet biztosítanak, amivel megkönnyítik a hardverelemeket használó programozók munkáját.

A rendszermag nem „látható” program, hanem a háttérben futó, a legalapvetőbb feladatokat ellátó program.

Egy számítógép működéséhez nem feltétlenül szükséges operációs rendszer és annak magja: az egyes programok közvetlenül betölthetőek és használhatóak a „csupasz vason”, feltéve, hogy a programozó vállalja azt, hogy mindent közvetlenül, operációs rendszeri segítség nélkül fog kezelni. A kezdetiszámítógépek esetén ez volt a normális működési mód: minden egyes új program elindításához a gépet újra kellett indítani. Az idő előrehaladtával apró segédprogramok, rutinok állandósulni kezdtek, azokat több programhoz is használták, és kialakultak azok a szokásos programrészek, melyeket újraindítás után újra használni szerettek volna, mint például egyes betöltő (indító,boot) programok vagy hibakeresők. Ezekből alakultak ki a kezdeti operációs rendszerek.

A kerneleknek négy fő kategóriáját különböztethetjük meg (eltekintve azon programkörnyezetektől, melyek kernel nélkül futnak):

  • amonolitikus kernelek gazdag és hatékony absztrakciókat biztosítanak az alattuk található hardware elemekhez;
  • amikrokernelek egy kis méretű alapkészletet biztosítanak a hardware kezeléséhez, és számos alkalmazással – amiket „szervereknek” nevezünk – biztosítják a további, részletesebb funkcionalitást;
  • ahibrid vagymódosított mikrokernelek hasonlóak a színtiszta mikrokernelekhez de több, részletesebb kódot tartalmaznak a kernelmagban, hogy nagyobb sebességet érjenek el;
  • azexokernelek (vagy rendszer rutinkönyvtárak) nem biztosítanak absztrakciókat vagy állandó rendszermagot, hanem egy programokban használható rutinkönyvtárból állnak, ami a hardver közvetlen vagy közvetett elérését biztosítja.

Monolitikus kernelek

[szerkesztés]
Bővebben:Monolitikus rendszermag

A monolitikus kernel, a számítógépes operációs rendszerek között, az egyetlen nagy programból álló rendszermag, nem pedig különálló, egymással különböző interfészeken keresztül kommunikáló programok összessége, mint napjaink mikrokernelei. ALinux rendszer magja még kifejlesztése után 15 év elteltével is monolitikus felépítésű, nohaAndrew S. Tanenbaum professzor már kezdetben elavultnak nevezte a monolitikus struktúra miatt.

Az operációs rendszerek kutatói manapság már inkább mikrokernellel működő rendszereket javasolnak, hiszen így könnyebb fejleszteni, és a rendszer funkcionalitása is gazdagabb lehet.

Példák monolitikus kernelre:

  • tradicionálisUNIX kernelek, mint amilyenek aBSD-k,
  • aLinux kernel kifejezetten ilyen

Fontos megjegyezni, hogy bár a Linux képes modulokat dinamikusan betölteni, azokat nem felhasználói szinten, elkülönített címtérben futtatja, hanem a saját, ún. kernel-space-ben, ezért tévedés azt feltételezni, hogy mikrokernel lenne.

Mikrokernelek

[szerkesztés]
Bővebben:Mikrokernel

A mikrokernelek azáltal, hogy az általuk nyújtott funkciók nagy részét felhasználói szintre(userspace) helyezték egy plusz absztrakciós szintet biztosítanak. Ennek előnye, hogy a felhasználói szinten futó programrészek szeparáltak (a rendszermagtól éppúgy, mint egymástól), hibáinak vagy működési zavarainak esetén azok nem veszélyeztetik a rendszer egészének a működését, és így a rendszer stabilitása nagy mértékben nő. A Minix például rendelkezik egy ún. reinkarnációs szolgáltatással, melynek lényege, hogy az egyes rendszerkomponensek hibája esetén a kérdéses komponenst – a rendszer többi része számára teljesen transzparens módon – újraindítja, és a működöképességét helyreállítja (lásdöngyógyító rendszer). A mikrokernel hátránya azonban, hogy tervezése nagyobb odafigyelést igényel, mivel ha nem kellő körültekintéssel írják meg, akkor – mint minden új absztrakciós szint bevezetésének köszönhetően – csökken a rendszer teljesítménye, és így esetleg egyes kritikus feladatokat (nagyon gyors és pontos elérést igénylő hardware elemek kezelését) nem tudja hatékonyan megoldani. A múlt században sokáig vitatott téma volt, hogy lehetséges-e hatékonyra írni egy mikrokernelt, míg végülJochen Liedtke német egyetemista bizonyításképpen meg nem alkotta 1993-ban az L3 kernelt.Érdekesség, hogy felépítésre azAmigaOS is mikrokernel, azonban a komponensek ugyanazon címtéren belül futottak, így sokan nem tekintenek rá igazi mikrokernelként. Ugyanakkor a közös címtér lehetővé tette, hogy a rendszerkomponensek közötti üzenetküldéshez elég legyen egy mutató átadása, ezáltal teljesítményben nem maradt el a monolitikus kernelektől.

Példák mikrokernelekre és olyan operációs rendszerekre, melyek mikrokernelt használnak

[szerkesztés]

Hibrid kernelek

[szerkesztés]
Bővebben:Hibrid kernel

A hibrid kernelek alapjában véve olyan mikrokernelek, amelyekben néhány „nem létfontosságú” kódrészletet átmozgattak a felhasználói szintről(userspace) a kernel szintre(kernelspace) azért, hogy az kevesebb absztrakciót használva, gyorsabban fusson.

Néhányan összetévesztik a „hibrid kerneleket” az olyan monolitikus kernelekkel, amelyek indulásuk után modulokat képesek betölteni. Ez helytelen: a „hibrid” kifejezés utal arra, hogy a kérdéses kernelnek mind a monolitikus, mind a mikrokernelek elveit és mechanizmusait alkalmazza; különösen azüzenetcserét (message passing) és a „nem létfontosságú” kódok felhasználói szintre való áthelyezését amellett, hogy néhány ilyen kód teljesítményi okokból a kernelmagba kerül.

Példa hibrid kernelekre

[szerkesztés]

Exokernelek

[szerkesztés]

Az exokernelek radikálisan új megközelítést jelentenek, és az eredmény egy nagyon kis méretű rendszermag. Gyakorlatilag a programozó tudja eldönteni, hogy a kernel mely részeit kívánja alkalmazni, és így a lehető legpontosabban szabályozhatja a hardware hozzáférések módját, és nem alkalmaz olyan rendszermag–részeket, melyekre nincs szüksége.

Az exokernelek elve legalább1995 óta létezik[1], de 2004-ben még mindig inkább csak fejlesztési és kutatási stádiumról beszélhetünk, és jelenleg még nem használják kereskedelmi forgalomban levő vagy elterjedt rendszerekben. Egy exokernelen alapuló rendszer aNemesis, melyet a Cambridge-i Egyetem, a Glasgow-i Egyetem, aCitrix Systems és a Svéd Számítógéptudományi Intézet dolgozott ki. AzMIT is számos exokernel alapú rendszert épített már.

További információk

[szerkesztés]
Általános
Kernel
Komponensek
Folyamatkezelés
Koncepciók
Memóriakezelés és
erőforrás-védelem
Tároló-hozzáférés és
fájlrendszerek
Lista
Egyéb koncepciók
A lap eredeti címe: „https://hu.wikipedia.org/w/index.php?title=Rendszermag&oldid=26413107
Kategória:
Rejtett kategóriák:

[8]ページ先頭

©2009-2025 Movatter.jp