Magó Zsolt Debreceni Egyetem Kiss András Budapesti Corvinus Egyetem Operációs rendszerek Magó Zsolt Debreceni Egyetem Kiss András Budapesti Corvinus Egyetem CÍMDIA: logók futóláb: hefop, témakör, diaszám Gyakran olyan hallgatóságnak kell szakmai előadást tartani, amely nem ismeri a témát vagy a szakszavakat. Az anyag esetleg összetett és rengeteg adatot tartalmaz. A hatékony előadáshoz alkalmazzuk a Dale Carnegie Training® által kialakított irányelveket. Vegyük figyelembe a rendelkezésre álló időt és rendszerezzük megfelelően a tananyagot. Szűkítsük le a témakört. Osszuk fel a bemutatót világosan elkülönített részekre. Állítsunk fel logikus sorrendet. Végig egy témára összpontosítsunk. A bemutatót összefoglalással zárjuk, ismételjük meg a fontos lépéseket vagy vonjunk le következtetést. Ne feledkezzünk el a hallgatóságról. Fontos például, hogy az adatok érthetőek és lényegesek legyenek a téma szempontjából. Az adatok és a szakszavak mennyiségét igazítsuk a hallgatósághoz. A fontosabb pontok és lépések magyarázatához használjunk szemléltetőeszközöket. Mindig tartsuk szem előtt a hallgatóság igényeit, és akkor képesebbek lesznek az elhangzottak befogadására. A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Operációs rendszerek Bevezetés A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Történelem Előzmények mechanikus elvű számoló berendezések Schickard, Pascal 10-es számrendszerű összeadó-gép Leibnitz az előző továbbfejlesztése mind a 4 alapműveletre Babbage, Hollerith lyukkártyás adattárolás (Babbage: „program”, Hollerith: IBM) elektro-mechanikus eszközök Zuse, Aiken elektronikus számítógépek ENIAC (1946), EDVAC (1949)
Történelem Generációk: elektronikus számítógépek fejlődésének kategorizálása az alkalmazott meghatározó technológia eszköz szerint elektroncső (’50-es évek) tranzisztor (’60-as évek) integrált áramköri elemek (’60-as évek vége) mikroprocesszor (’70-es évek) ?
Generációk jellemzői I.: elektroncső: 40-es évek közepe – 50-es évek második fele 300 művelet/sec elektroncsöves tárak, lyukkártya/lyukszalag, fixpontos műveletvégzés, gépi kód (assembly), kötegelt mód, operátor II: tranzisztor: 50-es évek vége – 1965 200 000 művelet/sec ferritgyűrűs memória, mágnesszalag (mágneslemez), lebegőpontos aritmetika, assembly, magasszintű nyelvek, batch III: IC: 1965 - 70-es évek első fele 2 millió művelet/sec, ferritgyűrűs memória, mágneslemez, operációs rendszer megjelenése, (valódi) magasszintű nyelvek, multiprogramozás, virtuális memória számítógép-kategóriák (mainframe, middleware, minicomputer) IV: mikrochip: 70-es évek 20 millió művelet/sec, félvezető tárak, mágneslemez, optoelektronikus/optikai adathordozók, PC, 4GL, hálózati operációs rendszerek V: jelen? jövő? mesterséges intelligencia?, (valódi) párhuzamos rendszerek?
Fogalmak Adat információ adat: észlelés információ: hasznosítás információ: ismeret adat: tárolt ismeret Információ-technológia = adat (információ) előállítása, tárolása, továbbítása, feldolgozása ICT: info-kommunikációs technológiák ICS: informatikai társadalom Informatika IT rendszerek fejlesztésével és üzemeltetésével foglalkozó tudomány informatika számítástechnika!
Fogalmak Kommunikáció: Hálózatok Protokoll ICT eszközök által végzett adattovábbítási tevékenység feltételei: összekapcsolhatóság (közeg) kommunikációs képesség: értelmezhetőség (protokollok) egyediség: azonosíthatóság (címek) Hálózatok ICT eszközök valamilyen cél érdekében, alkalmas módon összekapcsolt rendszere Protokoll kommunikációs szabályok (gyűjteményei) IPX/SPX, NetBEUI, TCP/IP http, ftp, telnet, mail, gopher, ... összeköttetés közös nyelv egyedi címek
Fogalmak Algoritmus: Program valamely feladat megoldását eredményező elemi műveleti lépések sorozata, ha pontosan egy egyértelmű kezdete van és csak elemi tevékenységekből álló lépéseket tartalmaz és determinisztikus és véges, akkor formalizálható Program számítógép által értelmezhető algoritmus
Fogalmak Számítógép = olyan (teljesen) elektronikusan működő berendezés, amely képes adatokat és programokat tárolni és automatikusan végrehajtani. hardver (a számítógépet alkotó technikai eszközök összesége) + szoftver (a számítógép segítségével feldolgozott adatok és a működést meghatározó programok összessége).
Neumann-elvek Szerkezeti elvek Működési elvek teljesen elektronikus működés (logikai áramkörök alkalmazása) felépítés: CPU + ALU + MEM + I/O Működési elvek kettes számrendszer és Boole-algebra soros utasítás-végrehajtás tárolt program elve
Kettes számrendszer alapszám: 2, számjegyek: 0, 1 műveletek: összeadás: 0+0=0, 0+1=1, 1+0=1, 1+1 = 10 kivonás: komplementer összeadással 1-es komplemens: X(n)+X(n)K1=11..11(n) technikailag: jegyenként az ellenkező 2-es komplemens: X(n)+X(n)K2=10..00(n+1) technikailag: XK2=XK1+1 A-B A+BK2 jelentősége: minden művelet visszavezethető összeadásra!
Boole-algebra állításokkal végzett logikai műveletek eredményét rögzíti állítás: egyértelműen eldönthető, hogy IGAZ vagy HAMIS művelet: logikai értékekhez rendel logikai értéket alapműveletek: ÉS (AND), VAGY (OR), NEM (NOT) kizáró vagy (XOR) alkalmazása: logikai kifejezések kiértékelhetők logikai állítások kiértékelésének sorozataként kiértékelés: igazság-táblával, predikátum-kalkulussal alkalmazása: kapuáramkörök
Neumann-elvek CPU: központi vezérlő egység utasítás-értelmezés, végrehajtás, vezérlés egy időben egy tevékenység soros működés ALU: aritmetikai és logikai egység műveletvégzés kettes számrendszer, logikai alapműveletek (ÉS, VAGY, ...) MEM: memória tárolás azonos méretű sorszámozott részek („rekesz”) egységes szerkezet az adatok és a program-utasítások számára tárolt program elve I/O: be- és kiviteli eszközök kapcsolattartás a felhasználóval és esetleges további (külső) eszközökkel („perifériák”)
A számítógép felépítése CPU + ALU = (mikro)processzor memória I/O vezérlők + sínrendszer az egyes komponensek közti összeköttetést biztosító vezetékek funkció szerint: belső, memória, külső (rendszer) információ jellege szerint: adat-, cím-, vezérlő- (órajel-generátor, akku, slotok, stb.) alaplap
A számítógép elvi vázlata CPU +ALU MEM I/O CÍMEK ADATOK VEZÉRLŐJELEK
Mértékek bit: bájt: mértékek információ alapegysége két állapot megkülönböztetésére alkalmas jel realizálása: 1, 0 kettes számrendszer 1 helyiértékének tárolására alkalmas bájt: információ-tárolás alapegysége 8 bit mértékek váltószám: 210 (1024) és hatványai: kilo, mega, giga, tera 1 KB (kilobájt) = 1024 bájt 1 MB (megabájt) = 1024 KB = 1024*1024 B...
Ábrázolási rendszerek bináris rendszer: minden információ 2-es számrendszerben fogalmi szint: adattípusok numerikus, szöveges dátum, logikai objektum reprezentáció: bitsorozat
Fixpontos ábrázolás rögzített méretű tárhely 1-2-4 bájt („félszó”, „szó”, „dupla szó”) a tizedespont helye rögzített gyakorlatban csak egész! ábrázolható értékkészlet előjellel vagy előjel nélkül? 1 bájt: 00000000 .. 11111111 (0-255) 2 bájt: 0x0000 ... 0xFFFF (elvileg 0-216, gyakorlatban -215 ... +215)
Lebegőpontos ábrázolás normálalakot tárol f x 2e f: mantissza (bináris tört, 0.111...) e: karakterisztika (kitevő), előjelesen (eltolással!) tárolás: rendelkezésre álló tárterület méretétől függően: egyszeres: 4 bájt (e: 8 bit, f: 23 bit) dupla: 8 bájt (e: 11 bit, f: 52 bit) bővített: 10 bájt (e: 15 bit, f: 64 bit) e f
BCD (Binárisan kódolt decimális) számjegyeket tárol, nem értéket! 4 biten a 10-es számrendszerbeli szám jegyei előjel is 4 bit! (A, C, E, F : +; B, D: -) pakolt: fél bájtonként a számjegyek, az utolsó fél bájt előjel zónázott: első bájton az előjel és az első számjegy, a többi számjegy (vezető 0-kal) bájtonként vezérszavas az első bájt írja le a következő bájtok jelentését
Karakterkódolás:ASCII American Standard Code for Information Interchange PC-k jellemző karakterkódolási rendszere szabvány: 7 biten sorszámozva a szimbólumok, a 8. bit a paritás kiegészítés 00h..7Fh: 128 jel, 80h..FFh: nemzeti karakterek (kódlapok)
Karakterkódolás: UNICODE (elvileg) 2 bájtos karakterkódolás (elvileg) a világ összes szimbóluma szabvány: 0000h..2000h – hagyományos írásjelek 2001h..3000h – szimbólumok 3001h..E800h – távol-keleti írásjelek (47e!) E801h..FE00h – felhasználói FE01h..FFFFh – fenntartott problémák: többértelműség ( latin „c” = cirill „sz”) eltérő definiálhatóság (á = a+’)
Alapfogalmak, rétegmodell Operációs rendszerek Alapfogalmak, rétegmodell A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Operációs rendszer olyan program(rendszer), amely felügyeli és vezérli a számítógépen futó valamennyi folyamatot ISO szabvány a számítógépet alkotó hardver eszközök működését felügyelő és vezérlő program technológiai megközelítés a számítógép tevékenységét meghatározó programokat felügyelő és vezérlő szoftver funkcionális megközelítés (a számítógépes rendszerben rendelkezésre álló) erőforrásokat elosztó szuperfolyamat folyamat-centrikus szemlélet olyan program, amely kapcsolatot teremt (és tart fent) a számítógépet alkotó technikai-technológiai (hardver) elemek és a (számítógéppel tevékenységet végző) felhasználó között ( felhasználói szemléletű definíció
Operációs rendszer feladatai: leggyakoribb képviselői (IBM PC-ken): egyszerűsíti a hardverkezelést erőforrások elosztása, versenyhelyzetek kezelése felhasználói felület, kommunikáció állapot-felügyelet, hibakezelés, naplózás (hálózati szolgáltatások) (virtuális gép koncepció) részleges vagy teljes hardver függetlenség leggyakoribb képviselői (IBM PC-ken): DOS, Windows, Novell, Linux, OS/X
Példák
Felépítés: rétegek
Rétegszemlélet Felhasználói alkalmazások Program- készítés támogatása Operációs rendszer Hardver Program- készítés támogatása Hálózat- kezelő szoftver és hardver Állomány- kezelés felhasználói felülete
A kernel HARDVER eszközei Felhasználói alkalmazások RENDSZERMAG (KERNEL) Klasszikus perifériák (BIOS) Egységes felület (IDE, SCSI) Device driver (ibmcd.sys) Intelligens perifériák (PnP, USB) Megszakítás kezelés Hardver
A kernel SZOFTVER komponensei Felhasználói alkalmazások SHELL (command) (explorer) API (Win SDK) RENDSZERMAG (KERNEL) Rendszerhívások (system call) Hardver
A kernel „magja” RENDSZERMAG (KERNEL) Erőforrás kezelés Felhasználói alkalmazások RENDSZERMAG (KERNEL) Erőforrás kezelés CPU ütemezés Memória kezelés Állomány kezelés Hardver
Csoportosítás Felhasználói felület: Felhasználók száma: karakteres grafikus Felhasználók száma: egy-felhasználós több-felhasználós hálózati Folyamatkezelés módja: kötegelt multiprogramozott valós idejű időosztásos Hardver-architektúrák: számítógép-ketegóriák mainframe szerver személyi számítógép mikroszámítógép kézi számítógép processzor-architektúrák CISC / RISC sínrendszer 16 / 32 / 64 bites
Csoportosítás Jogállás szerint: „Történelmi” kategóriák szerzői jogvédelem alá tartozó nyílt forráskódú „Történelmi” kategóriák korai operációs rendszerek UNIX-alapú rendszerek Windows rendszerek
Operációs rendszerek Működési modell A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
OPERÁCIÓS RENDSZER HARDVER megközelítés: Számítógép hardver eszközeinek működését ellenőrző és vezérlő program. FUNKCIONÁLIS megközelítés: A számítógép tevékenységét meghatározó programok vezérlését végző szoftver. FELHASZNÁLÓI szemlélet: A felhasználó és a számítógép erőforrásai közötti kommunikációt lehetővé tevő szolgáltatások összessége.
Történelem Lyukkártyás adatfeldolgozás Operátor Monitor KÖTEGELT FELDOLGOZÁS Monitor kötegek kezelése „kvázi” operációs rendszer parancsnyelvek
Történelem
Történelem
Strukturált feladatvégzés
JELEN Interaktív rendszerek Kötegelt rendszerek reális (emberi!) válaszidő időosztás felhasználói felület felhasználói adminisztráció Kötegelt rendszerek
JÖVŐ (?) Többprocesszoros rendszerek Elosztott rendszerek gyors, megbízható, erőforrás-takarékos (...) szimmetrikus / aszimmetrikus Elosztott rendszerek önálló számítógép + hálózat = közös tevékenység rugalmas, megbízható, gyors adatbiztonság?
Az operációs rendszer Feladata: Virtuális gép koncepció egyszerűsíti a hardverkezelést (erőforrások elosztása, versenyhelyzetek kezelése) felhasználói felület, kommunikáció Virtuális gép koncepció részleges vagy teljes hardver függetlenség Leggyakoribb képviselői (PC-ken): (DOS,) Windows, Linux, Novell, MacOS, …
Felépítés
Működés RENDSZERHÍVÁSOKon keresztül Privilegizálható Üzemmódok kivétel (rendszerfolyamat) csapda (felhasználói folyamat) megszakítás (periféria) Privilegizálható maszkolás Üzemmódok rendszer (kernel, privilegizált) felhasználói (user)
Megszakítás-kezelés
Kernel szolgáltatások: folyamatok Operációs rendszerek Kernel szolgáltatások: folyamatok A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Alapfogalmak Erőforrás: folyamatok működéséhez szükséges, korlátozott (=kevés) MEGOSZTHATÓ? (share) RABOLHATÓ? (preemptive) Kezelés: hatékony és működőképes állapot biztosítása
Problémák HOLTPONT: a folyamat olyan erőforrásra vár, amelyet csak egy szintén várakozó folyamat tudna felszabadítani KIÉHEZTETÉS: a folyamat (az erőforrás-kezelő stratégiája miatt) „soha” nem kapja meg az igényelt erőforrást MEGELŐZNI vagy MEGOLDANI? (megelőzni „olcsóbb”, de nem mindig lehetséges)
Csak együttesen egyet elég megakadályozni Megelőzés Holtpont kialakulásának feltételei Kölcsönös kizárás (nem megosztható EF) Zárolás (várakozó folyamat lefoglalja az EF-t) Nem elvehető erőforrások iránti igény Ciklikus várakozás Csak együttesen egyet elég megakadályozni
Megelőzés Kölcsönös kizárás: nem megelőzhető Zárolás egy folyamat csak akkor igényelhet erőforrást, ha nem birtokol Algoritmus: egyetlen foglalás Nem rabolható erőforrások: nem megelőzhető Ciklikus várakoztatás stratégiák Algoritmus: Prioritásos foglalás, Bankár
Megelőző stratégiák Egyetlen foglalás Induláskor kell igényelni az erőforrást rossz EF kihasználtság kiéheztetés Prioritásos (rangsor szerinti) foglalás Erőforrások osztályozása osztályozási szempontok?
Bankár algoritmus Nem a holtpontot előzi meg, hanem a kialakulásának a LEHETŐSÉGÉT Biztonságos állapot fenntartása: létezik a folyamatok végrehajtásának legalább 1 megvalósítható sorozata Ismernie kell a folyamatok EF igényét! becslésen alapul (...)
Holtpont kezelése Felismerni a holtpontot elve: összehasonlítani az igényeket a rendelkezésre álló erőforrásokkal nyilvántartás számolás-igényes (lassú) algoritmusok
Holtpont kezelése Megszüntetni a holtpontot csak a folyamat megszüntetésével kiválasztási stratégiák: erőforrások szerint (felszabaduló vagy igényelt) futási idő (eltelt vagy várható) prioritás alapján jellege szerint (megismételhető)
Folyamatok program a háttértárról a memóriába megszakítással jelzi igényét PCB (folyamat-leíró blokk) elkészítése folyamat működik (fut) állapot-változások folyamat befejeződik PCB felszabadítása
Folyamatok életciklusa
Ütemezők Folyamatok egyes állapotait kezelő komponensek Cél: Módszer: Hosszú távú (fő): indítás Középtávú: állapot-felügyelet Rövidtávú: végrehajtási sorrend Cél: optimális (gyors) kiszolgálás Módszer: alkalmas sorrend kialakítása
Ütemezők Mitől függ a végrehajtás sebessége? program folyamat idő minimális folyamatok várakozási idejében más folyamatok működhetnek gyors környezetváltás Megvalósítás: ütemezési stratégiák
Ütemezési stratégiák Hosszú távú ütemező elvárás: olyan sorrendben hozza létre a folyamatokat, hogy azok a jelenleg működő folyamatokkal egyenlő arányban osztozzanak a fut-vár időszakokon lehetetlen! sorrendi alapú
Ütemezési stratégiák Középtávú ütemező elvárás: a nem futó folyamatok sorrendjének és állapotának optimalizálása lehetetlen prioritás alapú ütemezés
Ütemezési stratégiák Rövidtávú ütemező elvárás: a processzor hatékony kihasználásának biztosítása mérhető! válaszidő (program folyamat) átfutási idő (elindul befejeződik) várakozási idő (nem fut) stratégiák egymásnak ellen-ható jellemzők!
Rövidtávú ütemező stratégiái FCFS (First Come, First Served) egyszerűen megvalósítható torlódás SJF (Shortest Job First) gyors kizárás RR (Round Robin) kiküszöböli az előző módszerek hibáit adminisztráció-igényes
Példa: FCFS és SJF
Példa: RR
Gyakorlatok erőforrás-gazdálkodás: folyamatok: f1, f2, f3, f4 erőforrások: E1 (31), E2 (24), E3 (23) folyamatok erőforrás-igénye (ind./össz.) f1: 4/29, 4/24, 0/19 f2: 9/20, 8/10, 8/17 f3: 6/24, 7/15, 5/21 f4: 3/8, 3/4, 3/5 holtpont-mentes végrehajtási sorrend?
Gyakorlatok megoldás E1: 31 E2: 24 E3: 23 ind max. várh. f1 4 29 25 24 20 19 f2 9 11 8 10 2 17 f3 6 18 7 15 5 21 16 f4 3 1
Gyakorlatok megoldás E1: 31/22 E2: 24/22 E3: 23/16 szabad 9 2 7 f4 12 5 10 F2 21 13 18 f3 27 20 23 f1 4 29 25 24 19 f2 11 8 17 6 15 16 3 1
Gyakorlatok folyamat-ütemezés: folyamatok: f1, .., f6 PCB: (folyamat, érkezés, igény) (f1, 0, 5) (f2, 3, 12) (f3, 10, 6) (f4, 16, 2) (f5, 18, 13) (f6, 19, 9) átlagos várakozási idő? (FCFS, SJF, RR6)
Gyakorlatok megoldás (FCFS, SJF) Érk Ig Kezd Bef Vár f1 5 1. f2 3 12 5 1. f2 3 12 17 2 2. f3 10 6 23 7 3. 19 25 9 4. f4 16 1 f5 18 13 38 5. 34 47 6. f6 15 átlag 6,3 5,6
Gyakorlatok megoldás (RR6) Érk Ig Kezd Bef Vár f1 5 1. f2 3 12 11 2 f3 5 1. f2 3 12 11 2 f3 10 6 17 1 2. f2’ 23 3. f4 16 25 7 4. f5 18 13 31 f6 19 9 37 Érk Ig Kezd Bef Vár f5’ 31 7 37 43 6 f6’ 3 46 5. f5’’ 1 47 6. átlag 8,3
Kernel szolgáltatások: memória-kezelés Operációs rendszerek Kernel szolgáltatások: memória-kezelés A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Alapelvek Neumann-elv kizárólagos hozzáférés több folyamat CSAK a memóriában levő információ feldolgozható kizárólagos hozzáférés a végrehajtás alatt álló folyamat számára több folyamat létezőnél nagyobb (össz)memória-igény
Problémák Egyidejűleg több folyamat a memóriában: tárvédelem rendszerfolyamatok állandóan a memóriában tartózkodik rögzített vagy változó címen? felhasználói folyamatok Rendelkezésre állónál nagyobb memóriaigény virtuális memória Végrehajtás közben kialakuló címek programozás-módszertan
Memória-kezelés Valóságos tárkezelés Virtuális tárkezelés fizikai memória használata Virtuális tárkezelés háttértár elkülönített része mint memória csak az éppen feldolgozás alatt álló folyamat és adatai az operatív memóriában folyamatos cserélgetés
Tárkezelés módszerei I. Rögzített (abszolút) címzés az OR rögzített helyen és méretben határregiszter program elhelyezkedése fordítás során meghatározható tárvédelem: hivatkozások és a határregiszter összehasonlítása OR változó mérete...
Tárkezelés módszerei II. Áthelyező címzés relatív címek alkalmazása bázisregiszter: program kezdőcíme betöltődéskor alakul ki címszámítás: bázis + relatív = (fizikai) memóriacím programozási problémák...
Tárkezelés módszerei III. Átlapoló (overlay) programblokkok csak a végrehajtás alatt álló töltődik be vezérlőblokk fizikainál nagyobb memória-igény kiszolgálása háttértárak szerepe...
Tárkezelés módszerei III.
Tárkezelés módszerei IV. Tárcsere (swapping) többfolyamatos rendszerek környezet-váltás memória-csere
Tárkezelés módszerei V. Partíciók memória felosztása független részekre egy időben több folyamat a memóriában partíciók méretének meghatározása statikus (előre definiált) belső elaprózódás dinamikus (igény szerint kialakuló) nyilvántartani a memória-foglaltságot külső elaprózódás csoportosító algoritmusok
Tárkezelés módszerei V.
Tárkezelés módszerei VI. Lapozás (paging) lap: folyamatok rendelkezésére álló, nem (feltétlen) összefüggő memóriaterület (viszonylag) kicsi, azonos méretű (1-4K) laptábla: a lapok elhelyezkedésének és állapotának nyilvántartására szolgáló leírás PCB-ben! címzés: lapszám fizikai cím + lapon belüli eltolás
Tárkezelés módszerei VI.
Problémák Valóságos (operatív) tárkezelés problémái címtartomány processzor által kezelhető címek (32 bit 4GB) memória-méret (256-512 MB) párhuzamos folyamatok iránti igény + folyamatok száma +memóriaméret lokalitás elve! lapcserék gyorsításának lehetősége
Virtuális memóriakezelés Alapelvek virtuális memória az elvileg megcímezhető memóriaterület a folyamat számára (memóriakezelés szempontjából) rendelkezésre is áll háttértár mint memória a háttértár (egy része) memóriaként címezhető transzparens (átlátszó) memóriakezelés a folyamat számára nincs különbség a tényleges és a virtuális memória között
Virtuális memóriakezelés Megvalósítás lapozás az OM és a VM azonos lapokra oszlik laptábla kiegészül egy állapot-jelzővel hivatkozás OM-ben VM-ben laphiba, lapcsere
Algoritmus
Virtuális memóriakezelés Előnyök operatív tárnál nagyobb memória több folyamat gyorsabb betöltődés Hátrányok címszámítás lapozás lassúsága a processzorhoz képest lap és környezete együtt (lokalitás!) lapváltozatok figyelése (használt, „dirty”)
Virtuális memóriakezelés Keret: egy folyamat számára rendelkezésre álló lapok száma keretkiosztási elvek: azonos számú arányos (VM igény függvényében) prioritásos lokális (futás során állandó) globális (futás során dinamikus, rabolható) vergődés!
Lapcsere stratégiák: FIFO legrégebben behozott lapot cseréli (sorrendi) egyszerű sok laphibát okoz
Lapcsere stratégiák: OPT legkésőbb igénylendő lapot cseréli (előrelátó) leghatékonyabb csak elméleti
Lapcsere stratégiák: LRU legrégebben használt lapot cseréli (figyelő) hatékony adminisztráció-igényes
Lapcsere stratégiák: SC módosított FIFO figyeli a laphivatkozásokat (jelzőbit) cserénél (ha lehet) a nem hivatkozottak közül választ: ha a jelzőbit = 0 csere; ha a jelzőbit =1 jelzőbit törlése, lap a sor végére és nézzük a következő lapot gyors bonyolult
Lapcsere stratégiák: NUR módosított LRU figyeli a laphivatkozásokat (jelzőbit) cserénél (ha lehet) a nem hivatkozottak közül választ: ha a jelzőbit = 0 csere és minden jelzőbit 0 ha a jelzőbit =1 nézzük a következő lapot gyors számításigényes (LRU-nál jobb!)
Problémák Virtuális memóriakezelés problémái lassú! laphibák számának csökkentése stratégiák címszámítás gyorsítása asszociatív memória alkalmazása
Asszociatív memória jellemzők kicsi, gyors (,drága) működés bemenet: adat kimenet: tartalmazza? kiegészítés (társítás) alkalmazása TLB (címszámítást megkerülő tár)
Memóriakezelés feladatai Védelem folyamatok logikai egységeinek védelme SZEGMENTÁLÁS folyamatok védelme egymástól kommunikáció lehetőségét biztosítani kell! szegmens-leíró táblák rendszerfolyamatok védelme prioritás szegmensek használatához megfelelő szint kell
Tároló-hierarchia A leggyakrabban használt adatok legyenek a leggyorsabb elérési idejű tárolóban!
Operációs rendszerek Shell szolgáltatások A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
A PC felépítése alaplap perifériák processzor memóriamodulok csatolók foglalat (370-939 tű) 1,2 - 4 GHz memóriamodulok SDRAM, DDR-RAM 16 MB – 4 GB 133 - 400 MHz csatolók PCI, AGP, IDE, S-ATA táp perifériák
Felhasználói felület GUI ablak vezérlők ikonok szegély, címsor, vezérlőmenü ikonja, méretező ikonok, menüsor, eszköztár(ak), munkaterület, gördítősáv, állapotsor alkalmazás~, csoport~ (nézetek!), párbeszéd~ vezérlők beviteli (szöveg) mező, legördülő / kiválasztó lista, rádiógomb, jelölőnégyzet, „potméter”, lap („fül”), parancsgomb ikonok alkalmazásindító~ (alkalmazás~), dokumentum~ (mappa~), parancs~
Példa: Windows XP multitasking multiuser állományszervezés: eseményvezérelt, preemptív multiuser állományszervezés: FAT / NTFS dinamikus háttértárak, EFS, röptömörítés vágólap, gyorsmenü, „drag-n-drop”, PnP, ...
Windows XP - felület Asztal Tálca ikonok (szokványos: Sajátgép, Dokumentumok, Lomtár, Hálózati helyek, Internet Explorer), ablakok (futó alkalmazások), kurzor Tálca START menü Gyorsindító pult Futó alkalmazások Háttérben futó („szervíz”) szolgáltatások
Windows XP - állománykezelés eszközök: Sajátgép, Intéző, parancssor, segédprogramok műveletek létrehozás kijelölés egyszerestöbbszörös, összefüggőnem összefüggő törlés Lomtár szerepe jellemzők megváltoztatása azonosító (átnevezés), elhelyezkedés (mozgatás, másolás), műveleti kör (tulajdonságok)
Windows XP – alkalmazások START menü alkalmazások indítása (Programok, Futtatás) beállítások (Vezérlőpult: hálózat, nyomtatási beállítások, megjelenítés, hardver-szoftver leltár, stb.) támogatás (Súgó, Keresés) alapvető alkalmazások Számológép, Jegyzettömb, WordPad, Paint, Médialejátszó („un-ZIP”) hálózati szolgáltatások (böngésző, levelező, IM)
UNIX/LINUX alapú rendszerek
Állományszervezés: fizikai szint Operációs rendszerek Állományszervezés: fizikai szint A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Perifériák Egyirányú Kétirányú beviteli kiviteli kommunikációs billentyűzet, egér (trackball, fényceruza, touch-screen), lapolvasó, mikrofon, digitális kamera kiviteli monitor (TV!), nyomtató (rajzgép), hangszóró Kétirányú kommunikációs modem, hálózati kártya háttértár mágneslemez. mágnesszalag, optikai tároló
Háttértárak mechanikus mágneses optikai elektronikus lyukkártya, lyukszalag mágneses mágnesszalag mágneslemez optikai CD, DVD elektronikus pen-drive
Mechanikus adattárolás lyukkártya 80 (IBM) / 90 (UNIVAC) oszlop („bájt”) 8 (7+1) / 12 (9+3) sor (bit) „köteg”, lyukszalag
Mágneses elvű háttértárak indukció Jellemzők: Kapacitás Átviteli sebesség Elérési idő Megbízhatóság, hordozhatóság
Mágnesszalag (DAT) Adathozzáférés: soros Kapacitás: 2-24 GB Átviteli sebesség: 2-10 Mb/s (+keresési idő!)
Mágneslemez Adathozzáférés: közvetlen Kapacitás: 0,3 – 120 GB Átviteli sebesség: 0,5-50 MB/s
Mágneslemezes meghajtók
Hajlékonylemez méret: 8”, 5¼”, 3½” szerkezet hordozóréteg (1) író-olvasó nyílás (2) indexfurat (3) írásengedélyező (4) védő (súrlódás-csökkentő) tok 2 3 1 4
Hajlékonylemez kapacitás átviteli sebesség: 0,5 KB/s 180 KB – 1,44 MB oldalak, sávok, szektorok száma (1-2, 40-80, 8-9-15-18, SS/DS, SD/DD/HD) átviteli sebesség: 0,5 KB/s 360 RPM
Merevlemez lemezköteg: rétegek egymás fölött író-olvasó fej közös tengelyen magas RPM, kis távolság: szennyeződés-mentes környezet
Merevlemez
Átviteli idő Működés: pozícionálás + átvitel Gyorsítási lehetőségek Elérési idő (sávváltás) Lappangási idő (elfordulás) Átviteli idő Gyorsítási lehetőségek cache redundáns tárolás célszerű elhelyezés (közép)
Tárolási szerkezet fizikai és logikai címszámítás fizikai: sáv – szektor (cluster, cilinder) formázás! logikai: kötet, meghajtó, állomány... címszámítás logikai ↔ fizikai azonosítók (hivatkozási egységek) szektor: adminisztratív korlát! cluster: elaprózódás (külső, belső)
Problémák Azonos forgási sebesség Optimális kiszolgálási sorrend eltérő adatsűrűség ZBR (zónabit-rögzítés): eltérő szektorszám Optimális kiszolgálási sorrend ütemezés: sávváltások számának csökkentése
Problémák Tömörítés minta szerinti különbségi statisztikai RLE: futási hossz különbségi csak eltérések, DE statisztikai HUFFMANN (gyakoriság) LZW
Problémák Megbízhatóság paritásos rendszerek CRC Hamming-kódok Hibák felismerése paritásos rendszerek CRC Hibák javítása Hamming-kódok RAID rendszerek RAID-0: tükör, RAID-1: sáv, ... RAID-5
Optikai elvű háttértárak Fényvisszaverődés (pit-land) Spirális (kifelé) tárolás Állandó kerületi sebesség Szabványok: ... Books (könyvek) Red (Vörös): audió, 1982 – alap, 1x Yellow (XA), Orange (Mode2), White (videó)
Felület
Jellemzők Kapacitás: 650+ MB/4,5-19,2 GB Átviteli sebesség: 150 KB/s Típusok: CD-ROM: WORM CD-R(ecordable), CD-R(e)W(ritable) Fotó CD, SVCD, ... DVD-ROM, DVD-RAM, DVD±R(W)
Elektronikus háttértárak USB flash drive, pen-drive EEPROM részei NAND memória (4) soros elérésű blokk-szervezésű vezérlőchip (2) ( RISC + memória) fájlrendszer-szerű szolgáltatásokat biztosít a memória elérésére oszcillátor (5)
Műveletek háttértárakkal Információk Eszköz típusa Adat helye a háttértárolón Adat helye a memóriában Adatmozgás iránya Adatok mennyisége
Műveletvégzés
Állományszervezés: logikai szint Operációs rendszerek Állományszervezés: logikai szint A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Alapfeladatok Állományszervezés operációs rendszer tevékenysége az állományok elhelyezésének, azonosításának, visszakeresésének, hozzáférésének biztosítására.
Állomány-kezelő
Állományszervezés Logikai állománykezelés Állomány (fájl, file) Katalógus (mappa, directory) Kötet (volume, ~drive, ~disk) Hivatkozási egységek (elérési, keresési út) Fizikai állománykezelés (lemezkezelés) Lemezek (disk), Partíciók (partition) Blokkok, Cluster (fürt ?!) Boot record, MBR, Root, fájlrendszer
Állományszervezés Állomány Könyvtár Kötet felhasználói szempontból összetartozó adatok megkülönböztető azonosítóval rendelkező csoportja a háttértárolón Könyvtár állományok felhasználói csoportosítását lehetővé tevő logikai egység adminisztratív célú állomány! Kötet háttértároló logikai egysége (A:, Z:, SYS:, ...)
Állományok jellemzői Azonosító Tulajdonságok NÉV + leíró együtt (ha van!) névhasználati szabályok helyettesítő karakterek Tulajdonságok méret időbélyegek jellemzők (az OR működésének kezelésére) jogosultságok
Hivatkozások Abszolút hivatkozás Relatív hivatkozás UNC (hálózat!) A kötet megadása után a hivatkozott állományig minden közbülső katalógust fel kell sorolni Pl. C:\WIN98\SYSTEM\USER.EXE Relatív hivatkozás A címzés az aktuális kötethez, katalógushoz képest történik (gyerek ‘.’, szülő ‘..’, gyökér ‘\’) Pl. ..\..\USR\ZSAZSA.LOG UNC (hálózat!) Az erőforrás tartalmazó gép és az erőforrás neve Pl. \\EREBUS\SYS\PMAIL\WINPMAIL.EXE
Példa A: C: Abszolút hivatkozások A:\DATA\ADAT1.DBF C:\TEMP\PISTA\RAJZ.JPG C:\TEMP\JOSKA\SZOVEG.TXT Relatív hivatkozások A:ADAT1.DBF C:RAJZ.JPG \TEMP\JOSKA\SZOVEG.TXT ..\TEMP\JOSKA\SZOVEG.TXT PROG DATA adat1.dbf adat2.dbf \ A: WIN95 TEMP JOSKA PISTA rajz.jpg tabla.xls szoveg.txt C:
Katalógus (könyvtár) adminisztratív virtuális logikai – fizikai azonosító összerendelése állományok tulajdonságainak tárolása virtuális megvalósítás: hierarchikus fa azonosítás: a struktúrában elfoglalt hely hivatkozás: abszolút, relatív
Állományszervezési módok feltétel: foglaltsági tábla! folytonos: FIRST FIT – első szabad BEST FIT – legjobban kihasználó WORST FIT – legtöbbet meghagyó nem folytonos láncolt lista indextábla
Példák
Példák: láncolt (FAT)
Példák: indextábla (i-node)
Felhasználói eszközök Operációs rendszerek Felhasználói eszközök A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Segédprogramok Az operációs rendszer szolgáltatásait kiegészítő alkalmazások: kényelmes(ebb) felhasználhatóság többletfunkcionalitás speciális igények pl. commanderek, tömörítők, vírusírtók, codecek, stb...
Commander programok eredetileg a karakteres felület állománykezelési parancsainak kiváltására később általános állománykezelési eszköztár szerepben felépítés: panelek 2(!) „aktív” könyvtár Norton Commander, Volkov, Far Manager, Windows Commander Total Commander
Tömörítő programok cél: tárolási méret csökkentése csoportosítás módszer veszteséges veszteség-mentes megvalósítás valós idejű („röptömörítő”) alkalmazás (egyirányú/kétirányú)
Veszteséges tömörítés „felesleges” információ kiszűrése érzékelhető adatvesztés nélkül! az információ tömörített formájában is használható! jellemzően multimédiás alkalmazási terület frekvencia-tartomány szűkítése ismétlődő adatok tárolása hivatkozással spektrum (szín vagy hangszín) szám csökkentése pl. JPG, MPEG
Veszteségmentes tömörítések adat – archívum – adat reverzibilis műveletpár eredménye a konverzió során adatvesztés nem lép fel az archívált információ nem feldolgozható kódolási algoritmusokkal hatékonyság (archív méret / eredeti méret) gyorsaság
Tömörítési algoritmusok darabszám kódolás ismétlődő jelek helyett azok száma: RLE (futási hossz) helyettesítéses szimbólum-helyettesítés (TAB = 8 szóköz) minta helyettesítés statisztikai gyakoriság: (Shannon-Fano), Huffman aritmetikai
Tömörítő programok kétfájlos tömörítők egyfájlos tömörítők külön program a kódolás-dekódoláshoz pkzip/pkunzip egyfájlos tömörítők kapcsoló a kódolás irányának meghatározásához arj a / arj x sfx – önkicsomagoló archívum
Tömörítő programok karakteres grafikus pkzip/pkunzip, arc, lha, ace, rar (menüvezérelt!) gzip, tar (Unix) grafikus WinZip, WinRar, WinAce, commander programok (operációs rendszer...)
Vírustan Fogalma: PROGRAM! Jellegzetességek reprodukciós képesség ártó szándék Jellegzetességek álca parazita-jelleg
Vírustan „klasszikus” kategóriák megjelenési mód szerint boot-vírusok alkalmazás (program) vírusok makró vírusok megjelenési mód szerint lopakodók kódváltók (polimorf)
Vírustan új típusú” veszélyhordozók férgek (worms) trójai programok (maleware) kémprogramok (spyware) redirektor hoax, spam
Vírustan vírus vagy féreg? trójai elsődleges cél a sokszorosítás a vírus hordozó útján, a féreg önállóan terjed trójai álcázott működés elsődleges cél az adatlopás (nem rombol!)
Vírusvédelem „social engineering” vírusírtó programok védő („shield”) vagy kereső („scan”) 3D („Disinfect”, „Delete”, „Deny”) pl. Symantec (NAV), McAfee, Kaspersky (FSAV), Panda, ... + hálózat védelme tűzfal, spam-szűrő, ...
Gyakorlati ismeretek: Windows XP Operációs rendszerek Gyakorlati ismeretek: Windows XP A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.
Windows XP Változatok Windows NT 4 Windows XP Windows 2000 Home Pro Windows 2000 Professional Server (Advanced, Datacenter) Windows 2003
Sajátosságok többfelhasználós, hálózati operációs rendszer NTFS 5 azonosítás (felhasználó, folyamat, eszköz) biztonság (SID, ACL) Active Directory (integrált) hálózati szolgáltatások NTFS 5 állomány-szintű jogosultság-kezelés röptömörítés, titkosítás automatikus öröklődés dinamikus lemezkezelés
Felügyelet felhasználói környezet alkalmazások hardver: HCL felhasználók és csoportok jogosultságok naplózás alkalmazások virtuális gép memória- és processzorvédelem alkalmazás – folyamat - szolgáltatás hardver: HCL szabványok: APM/ACPI, PnP háttértárak hálózati szolgáltatások
Felügyeleti eszközök-1 Vezérlőpult
Felügyeleti eszközök-2 Microsoft Management Consol (MMC) egységes keretrendszer beépülő modulok (snap-in) testreszabható távfelügyelet Start/Futtatás/mmc Vezérlőpult elemei előre definiált MMC-k!
MMC
MMC: háttértárak
Felügyeleti eszközök-3 Feladat-kezelő (Task Manager)
Felügyeleti eszközök-4 Feladat-kezelő CTRL+ SHIFT+ESC vagy CTRL+ALT+DEL komponensek Applications – Alkalmazások „futó” programok Processes - Folyamatok Performance – Teljesítmény eszközök nem válaszoló ( lefagyott! ) alkalmazások bezárása új programok indítása (Start/Futtatás)
Felügyeleti eszközök-5 Programozott felügyeleti eszközök Parancsállományok batch (DOS) Windows Scripting Host: VBScript és/vagy JScript Windows Management Instruments (WMI) Időzített futtatás Feladat-ütemező AT
Felügyeleti eszközök-6 Registry
Felügyeleti eszközök-7 automatikus felügyelet Windows Update WEB alapú felügyeleti komponens biztonsági központ frissítés, tűzfal, vírusvédelem
Felhasználók alapértelmezett telepítés mellett rendszergazda korlátozott jogú felhasználó programok futtatása csak saját környezeti beállításait módosíthatja Vezérlőpult/Felhasználói fiókok létrehozás, módosítás, törlés felhasználó-váltás
Felhasználók MMC teljes körű felügyelet jelszókezelési szabályok csoporttagság profil
Csoportok Beépített Dinamikus Rendszergazda Biztonsági másolat felelősök Kiemelt felhasználók Felhasználók Vendégek Dinamikus tagsága nem állítható tagjai a környezet függvényében változnak Mindenki Hitelesített felhasználók Névtelen bejelentkezés Interaktív Hálózat
Profil felhasználói környezet tárolása alapértelmezett munkakönyvtár bejelentkezéskor végrehajtandó parancssorozat dokumentumok helye egyéni beállítások: Asztal Tálca Vezérlőpult beállításai Start menü felépítése stb.
Házirend számítógép működésével és a felhasználó által elvégezhető műveletekkel kapcsolatos beállítások, pl.: jelszórend kizárási szabályok felhasználók rendszerre vonatkozó jogosultságai naplózás rendszerszintű biztonsági eszközök két szintű: TILTOTT/ENGEDÉLYEZETT
Házirend
Állományhozzáférés Alapelvek legkisebb elégséges jogok elve csoportos jogosultság-kezelés tiltás mindig erősebb az engedélynél több forrásból származó jogok összeadódnak öröklődés
Állományokra vonatkozó jogok Összetett (nevesített) jogok Teljes hozzáférés Módosítás Olvasás és végrehajtás Olvasás Írás elemi jogok
Megosztás könyvtárak és nyomtatók adminisztratív megosztások automatikusan létrejönnek megosztási név ($ - rejtett) jogosultsági szintek NTFS alatti megosztás esetén azonos a helyivel! hivatkozás: UNC
Gyakorlati ismeretek: Linux Operációs rendszerek Gyakorlati ismeretek: Linux A projekt az Európai Unió társfinanszírozásával, az Európa terv keretében valósul meg.