Operációs rendszerek Szükségünk van operációs rendszerre ? NEM, mert mi az alkalmazással szeretnénk játszani dolgozni, azért használjuk a számítógépet. IGEN, mert nélküle a számitógépünk csak egy halom üzemképtelen alkatrész. “Tönkrement a gépem, nem bootol be.” ISO definíció: „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.”
OS: Számítógép alapprogramja. Mindig a memóriában van működés közben. Leggyakrabban háttértárolóról töltődik be rendszerindításkor, de létezik (flash/ep)ROM-ban található is. Betöltés után a betöltőprogram (PC-n BIOS) átadja a vezérlést, és a gép kikapcsolásáig OS-nél marad.
?
Az operációs rendszerek története Turing-gép definíciójából az alapkoncepciót Alan Turing vezette le. Gépkezelő alprogramok gyűjteménye pl. i/o műveletekre. Op. rszek őse. Ekkoriban egyszerre csak egy dologgal tudtak foglalkozni a gépek. Automatizált futásidő számlázás, rendszerfelügyelet. Erőforrások (CPU, operatív és háttértárak) központi menedzselése, kötelezően használandó, szabványos rendszerhívások Házi (Personal) számitógépeken 80-as években ROM-ba égetett OS, legtöbbször BASIC interpreterrel (C-64, ZX Spectrum, Amiga stb). Lemezes gépeken CP/M: 8 bites, egyfelhasználós, egyfeladatos OS, a Digital Research cégtől. BIOS-ban betöltő kód van csak. IBM PC: bővített BIOS, M$-DO$, később Windows (1-2-)3.0-3.1-95-982000/me-xp-vista-7. Apple Mac: MacOS (nincs parancssor), majd MacOS-X (unix-like) Digital, IBM, SiliconGraphics, stb.: egyedi OS, legtöbbször UNIX. OS az autón, mobiltelefonon, roboton, kenyérpirítóban (NetBSD), mp3-játszóban, interaktív gyerekjátékban, villanykapcsolóban
Operációs rendszer feladatai - rendszerindításnál hardverleltár készítése - hardver erőforrások (CPU, RAM, perifériák) menedzselése - processzek (programok) menedzselése - háttértárolón filerendszer (könyvtárak, fileok) logikai kezelése - felhasználók (ha vannak) kezelése: be/kijelentkezés, kapcsolattartás - szabványos interface-k biztosítása programok fele (pl. filenyitás, fileba írás,file bezárás). - hibás működés esetén javítás (tönkrement program bezárása, filerendszer hibajavítása áramszünet után stb). - biztonsági kérdések (felhasználók együttműködése, személyes fileok védelme, távelérés) - hálózati kommunikáció (ha van)
Neki nem sikerültek maradéktalanul a feladatok
Operációs rendszerek csoportositási szempontjai Felhasználók száma szerint 0 felhasználós (nincs interaktív user) 1 felhasználós Több felhasználós (Windows melyik ?) Processzek száma szerint: 1 processzes (real-time)- RTOS-MS-DOS Több processzes (time sharing-időosztás) – a több felhasználós mindig ilyen. Ha van felhasználó, működtetés módja szerint: Kötegelt (batch feldolgozás) – van ma ilyen ? Interaktív: - parancssoros (parancsértelmező programmal) - GUI (grafikus működtetésű programmal) 1968-videokonferencia gui-val 1973 első gui-s gép: ablak, egér, menü, ikon
Win 1.0 taskbar, 7.0ugyanez ?
Fogalommagyarázatok Kernel: rendszermag, felügyelőprogram Utility: segédprogram, elmosódik a határ az rendszer és a külső (3rd party) alkalmazások közt (pl. icq ->messenger). Beépülnek a felinstallálható OS-be (windows, egyes linux disztribúciók). Parancsértelmező, shell: parancssoros alkalmazás, értelmezi a parancsot, és a többi programot indítja (pl. cmd.exe) Swap, virtuális memória, lapozófile: a processzek több memóriát használhatnak, mint amennyi ram (fizikai memória) rendelkezésre áll. Az éppen nem futó processzt (időosztásos/time sharing/ multitaszkos rendszer) ebbe a fileba teszi ki a memóriamenedzser, amikor szükség van rá, visszatölti. Háttértár nagyságrenddel lassabb, mint a memória. Taszk, feladat, processz: program(részlet), futó folyamat. Deadlock: két processz egymásra vár. Pl. a kernel vár a kernelben lévő eszközkezelőre. Eredmény: végtelen ciklus, “lefagyás” Thread, fork: szál, több is indítható belőle. Egy részfeladatot végez el. Mikor végeztek, eredményt összegezni kell. Többprocesszoros (“magos”) rendszernél (ma már minden intel/amd/ stb. ilyen). Hibrid implementáció: Windows7, NetBSD.
A multitaszk folyamat Az operációs rendszer elindítja a programot, de úgy, hogy adott időközönként visszaveszi tőle a vezérlést, másik programnak (processz, task stb) adja. Fontos feladata az operációs rendszernek, hogy a program ne tudjon a többiekről, ha nem akar. A vezérlés bármikor a programra kerülhet és onnan el, a regiszterek (és a program adatterülete a memóriában) tartalma nem változhat meg még akkor sem, ha a programot memóriahiány miatt a lapozófileba tesszük ki. CPU foglaltság azt jelenti, hogy arányaiban mennyi időt tölt egy ciklusból a cpu a processzekkel, és mennyit az un. Idle (üresjárati) processzel.
Processzek közti adatcsere módjai: - közösen használt (shared) memória - kommunikációs rendszerhívások - közösen használt file - socket (hálózati kapcsolat)
Megvehető irodalom:
Ingyen irodalom: http://mipet.uw.hu/forrai/oprbook.pdf http://www.tankonyvtar.hu/informatika/operacios-rendszerek-080905-377