Operációs Rendszer
Felépítése
Operációs rendszerek felépítése
Az operációs rendszerek alapvetően három részre bonthatók: a felhasználói felület (a shell, amely lehet egy grafikus felület, vagy egy szöveges), alacsony szintű segédprogramok és a kernel (mag) amely közvetlenül a hardverrel áll kapcsolatban.
Vannak olyan operációs rendszerek, melyekben a kernel (mag) és a shell (héj) különválnak, így lehetőség nyílik ezek kombinációjára. Más rendszereknél, mint például a Windowsnál ez a különválasztás mind elméleti, mind gyakorlati szempontból nehezebb.
Négyféle kerneltípus ismert, az úgynevezett
- monolitikus kernel a
- hibrid kernel
- mikrokernel, és a kevésbé ismert
- exokernel.
A Unix monolitikus kernelre épül, ami mára elavultnak tekinthető, bár szerverek esetén szerencsés az ilyen. Ezeken a rendszereken nem különülnek el alapvetően a folyamat vezérlési, tárolási feladatok, illetve a rendszerhívások. A mikrokernel annyira kicsi, amennyire lehet, gyakorlatilag az egyetlen feladata az erőforrások újraelosztása az alkalmazások között. A Linux kernelje hibrid kernel, azonban a programkód fordításakor megszabhatjuk, hogy mely részek kerüljenek betölthető állapotba, illetve melyek ne, így lehetőségünk van akár monolitikus kernel készítésére is, ami különösen szerver operációs rendszerek esetén célszerű. A Windows által használt hibrid kernel is ránézésre egy mikro kernel, de itt kernel módban fut az üzenetkezelés (Application IPC), és az eszközillesztők. (vö.: A Windows Vista új drivermodelljén egyes elemek átkerültek a felhasználói rétegbe)
A kernel feladatai
- Ki- és bemeneti eszközök kezelése (billentyűzet, monitor stb.)
- Programok, folyamatok futásának kezelése
- Indítás, futási feltételek biztosítása, leállítás
- Memória-hozzáférés biztosítása
- Processzor idejének elosztása
- Virtuális gép mutatása a nemkívánt taszkok felé (pontosabban a hardver által biztosított lehetőségek szoftver-kiegészítései)
- Háttértárolók kezelése
- Rendszerhívások kiszolgálása
- Fájlrendszer
- egyéb
A shell feladatai
- Kapcsolattartás a felhasználóval (felhasználói felület)
- Alkalmazások futásának kezelése (indítás, futási feltételek biztosítása, PIT leállítás)
Operációs rendszer indítása
Az operációs rendszer feladatai közé tartozik, hogy felkészítse a számítógépet az alkalmazások futtatására. Az indítási folyamat során pontosan ez történik. Miután a számítógép öntesztje lefutott, a BIOS keresni kezdi az operációs rendszert a rendszertöltő szektorokban, és az elsőt, amit megtalál elindítja. Elsőként a kernel töltődik be és indul el. Innentől rendszerfüggő a folytatás, de nagy vonalakban általánosítható.
- Eszközök inicializálása: A rendszer keresi az új hardvereszközöket, a meglévőkhöz pedig betölti és elindítja az illesztő programot. (DOS-ban pl. config.sys)
- Szolgáltatások elindítása
- Felhasználói interakció megkezdése
- Bejelentkeztetés: Több felhasználós rendszerek esetén mielőtt a felhasználó kapcsolatba lépne a számítógéppel, azonosítania kell magát, általában felhasználói névvel és jelszóval.
- Automatikusan induló programok indítása: Ide tartoznak azok a programok, amik segítik a felhasználó kapcsolattartását a számítógéppel, illetve azok is, amiket ő maga jelölt ki. Tipikus vállalati példa a bejelentkezés után induló e-mail kliens.
Néhány operációs rendszer
Legelterjedtebbek otthoni számítógépeken: