Ugrás a tartalomhoz

Operációs rendszerek

Dr. Fazekas Gábor (2011)

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

Az operációs rendszerek evolúciója

Az operációs rendszerek evolúciója

A programok feldolgozásának lépései: fordítás, szerkesztés futtatás

A programok feldolgozásának módjai (soros, kötegelt, időosztásos )

  • Soros feldolgozás

    • nincs operációs rendszer; a felhasználó közvetlenül a hardvert éri el, a programozó egyben operátor is, egyfelhasználós rendszer

    • problémák: drága erőforrások alacsony hatásfokú kihasználása (hosszú beállítási idő, gyenge CPU kihasználtság)

  • Kötegelt feldolgozás (Simple Batch)

    • Monitorok

      • a futó programok vezérlésére használtos szoftver

      • feladatok egymáshoz kapcsolása

      • a program visszaadja a vezérlést a monitornak amikor befejeződik

      • a felügyelőprogram mindig a memóriában van és futásra kész

  • Időosztásos rendszerek (Time Sharing)

    • több felhasználó / program használhatja a CPU-t egymás után, azonos ideig

A kötegelt feldolgozás

  • Rezidens monitor

    • a munkák (job) vezérlésére használatos program, mely állandóan a memóriában van és futásra kész

    • a felhasználó nem operátor, a beállítási idő csökkentésének érdekében a munkákat egymáshoz kapcsolva, egymás után végezzük el

    • minden program végrehajtása végeztével visszaadja a vezérlést a monitornak, mely ezután automatikusan betölti (loader) a következő munkát

  • Job Control Language (JCL)

    • speciális programozási nyelv, mely a monitor számára biztosít utasításokat (Pl.: mely forrásnyelvi adatokon milyen fordítót használjon)

  • Szükséges hardverjellemzők:

    • memóriavédelem: a monitort tartalmazó memóriaszegmens megváltoztatásának letiltása

    • időzítés: jobok meggátolása abban, hogy kisajátítsák a rendszert

    • lefoglalt (privilégizált) utasítások: csak a monitor által használható utasítások

    • megszakítások: rugalmasságot biztosítanak a felhasználói programok vezérléséhez

Egyfeladatos feldolgozás:

  • a processzornak várnia kell egy I/O utasítás befejeződésére mielőtt továbblép, az I/O és a CPU műveletek nem fedhetik át egymást

  • probléma: I/O lassú a processzorhoz képest (pl. kártyaolvasó lassú), CPU nem megfelelően kihasznált

Többfeladatos feldolgozás (multitaszking):

  • Egy időben több program is található a főmemóriában: ha egy programnak I/O műveletre kell várnia, a processzor átvált egy másik program végrehajtására (nem párhuzamos futás!)

  • A CPU idő kiosztása valamilyen stratégia szerint történik

  • bizonyos hardverelemek szükségesek (I/O megszakítás támogatása)

A multiprogramozás által az operációs rendszerekkel szemben támasztott követelmények

  • Az I/O-nak az operációs rendszer részéről történő teljes körű felügyelete. (adatvédelem!)

    • Az I/O-t az operációs rendszer nem egyszerűen támogatja, hanem végrehajtásához elkerülhetetlen.

    • Hardver feltételek: kernel/supervisor mode, privileged operations

  • Memória gazdálkodás

    • a rendszernek fel kell osztania a memóriát a futó jobok között.

    • Hardver feltételek: kernel/supervisor mode, privileged operations, segmentation

  • CPU ütemezés

    • a rendszernek választani kell tudni a futásra kész jobok között.

  • Készülékhozzárendelés

    • Nem “jut” minden jobnak, printer, lemez, stb.

Időosztásos rendszerek

  • A kötegelt rendszerek hátránya: nincs interaktivitás!

  • a CPU váltakozva áll olyan joboknak a rendelkezésére, melyek a memóriában, vagy a lemezen találhatók. (a CPU-t csak olyan job kaphatja meg, amely éppen a memóriában van.)

  • Egy job a lemezről a memóriába, ill. a memóriából a lemezre betölthető/ kimenthető az ütemezési stratégiának (időosztás!) megfelelően. (Process!)

  • A rendszer és a felhasználó között online kommunikációt tételezünk fel; ha az operációs rendszer befejezi egy parancs végrehajtását, a következő „vezérlő utasítás”-t nem a kártyaolvasóról, hanem a felhasználó klaviatúrájáról várja.

  • A processzoridő több felhasználó között van megosztva

  • Több felhasználó együttesen éri el a rendszert terminálok használatával (interaktivitás)

  • Egy – adatokat és utasításkódokat tároló – online fájlrendszer áll a felhasználók rendelkezésére.