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éptelennek tűnő alkatrész. “Tönkrement a gépem, nem indul el a windows.” 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: monitorprogram. 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 (ROM-Basic-cel), M$-DO$, később Windows (12-)3.0-3.1-95-98-2000-me-xp-vista-7-8-10. Apple Mac: MacOS (nincs parancssor), majd MacOS-X (unix) Digital, IBM, SiliconGraphics, stb.: egyedi OS, legtöbbször unix, vagy Unix-szerű.. OS a tv-n, autón, mobiltelefonon, roboton, kenyérpirítóban (NetBSD), média lejátszóban, interaktív gyerekjátékban, villanykapcsolóban, hűtőszekrényen.
Operációs rendszer feladatai - rendszerindításnál hardverleltár készítése, futás közben csatlakoztatható perifériák (pl. USB,ahci Sata) észlelése, csatolása, leválasztása - 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ós interface, protokoll stack (ha van, pl tcp-ip) (GUI nem OS feladat, de vannak összeépitett változatok is, pl. Windows).
Neki nem sikerültek maradéktalanul a feladatok. Újra is lett csomagolva.
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-ben mi más ?
Fogalommagyarázatok Kernel: rendszermag, felügyelőprogram. Utility: segédprogram, elmosódik a határ a 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), de el is tűnhetnek (pl mozilla, exchange, outlook express, internet mail, win7-ben 0, thunderbird). Parancsértelmező, shell: parancssor 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/mobil ilyen), az alkalmazást is ehhez kell megirni (pl .net BackgroundWorker).
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, szemafor-ok - közösen használt file - socket (hálózati kapcsolat)
32 vagy 64 bites win7-et (8at) válasszunk ? - win7 logo: 64biten tesztelt hardver - átlagos feladatoknál nem gyorsabb: int mérete 32 bit, x64-re forditva (c++) sem. Long változókkal számitás gyorsabb. - 4 Gb<= ram <=192 Gb : csak 64bites tudja - 2 Tb: win2008 enterprise server - PAE: 32 bites win7 bővitése, csak egyes gépeken, max 4Gb. - régi (játék)program: 32 bit - eszközök, driverek: ha nincs 64 bites, 32 bit - új laptop: 64bit (32 bites driver már nincs)
Megvehető irodalom:
Ingyen irodalom: http://mipet.uw.hu/forrai/oprbook.pdf http://www.tankonyvtar.hu/informatika/operacios-rendszerek-080905-377