Készítette: Kosztyán Zsolt Operációs rendszerek Készítette: Kosztyán Zsolt kzst@almos.vein.hu kzst@vision.vein.hu
Operációs rendszerek - alapfogalmak Számítógépes rendszer Software Hardware Erőforrás fizikai erőforrások (hardware eszközök) logikai erőforrások (software eszközök)
Operációs rendszerek - alapfogalmak Fontosabb fizikai erőforrások: Központi vezérlő egység (CPU = Central Process Unit), Operatív memória, Háttér tárolók (lemezek, szalagok), Belső kiszolgáló eszközök (pl. belső óra, különböző időzítők).
Operációs rendszerek - alapfogalmak A logikai erőforrások az információk olyan gyűjteményét szolgáltatják, mint az adatok és a programok. Logikai erőforrásokat mindig fizikai erőforrásokon tárolunk. Néhány példa ezekre az elemekre: Végrehajtás alatt levő programok (processek). Állományok (file-ok, file rendszerek). Közösen használt programok és adatok. Eljárások, amelyek hasznos szolgáltatásokat nyújtanak.
Operációs rendszerek - alapfogalmak A program egy algoritmust megvalósító utasítások sorozata, függetlenül attól, hogy azok magas szintű nyelven, vagy akár bináris gépi kódban van ábrázolva és tárolva A folyamat egy éppen végrehajtás alatt lévő program
Operációs rendszerek - alapfogalmak Rendszerprogramok olyan eljárásokat hajtanak végre, amelyekre a rendszer minden felhasználójának szüksége lehet. Fordítók (compilerek, interpreterek) Ellenőrzésért felelős programok Hibák felismeréséért felelős programok számítógépes rendszer biztonságos működéséért felelős programok
Operációs rendszerek - alapfogalmak Operációs rendszer fogalma: Erőforrás szemlélet: A folyamatok egy olyan csoportja, amely a felhasználói folyamatok között elosztja az erőforrásokat Felhasználói szemlélet: A folyamatok egy olyan csoportja, amely megkíméli a felhasználókat a hardware kezelés nehézségeitől és kellemesebb alkalmazói környezetet biztosít
Operációs rendszerek - alapfogalmak Rendszermag (KERNEL) A rendszer magjának feladata az erőforrások elosztása és kezelése, a felhasználói folyamatok igényeinek kielégítése, adminisztrálása
Operációs rendszerek feladatai Erőforrások szervezése támogassa a kényelmes használatot támogassa és elősegítse az ellenőrzött kiosztást (hatékony és igazságos legyen) Felhasználói felület biztosítása Parancs felület Program felület
Operációs rendszerek feladatai Programok szervezése többprogramos (multiprogramming/ multitasking) rendszerek I/O kezelés Megszakítás kezelés Memória kezelés Állománykezelés
Operációs rendszerek feladatai Elem és csomag kezelés (Job and Session Management) Hiba kezelés Felügyelet és elszámolás
Operációs rendszerek feladatai Forráskódok szervezése Társzervezés Rezidens – tranziens programok Adaptálhatóság
A felhasználói felület A kommunikáció két irányban valósul meg: egyrészt a felhasználó jelez a rendszernek, ha valamilyen szolgáltatást igényel, másrészt a rendszer küld információt a kért szolgáltatások teljesítéséről. A kapcsolattartásnak is két módja ismert: közvetlen kapcsolattartás során egy interaktív terminálon gépeljük le a parancsot, közvetett igény során a programokból adjuk ki a szolgáltatást igénylő utasítást.
A felhasználói felület A parancs felület magas szintű kommunikációt biztosít a felhasználó és az OR között, irányítja a programok futását. A program felület kezeli a futó programokat. Az OR ezen a részrendszeren keresztül tartja a kapcsolatot a programok és a rendszer által ellenőrzött erőforrások és szolgáltatások között.
Folyamatok szervezése Amikor a számítógépnek egy CPU-ja van, akkor a folyamatok egymás után hajtódnak végre. Ilyenkor szekvenciális folyamatokról beszélünk. Multiprogramozás esetében azonban a számítógép erőforrásai egyidejűleg több folyamat között is felosztásra kerülhetnek, így előfordulhat, hogy egy meghatározott időpontban több folyamat is végrehajtás alatt van. Ilyenkor a folyamatokat közbeékelt-nek nevezzük.
A tevékenység leírása A folyamatok jellemzőinek leírására a PCB-t használjuk. Ez tartalmaz minden olyan információt, amelyre szükségünk lehet a process követése során. (A PCB mérete OR-enként változó lehet.)
A tevékenység leírása A folyamat neve, amelyet azonosításra használunk. Néhány rendszer megkülönböztet külső nevet, amely karakteresen tárolt, és a felhasználókat segíti, valamint belső nevet, amely többnyire egy egész, és az OR általi azonosítást könnyíti meg. A folyamat állapota, amely vagy egy direkt kód az állapot leírására, vagy pointer egy olyan struktúrára, amely az állapotot írja le. A folyamat környezet egy olyan terület, amely a regiszterek tartalmának és egyéb információknak a tárolására szolgál.
A tevékenység leírása A felhasznált memória azt mondja meg, hogy mennyi helyet allokáltunk a tevékenység számára, hol helyezkednek el a programkódok és az adatok. A folyamat prioritás azt írja le, hogy milyen relatív fontossága van a tevékenységnek a többiekhez viszonyítva. Ezt akkor használja az OR, ha több folyamat várakozik egy erőforrásra, illetőleg, ha ütemeznie kell a folyamatokat. A szükséges erőforrások leírása arról tájékoztat, hogy melyek azok az erőforrások, amelyeket éppen használunk, és bizonyos esetekben a jövőbeli igények megjelölésére is szolgál.
A tevékenység leírása Az összefüggések leírása olyan információk tárolására szolgál, amelyek a folyamatok közötti viszonyt írják le. Ezek az összefüggések többnyire azokra a tevékenységekre vonatkoznak, amelyeket a szóban forgó folyamat létrehozott. Az elszámolási információk rögzítik az időparamétereket, a felhasznált erőforrásokat, a folyamat "tulajdonosának" nevét, és minden olyan információt, amelyet egy későbbi analízis során felhasználhatunk.
Tevékenységek és erőforrások kapcsolata minden olyan tevékenység, amely nem tudja használni a CPU-t vagy nem áll a rendelkezésére megfelelő allokálható memória, kénytelen várakozni mindaddig, amíg ezek felszabadulnak. A várakozó tevékenységek sorban állnak. Ha néhány közülük megkezdhető, akkor el kell dönteni, hogy melyikük kerül először végrehajtásra. Ez az ütemezés feladata.
Tevékenységek párhuzamos végrehajtása
Ütemezés - folyamatok A batch-processzek alkotják az első osztályt. Ezek egy job-ban foglalnak helyet, amelyet a felhasználó egységes egészként kezel. Jellemzőjük, hogy a végrehajtásuk általában hosszú időt vesz igénybe, és ez idő alatt a felhasználó nem lép kapcsolatba a futó folyamatokkal. Interaktívnak nevezzük azokat a folyamatokat, amelyek egy interaktív terminálról elküldött felhasználói igényeket elégítenek ki. Ezek általában rövid lefutású tevékenységek, amelyeket befolyásolhat a végrehajtás ideje alatt küldött felhasználói parancs.
Ütemezés - folyamatok Real-time folyamatokról beszélünk abban az esetben, ha a tevékenység a rendszeren kívül lezajló műveleteket figyel, ellenőriz és irányít. Ezekre a folyamatokra az a jellemző, hogy rendkívül erősen behatárolt idő állt rendelkezésükre a válaszadáshoz, és többnyire szoros kapcsolatban állnak valamelyik I/O készülékkel.
Ütemezés Prioritások: A folyamatokhoz rendelt mérőszám a többiekhez viszonyított relatív fontosságot adja meg. A prioritás koncepciója lehetőséget ad arra, hogy a döntéseket különböző szintekre oszthassuk. statikus prioritásról akkor beszélünk, ha a kezdetben kapott prioritási érték a folyamat élettartama alatt nem változik meg. dinamikus prioritással akkor rendelkezik egy folyamat, ha a prioritás aktuális értéke a státuszának alakulásával időben változik.
Megszakítások Megszakítás I/O művelet befejezése miatt Riadó megszakításról Timer megszakítás Programhiba megszakítás Rendszer megszakítás Készülék hiba megszakítás
Memóriaszervezés Statikus áthelyezésről akkor beszélünk, ha az a betöltéssel egyidőben vagy az előtt történik. Dinamikus áthelyezés a program futása közben is végrehajtható.
Állományszervezés Az egy fizikai egységen elhelyezkedő állományokat kötetnek (volume) fogjuk nevezni. Könyvtárak, állományok CP/M: B:allkez.TXT UNIX: /usr/gal/konyv/fej12.t VMS: vaxa:dk1:[gal.konyv.fej]allkez.txt;9 MS-DOS: C:\gal\konyv\fej\allkez.doc OS/MVT: gal.konyv.fej.allkez
Osztott Operációs Rendszerek OR-k többprocesszoros környezetben kapcsolattartás az osztott memóriákkal üzenetek továbbítása az első két lehetőség kombinációja OR-k hálózatokon Hálózati kommunikációra alkalmas OR-t telepítünk a már meglevő OR ”fölé”. Ezt a rendszert szokásos hálózati OR-nek (NOS = Network Operating System) nevezni. Osztott OR-t istallálunk a hálózat minden gépen. Ez az un. osztott OR (Distributed OS).
Irodalom Knapp Gábor – Adamis Gusztáv: Operációs rendszerek, LSI 2000 Móricz Attila: OS/2 Warp, LSI 2000 Szász Gábor – Kun István – Zsigmond Gyula: Kommunikációs rendszerek, LSI 2000 Jedlovszky Pál: UNIX lépésről – lépésre, LSI 2000
Köszönöm a figyelmet!