Operációs rendszer

Operációs rendszernek (röviden OS az angol operating system alapján) nevezzük a számítástechnikában a számítógépeknek azt az alapprogramját, mely közvetlenül kezeli a hardvert, és egy egységes környezetet biztosít a számítógépen futtatandó alkalmazásoknak (például szövegszerkesztők, játékok stb.).

A kezelt hardver-erőforrásoknak része többek között a memória, a processzor, a merevlemez és a perifériás eszközök használata.

Az ISO nemzetközi szabványosítási szervezet definíciója szerint az operációs rendszer „olyan programrendszer, amely a számítógépes rendszerben a programok végrehajtását vezérli: így például ütemezi a programok végrehajtását, elosztja az erőforrásokat, biztosítja a felhasználó és a számítógépes rendszer közötti kommunikációt.”

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.

Kernel típusok 

Négyféle kerneltípus ismert:
monolitikus kernel
 hibrid kernel
mikrokernel 
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 monolitikus 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 a modulok futás közbeni, dinamikus betöltésére, ami különösen asztali operációs rendszerek esetén célszerű. A Windows által használt hibrid kernel is ránézésre egy mikrokernel, 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 szoftverkiegé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)
A shell nélkül nem lehet programokat indítani. Tágabb értelemben UNIX alatt minden olyan programot shell-nek hívnak, melyek más alkalmazások elindítására képesek (a szöveges parancssor nem feltétel). Egy shell rendelkezhet grafikus, ikonos indító felülettel is, mint például az Ubuntu Unity vagy az Androidos launcher.

Operációs rendszer 

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.

Operációs rendszer változatok

Legelterjedtebbek otthoni számítógépeken:
 Microsoft Windows
 Linux
 Mac OS X

Történelmi vagy hobbi operációs rendszerek:
 Mac OS
 AmigaOS
 BeOS
 CP/M
 DOS
 GEM
 GeoWorks
 MenuetOS
 MINIX
 MVS
 NetWare
 OS/360
 OS/2
 OpenVMS
 TOS
 TRIPOS
 Xenix

Szervert futtatni képes operációs rendszerek:
 Linux
 Microsoft Servers
 BSD
 Solaris
 IBM AIX

Beágyazott vagy mobil operációs rendszerek
 Android
 IOS
 Blackberry 10
 Windows Phone
 QNX
 Symbian
 HarmonyOS
 Alcatel
 : ma már telepíthetők Linux disztribúciók mobiltelefonra is

Jegyzetek

További információk 

 Dr. Vadász Dénes: Operációs rendszerek (egyetemi jegyzet)
 Operációs rendszerek mérnöki megközelítésben