Ugrás a tartalomhoz

Operációs rendszerek gyakorlat

Dr. Adamkó Attila (2010)

Kempelen Farkas Hallgatói Információs Központ

1. fejezet - Bevezetés

1. fejezet - Bevezetés

Az operációs rendszer fogalma

A számítógép utasítások nélkül olyan, mint egy dobozba zárt vaslerakat. Önmagától a legegyszerűbb dolgokat sem tudja végrehajtani, semmilyen műveletet sem képes elvégezni. Ahhoz, hogy a számítógép munkát végezhessen speciális programra van szükség.

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."

A hangsúly itt a kommunikáción van. A korai számítógépekkel a kommunikáció bonyolult kapcsolókból és kijelzőkből álló konzolon (főpanelon) keresztül történt. Az első és második generációs gépeknél igazából nem volt operációs rendszer, pontosabban leginkább csak hardver elemekből állt ( különféle kapcsolók, címkiválasztó kulcsok, indító-, megállító-, lépésenkénti végrehajtást kiváltó gombok stb. ).

A harmadik generációban (1965 körül) alakult ki a - már túlnyomó részben - szoftverrel megvalósított operációs rendszer, amit ma már mindenki operációs rendszernek tart. Később vezérlő nyelvek készültek az utasítások átadására, valamint programozási nyelvek a problémák kódolására. A terminálok tették lehetővé, hogy e két műveletet egy hardvereszközzel tudjuk megoldani, azonban a kapcsolattartás tipikusan „szöveges" jellege megmaradt. Ezek közül a legkorszerűbbnek annak idején a menü vezérelt kapcsolat számított.

A számunkra ma személyi számítógépként ismert doboz az IBM PC-kkel indult, amin leginkább a DOS (Disk Operation System) hódított teret, ami karakteres képernyőn parancsok beírásával, üzenetek kiírásával kommunikált a felhasználóval. Egyszerre csak egy felhasználót tudott kiszolgálni, illetve egy programot tudott futtatni. Az előző generációhoz képest jóval felhasználó barátabb volt, de a hosszú parancsokat minden esetben be kellett gépelni (és fejben kellett tartani a szintaktikát). Félreírás esetén pedig vagy nem hajtódott végre a parancs, vagy ha a gép számára értelmezhető volt, akkor nem az történt, amit a felhasználó várt volna. Érdemes megemlíteni, hogy a DOS nevet nem szabad egyértelműen a Microsofthoz kötni, mert számos különböző cég által fejlesztett DOS létezett és mai napig is több verzió él. Azonban szerepük megkopott.

Mára a karakteres terminálok helyét a a grafikus megjelenítés vette át. A grafika lehetőségeinek növekedésével terjed a kép-orientált kapcsolattartás, amelyet grafikus interfésznek (GUI - Graphical User Interface) hívnak. Ennél a menüelemek nemcsak szövegesen, hanem képecskék, ún. ikonok formájában, maguk a menük pedig vagy legördülő táblákon, vagy külön, a képernyő más részein átlapoló ablakokban jelennek meg.

Összességében elmondhatjuk, hogy operációs rendszernek (Operating System) nevezzük mindazon programok összességét, amelyek felügyelik és vezérlik a felhasználói programok végrehajtását, ellenőrzik és összehangolják a számítógép különböző erőforrásainak működését. A programozók szempontjából például egy magasszintű programnyelv használata során nem kell azzal foglalkoznia egy feladat programozásakor, hogy az alkalmazott változók és a program a tárban milyen címre kerülnek. Hogyan és pontosan hol helyezkednek el a háttértárolón az adatok, milyen sorrendben hajtódnak végre a különböző programok, hogyan biztosítja a rendszer az adatok védelmét illetéktelen hozzáférésektől. Ilyen és ehhez hasonló számtalan feladatot oldanak meg az operációs rendszer programjai. A számítógéprendszer összehangolt működését legmagasabb szinten biztosító operációs rendszer feladatát több alrendszer jellegű program aktivizálásával oldja meg. Ezek a különböző számítógép környezetekben esetenként kissé más csoportosításban jelennek meg, bizonyos határfeladatokat más alprogramok látnak el, ezért nehéz egységes, általános érvényű szoftvercsoportosítást meghatározni. Az operációs rendszer nem teljesen egyértelmű fogalom. Tartalma függ a hagyományoktól, a hardverréteg jellemzőitől és a különböző szolgáltatásoknak a teljes rendszeren belül való elosztásától. Az operációs rendszert tehát környezetéből kiragadva (géptől függetlenül) nem lehet meghatározni.

Összegezve az operációs rendszer, egy a hardvert működtető rendszer, amelynek alapvető feladata, hogy kapcsolatot teremt és tart fenn a számítógép és a számítógép kezelője, az operátor között. Az operációs rendszer és a felhasználói programok között az a határozott különbség, hogy amíg az operációs rendszer, a hardvert működtető rendszer, addig a felhasználói programok általános igényeket kielégítő, széles körben használható, adott feladatok megoldására, ill. egyéb adatok feldolgozására kifejlesztett, az operációs rendszerre épülő programok, programrendszerek. Használatukhoz alapfokú számítástechnikai ismeret szükséges.

Az operációs rendszerek csoportosítása

Az operációs rendszerek leggyakoribb csoportosítási módjai a következőek:

  1. Felhasználók szempontjából

    • Egyfelhasználós (single user) : DOS

    • Többfelhasználós (multiuser) : UNIX, Novell, Windows XP

  2. Egyidőben futtatható programok száma

    • Egyfeladatos (single task): egyszerre csak egy program futhat a gépen : DOS

    • Többfeladatos (multitask): egyszerre több akár különböző alkalmazás képes futni a gépen (pl. míg a háttérben nyomtat addig írom a következő fejezetet) : UNIX, Windows

  3. Megvalósítás szerint

    • Interaktív: üzenet alapú

    • Nem interaktív: végrehajtás alapú

  4. A gép méretétől függő

    • Mikrogépes

    • Kisgépes

    • Nagygépes (mainframe)

  5. Terjesztési licenc alapján

    • kereskedelmi (DOS, Windows és a UNIX bizonyos kiadásai)

    • szabad (UNIX egyes változatai)

Az operációs rendszer komponensei

Az operációs rendszer komponensei:

  • rendszermag (kernel): Feladata a hardver optimális kihasználásának irányítása, a kért programok futtatása, alkalmazói kéréseknek kiszolgálása.

  • API (Application Programing Interface): Olyan szabálygyűjtemény, mely leírja hogyan kell kérni a szolgáltatásokat a kerneltől, és a kernel válaszát hogyan kapjuk meg.

  • Rendszerhéj (shell): Feladata a parancsértelmezés. Lehet a shell parancssoros ( CLI - Command Line Interface - mint, pl. DOS), vagy grafikus - GUI - felületű (pl. Windows)

  • Szerviz- és segédprogramok (utility): a felhasználói "élményt" fokozó kiegészítő programok (pl szövegszerkesztők, fordítóprogramok), amelyek nem képzik a rendszer elválaszthatatlan részét.

Az operációs rendszerek által ellátandó legfontosabb feladatok:

  • összehangolt működés biztosítása a hardverrel, input/output szinkronizálás (I/O bemeneti/kimeneti műveletek)

  • megszakítási rendszer kezelése

  • több felhasználó igényeinek egyidejű kielégítése (multiprogramozás)

  • központi memória kezelése ( Virtuális memóriakezelés )

  • erőforrások felhasználásának ellenőrzése

  • a processzort, a periférikus erőforrásokat jól kihasználó és a különböző igényeket a lehető legjobban kielégítő működés

  • felhasználóval folytatott kommunikáció, információcsere megvalósítása

  • állománykezelés

  • sokféle, más alkalmazásokhoz kapcsolódó interfészek kezelése.

Szavakkal kifejezve, felületet kell biztosítanunk a felhasználók valamint a futó programok (folyamatok) számára. A memóriakezelés az operációs rendszerekben kritikus rész, mivel egyszerre több programot szeretnénk a memóriába tölteni. Nem megfelelő memóriakezelés nélkül a programok egymás memóriaterületeire írhatnak a rendszer összeomlását okozva ( ld. Windows BSOD [Blue Screen Of Death - Kék Halál] ). A futtatandó programok általában a merevlemezen helyezkednek el, elindításukkor a memóriába töltjük, azaz futó programról vagy folyamatról beszélünk. A számítógéphez csatlakozhat többféle be- vagy kiviteli eszköz amelyeket perifériáknak nevezünk. Az operációs rendszernek ki kell szolgálnia ezeket a hardvereket, adatokat kell átadni és átvenni azoktól. Az adatokat és a programokat valamilyen módon rendszerbe kell foglalni, elérhetővé kell tenni. Ez az állománykezelési feladat. A hardver, illetve valamely szoftver szokatlan vagy nem kívánatos működése esetén az operációs rendszer feladata az adott helyzet kezelése anélkül, hogy a rendszer leállna. Egy működő számítógépen meg kell védenünk az adatainkat, a programjainkat, folyamatainkat, eszközeinket más rosszindulatú vagy óvatlan felhasználóktól, amelyet szintén az operációs rendszer lát el. A hiba kezelése és naplózása nagyon fontos, hogy felderíthető és elhárítható legyen a rendszergaza által. Belépések, folyamatok indítása, leállítása, újraindítása egy számítógépen, egy hálózaton mind fontos információ lehet hibakövetés vagy betörésvédelem során. Az ilyen eseményeket az operációs rendszer ezért feljegyzi, vagy másként mondva naplózza.