A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
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íts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
Rendszermag (angolul kernel): az operációs rendszer alapja (magja), amely felelős a hardver erőforrásainak kezeléséért (beleértve a memóriát és a processzort is).
A tö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 a multiplexá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 kezdeti szá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):
- a monolitikus kernelek gazdag és hatékony absztrakciókat biztosítanak az alattuk található hardware elemekhez;
- a mikrokernelek 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;
- a hibrid vagy mó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;
- az exokernelek (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
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. A Linux rendszer magja még kifejlesztése után 15 év elteltével is monolitikus felépítésű, noha Andrew 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:
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
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ül Jochen Liedtke német egyetemista bizonyításképpen meg nem alkotta 1993-ban az L3 kernelt. Érdekesség, hogy felépítésre az AmigaOS 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
- AmigaOS az egyik legkorábbi kereskedelmi forgalomban megjelent mikrokernel
- AIX
- Chorus mikrokernel
- EROS
- K42
- KeyKOS (nanokernel)
- az L4 mikrokernel család, az L3 kernel utóda
- Mach (kernel), amit a GNU Hurd és a Mac OS X használ
- Minix
- MorphOS
- QNX
- RadiOS
- Spring mikrokernel
- VSTa
- Singularity a Microsoft kísérleti rendszere, mely egyetlen címteret használ, így sebessége megegyezik a monolitikus kernelekkel
Hibrid kernelek
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
- Windows NT, amit a Microsoft Windows NT alapú termékek használnak
- XNU
- DragonFly BSD
- ReactOS
- BeOS kernel
Exokernelek
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ább 1995 óta létezik , 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 a Nemesis, melyet a Cambridge-i Egyetem, a Glasgow-i Egyetem, a Citrix Systems és a Svéd Számítógéptudományi Intézet dolgozott ki. Az MIT is számos exokernel alapú rendszert épített már.
További információk
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.
Analóg multiméterek túlterhelés elleni védelme
Egyenáram
Egyenáram mérése
Egyenirányítós lengőtekercses műszer
Elektromágnes (fizika)
Elektromos feszültség
Elektromos térerősség
Fáziseltolódás
Fázismutató
Fajlagos ellenállás
Feszültséggenerátor
Feszültségváltó
Forgó mágneses tér
Háromfázisú hálózat
Hőelektromosság
Hatásos ellenállás
A lap szövege Creative Commons Nevezd meg! – Így add tovább! 3.0 licenc alatt van; egyes esetekben más módon is felhasználható. Részletekért lásd a felhasználási feltételeket.