kategória | ||||||||||
|
||||||||||
|
||
Hajlékonylemez kezelése:
A vezérlő 16 utasítással rendelkezik és 1-9 bájt közötti értékeket tölt a regiszterekbe.
(adatok olvasása, írása, lemezfejek mozgatása, pályák formázása, vezérlők és meghajtók inicializálása, értékelése, alaphelyzetbe állítása és bemérése)
A felhasználói oldalról:
Az a program, amelyik a programozó elől eltakarja a valódi hardvert és egy egyszerű képet ad a névvel ellátott írható és olvasható állományokról.
A felhasználónak egy olyan virtuális gépet nyújt, amelyiket egyszerűbb programozni, mint a mögötte álló hardvert.
Hardver oldalról:
Az a program, amely a futó programok között elosztja a processzusokat, memóriát, a be és kiviteli eszközöket felügyelő és szabályozott módon.
generáció: Vákuumcsövek és kapcsolótáblák
Kb. 20.000 vákuumcsőből és kapcsolótáblából állt.
Neumann, Aiken és Zuse hozták létre.
Jellemzői:
Nincs operációs rendszer
A programozás huzalozásból és kapcsolótáblák állításából állt.
Nincs programozási nyelv (assembly sem)
A lyukkártyák megjelenésével a helyzet javult, de főleg numerikus számítások (szinusz, koszinusztáblák) a cél.
generáció:
Tranzisztorokból álló számítógépek, kötegelt rendszerek.
Jellemzői:
Megbízhatóbb, hosszabb működési idő.
Assembly nyelven programozható, a programokat kártyákra lyukasztották.
A gépidő kihasználása érdekében kötegelt feldolgozást végeztek egy olcsó géppel a programot a kártyára lyukasztották és leolvastatták, míg a drágább géppel feldolgoztatták a szalagra írt programokat egymás után. A végeredményt szalagra írták, majd egy olcsóbb gépen vitték kinyomtatni.
Tipikus operációs rendszerek voltak: FMS, IBSYS
generáció:
Integrált áramkörök használata.
Az IBM 360-as sorozata volt az első ilyen gép.
Az operációs rendszere igen bonyolult volt, főleg assembly nyelven íródott, sok hibával (OS/360)
A multiprogramozás megjelenése
Memória partíciók létrehozása, hogy a processzor több feladatot kapjon, és ne legyen sok a holtidő.
Az operációs rendszer kezelte a partíciókat.
A kötegelt feldolgozás is megmaradt.
Időosztás megjelenése, több felhasználó interaktív kiszolgálása.
A MULTICS operációs rendszer kifejlesztése.
A miniszámítógépek gyártása is fejlődött, a DEC PDP-1 egészen a PDP-11-ig olcsó gépeknek minősültek.
Ken Thompson egy PDP-7-esre próbálta átültetni a MULTICS-ot, amely a UNIX-hoz vezetett. A UNIX szabványt a POSIX-et kidolgozzák, mivel mindenki fejlesztett egy saját verziót.
generáció: (Személyi számítógépek)
Az LSI (magas integráltságú) áramkörök fejlődése, 1 cm2-en több tízezer tranzisztor létrehozta a személyi számítógépeket.
Munkaállomások, hálózatba kötés.
Két operációs rendszer létezett: az MS-DOS és a UNIX. Az IBM PC INTEL 8088-as processzorát az MS-DOS uralta. Kezdetben elég primitív volt, de sok dolgot átvett a UNIX-ból. A UNIX a RISC gépeken népszerű hálózati szervernek használták.
1980 után a hálózati operációs rendszerek és az osztott rendszerek jelentek meg. (Egy processzort szimulál, de valójában több van).
Rendszerhívások:
Az op. rendszer és a felhasználói programok közötti kapcsolatot a rendszerhívások biztosítják.
I. Processzus: végrehajtás alatt lévő program.
Tartozik hozzá címtartomány (memóriaszelet) ezt használhatja
Regiszterkészlet (utasításszámláló, veremmutató, hardver regiszterek)
Az op. rendszer időnként megszűnteti a processzus futását, és másikat kezd el futtatni, mert lejárt a CPU idő részesedése.
Minden processzus információt tárolni kell. Ezeket a processzustáblázatban tárolja az op. rendszer.
Kulcsfontosságú rendszerhívások, amelyek létrehoznak, ill. megszüntetnek egy processzust.
Példa:
Begépelünk a parancsértelmezőbe egy fordítási parancsot.
A parancsértelmező létrehoz egy processzust
A fordítás után a processzus megszünteti saját magát rendszerhívással.
A processzus létrehozhat gyerekprocesszusokat, így ezek egy fastruktúrát alkotnak.
Ezek kommunikációja létfontosságú.
További processzus rendszerhívások:
Memória kezelésére
Gyerekprocesszus megszűnésére várakozó rendszerhívás
Programrészletek megosztott használatára
Szignál:
A hardver megszakítások szoftver megfelelői.
Példa: Üzenetet küldünk hálózaton keresztül egy másik gépnek és beállítunk egy időzítőt, amely bizonyos idő elteltével szignállal jelez. Ekkor az op. rendszer felfüggeszti az aktuális processzus futását, és a szignállal foglalkozik.
Uid: (User Identifier)
Minden felhasználóhoz hozzárendel egy azonosítót az operációs rendszer.
Minden processzus az indító személy Uid-jét kapja. A gyerekprocesszus pedig a szülő Uid-jét kapja meg. Az ún. szuperfelhasználó Uid-je speciális lehetőségeket kap, sok védelmi szabályt áthághat.
Megszakítás:
Erőltetett vezérlésátadás, ugrás egy megszakításkezelő rutinra. Mikroprocesszor, hardvermegszakítás, szoftvermegszakítás.
Rendszerhívások szükségesek fájlok létrehozására, törlésére, olvasására, írására. Írás és olvasásra való megszakításhoz is rendszerhívás szükséges. A fájlok hierarchiája is fastruktúra, de több évig is létezhet, többen férhetnek hozzá, a védelmi rendszerben is különbözik.
Bármely fájl azonosítható a gyökérkatalógustól az útvonallal.
Speciális fájl:
Segítségével lehet a B/K eszközöket fájlokként kezelni.
Fajtái:
Blokkspecifikus:
Olyan eszközök modellezésére használjuk, amelyek tetszőlegesen címezhető blokkok gyűjteményéből állnak. Pl.: lemezek. A fájlrendszertől függetlenül olvashatjuk a blokkot.
Karakterspecifikus:
Karakterspecifikus fájlokat használunk nyomtatók, modemek és olyan eszközök modellezésére, amelyek karaktersorozatot fogadnak és küldenek.
Pájp:
Két processzus összekapcsolására alkalmas speciális fájl.
Az A pájpba ír, és így üzen B-nek.
A pájp speciális fájlként üzemel, de a processzusok is csak speciális rendszerhívással képesek eldönteni, hogy az A fájl egy pájp.
A szövegszerkesztők, fordítók, assemblerek, linkerek és parancsértelmezők nem az op. rendszer részei.
A parancsértelmező használja az op. rendszer rendszerhívásait.
Példa: date parancs begépelésével létrejön a parancsértelmező gyerekprocesszusa. A parancsértelmező a gyerekprocesszusának a befejezésére vár. A gyerekprocesszus befejezésével a prompt újra megjelenik.
A rendszerhívások POSIX (International Standards 9945-1) alapúak.
A rendszerhívások gépfüggők, de leginkább assembly nyelven fogalmazódtak, de egy eljáráskönyvtár mindig van a C nyelvű programokban rendszerhívások végrehajtására.
A rendszerhívások fajtái:
Processzuskezelő:
Gyerekprocesszus létrehozása fork()
Gyerek megszüntetésére várakozás Waitpid
Processzus végrehajtásának befejezése
A hívó processzus pid azonosítójának visszaadása
Szignálkezelő:
Szignálokon végrehajtandó akciót definiáló
A szignál eljárásból való kilépés
Szignál küldése egy processzusnak
A hívó felfüggesztése a következő szignál érkezéséig
Fájlkezelő:
Új fájl létrehozása
Fájl megnyitása olvasásra, írásra, mindkettőre
Nyitott fájl bezárása
Fájlból adat olvasása tárolóra
Fájlból írás
Fájlmutató mozgatása
Fájl állapotinformáció lekérdezése
Pájp létrehozása
Fájlokon speciális műveletek végrehajtása
Fájl elérhetőségeinek vizsgálata
Új név adása egy fájlnak
Katalógus és fájlrendszer kezelés:
Új katalógus létrehozása
Üres katalógus megszüntetése
Fájlrendszer felcsatolása
Fájlrendszer lecsatolása
Gyökérkatalógus változtatása
Védelem:
Fájl védelmi bitjének változtatása
A hívó Uid-jének megkérése
A hívó Uid-jének beállítása
A fájl tulajdonságának és csoportjának változtatása
Időkezelés:
Fájlok utolsó hozzáférési idejének beállítása
Az alkalmazott felhasználói és rendszeridő megkérése
Egy leegyszerűsített parancsértelmező:
While(TRUE) else
Monolitikus rendszerek:
Az op. rendszer eljárások gyűjteménye, bármelyik hívhatja a másikat, jellemzője a strukturálatlanság.
Rétegelt rendszerek:
Az op. rendszer rétegekből áll, minden réteget az alatta levőre építünk.
Dijkstra (1968) THE op. rendszer kötegelt rendszer volt.
6 rétege:
5 rendszer kezelőjének processzusa
4 felhasználói programok
3 B/K kezelése
2 gépkezelő processzus kommunikáció
1 memória és adatkezelés
0 processzor hozzárendelés és multiprogramozás
MULTICS gyűrűbe szerveződik.
Virtuális gépek:
OS/360 kötegelt rendszere után időosztást akartak megvalósítani.
A VM/370 a nyers hardveren futott, kezelte a multiprogramozást és több virtuális gépet is szolgáltatott.
Pl.: MS-DOS a pentiumon. Az INTEL beépített egy 8086-os módot a processzorába (ez szoftver szempontból egy 8088-as processzornak felel meg) ezt a módot használja a Windows, OS/2 és minden op. rendszer MS-DOS programok futtatására.
Kliens-szerver modell:
VM/370 sok kódjának sok részét helyezte magasabb rétegekbe.
A mai modern op. rendszerek minimális kernelre törekednek.
Az op. rendszer több funkcióját felhasználói processzusokra bízza.
Ha egy szolgáltatást kérünk, pl.: fájlblokk olvasást, akkor a felhasználói processzus a kliensprocesszus egy kérést küld a szerverprocesszusnak, amely elvégzi a munkát, és visszaküldi a választ.
A kliens a kernelen keresztül üzen a szervernek.
Az üzenet küldése történhet a hálózaton keresztül is.
Osztott rendszerek:
Processzuskezelés
Be és kivitelkezelés
Memóriakezelés
Fájlkezelés
:
2004