Operációs rendszerek MINB240 V2+2+0 Dr Iványi Péter Nagyváradi Anett Radó János Nagyváradi Anett Elérhetőségek Rendszer és Szoftvertechnológia Tanszék Boszorkány út B138 Tel.: 3634-es mellék anettn@morpheus.pte.hu http://e-oktat.pmmf.hu/operacios_rendszerek_szt Fogadóóra: hétfőnként 13:30-14:40-ig 2 Előadás és gyakorlatok Félévi követelmények Az előadások látogatása kötelező nincs katalógus (de a fóliasor csak vázlat!!!) Gyakorlatok látogatása kötelező katalógus Megengedett hiányzás mértéke: TVSZ szerint 3 2 db zárthelyi dolgozat gyakorlati órákon gyakorlati és elméleti anyagból pótlás: egyszeri - félév utolsó hetében minimum követelmény: 50% (külön-külön, zhnként) vizsgajegybe beszámítás: 30%-ban Vizsgaidőszakban vizsga zh csak elméleti anyagból - teljesítendő: minimum 50% 4
Jegyzet Előadás segédlet elérhető: http://e-oktat.pmmf.hu/operacios_rendszerek_szt CSAK VÁZLAT!!! Kérem kinyomtatva előadásra elhozni az anyagot jegyzetoldal. Ajánlott irodalom A.TANENBAUM: Operációs rendszerek, Panem Kiadó Kft., 2007 Kóczi Annamária, Kondorosi Károly: Operációs rendszerek mérnöki megközelítésben, Panem Kiadó Kft., 2004 5 6 Félévi tematika hét előadás gyakorlat 1 Követelményrendszer ismertetése, bevezetés - 2 Definíció, történet, fajták, strukturák, processzusok általásos ismeretek, putty 3 4 5 Szálak, IPC Ütemezés Deadlock es algoritmusok jogosultságrendszer linux alatt fájlműveletek vi Operációs rendszerek 6 Memória kezelés 1 szűrés, keresés 7 Memória kezelés 2 zh1 8 9 10 11 12 Tavaszi szünet Input Output 1 Input Output 2 File rendszerek felépítése File rendszerek, CD-ROM, FAT, NTFS, stb Tavaszi szünet reguláris kifejezések sed awk awk 0. előadás Bevezetés 13 Biztonság shell scriptek 14 Egyéb operációs rendszerek zh2 15 Összefoglalás pótzh 7
Mikrogép architektúra PC architektúra 9 10 Memória hierarchia Merevlemez 11 12
Számítógép rendszer Számítógép rendszer Processzor Belső memória Lemezek Hálózati csatolók Nyomtatók Egyéb I/O eszközök Nyers hardver fölötti szoftver réteg Virtuális gép Operációs rendszer 13 14 Operációs rendszer Legalapvetőbb rendszerprogram kezeli a rendszer erőforrásait, alapot biztosít a felhasználói programok írásához 15 Mi is az operációs rendszer? Virtuális gép ill. erőforrás kezelő Felülről - lefelé Felhasználó felé olyan felületet nyújtson, melyet könnyebb programozni, mint a mögöttes hardvert Alulról - felfelé A processzorokért, memóriákért, I/O eszközökért versenyző programok számára szabályos, felügyelt módon biztosítsa ezeket 16
Történet - lyukkártya Joseph Jacquard (1752-1834) Történet - első digitális sz.gép Charles Babbage (1832) lyukkártya vezérlésű szövőgépe Ada Lovelace (Ada Byron) 17 18 Történet elektromos leolvasás Herman Hollerith (1860-1929) lyukkártyák elektromos leolvasása Történet - Első generáció Első generáció (1945-55) Vákuumcsövek, kapcsolótáblák Vákuumcső - meghibásodás Programozás :kapcsolótáblákkal Abszolút gépi nyelv Operációs rendszer fogalma ismeretlen 1950-es évekre lyukkártya 19 20
Lyukkártya Digitalizálódás 21 22 Történet - Második generáció Második generáció (1955-65) Tranzisztorok és kötegelt rendszerek Feladat futtatása: programozó papírra írta a programot ezt kártyákra lyukasztották kártyacsomagot a beviteli terembe vitték átadták az egyik kezelőnek mikor a gép végzett, az eredményt a kiviteli teremben kinyomtatta 23 Kötegelt rendszerek Gyűjtsünk össze egy kötegre való feladatot Egy olcsóbb géppel olvastassuk mágnesszalagra IBM 1401 Másik drágább, gyorsabb géppel végeztessük el a számításokat IBM 7094 24
Bemenetei feladat Tipikus bemenetei feladat (batch program) szerkezete Új korszak a tranzisztor Megbízható működés BM Stretch: 50,000 ops/sec, 3.5 millió $ Programozási nyelvek: FORTRAN, assembly 25 Tipikus operációs rendszerek FMS (Fortran Monitor System) IBSYS 26 Történet - Harmadik generáció Harmadik generáció (1965-80) Integrált áramkörök és multiprogramozás Multiprogramozás és spooling Szalagra várakozás. I/O várakozás üresjárat Multiprogramozás IBM System/360 Új módszerek multiprogramozás spooling Háttértárolás - Spooling technika (Simultaneous Peripherial Operatiopn On Line) 27 28
Multiprogramozás alapelve Még pár újdonság Időosztásos rendszer kialakulása CTSS (M.I.T.) Számítógép szolgáltató fejlesztése MULTICS Miniszámítógépek Ken Thompson UNIX IEEE - POSIX szabvány 29 30 POSIX Portable Operating System Interface rendszerinterfész definiálása, mely alkalmas hordozható alkalmazások készítésére ~200 C függvény segítségével adja meg Többfelhasználós több folyamat futtatására alkalmas környezet (egyedi azonosító) Hierarchikus állományrendszer Védelmi rendszer felhasználók adatainak elérését védelmi rendszer szabályozza 31 Történet - Negyedik generáció Negyedik generáció (1980-tól) Személyi számítógépek LSI (Large Scale Integration) Mikroprocesszor Kezdetben kép op.rsz. uralta a piacot: Microsoft DOS UNIX Hálózati operációs rendszerek, osztott operációs rendszerek fejlődése 32
Personal Computer PC 1970-es évek: Apple, Commodore, Radio Shack 1981: IBM PC 1984: Macintosh (Mac 1984 commercial) Merre tartunk? Mooretörvénye 1970 1977 1979 1981 1984 Datapoint 2200 Apple II Altair IBM5150 Apple Machintos 33 34 Fogalmak Rendszerhívások kiterjesztett utasítások Az op.rsz. és a felhasználói programok közötti kapcsolatot biztosító kiterjesztett utasításkészlet Processzus egy végrehajtás alatt lévő program Címtartomány Regiszterkészlet Processzustáblázat Processzusok Program, adat, verem szegmensekből áll 35 36
Rendszerhívások Programok és az op.rsz. közötti szolgáltatások igénybevételének eszközei. Speciális gépi utasítás trap (csapda) - paraméterátadás -HW működési mód váltás - paraméterek másolása - elágazása a hívott szolgáltatáshoz - visszaadott paraméterek másolása - visszatérés a hívóhoz Alapvető processzuskezelő rendszerhívások Processzust létrehozó és megszűntető rendszerhívások Pl.: parancsértelmező / shell Gyermekprocesszusok Processzusok közötti kommunikáció Memóriakezelő rendszerhívások Fájlrendszerrel kapcsolatos rendszerhívások 37 38 Fájlok Rendszerhívások szükségesek: fájlok létrehozására, törlésére, olvasására, írására Katalógus / könyvtár / directory Hierarchikus felépítés Processzushierarchia: nem túl mély (max. 3 szint) rövid életű (percek) korlátozott vezérlés, elérés munkakatalógus Fájlhierarchia: több szint is lehet hosszúéletű (évek) majdnem minden felhasználó számára van jogosultsági rendszer útvonalnévvel azonosítható 39 40
Unix rendszerek sajátossága Katalógusvédelem: 9 bites bináris védelmi kód - rwx rw- r-- (user, group, other) Fájl írása: open jogok ellenőrzése fájlleíró hibakód Mountolás Fájlrendszerek felcsatolása a könyvtárstruktúrába 41 42 Specifikus fájlok, Pipe-ok Specifikus fájlok Blokk specifikus fájl (lemezek) Karakter specifikus fájl (nyomtatók, modemek) Pipe: Két processzus összeköttetésére alkalmas fájl Parancsértelmező - shell Nem az operációs rendszer része! 43 44
Operációs rendszerek belső szerkezete Monolitikus rendszerek Rétegelt rendszerek Virtuális gépek Kliens-szerver modell - mikrokernel Monolitikus rendszer Legelterjedtebb szervezés Struktúrája a struktúrálatlanság Az op.rsz. eljárások gyűjteménye bármelyik szabadon hívhatja a másikat 45 46 Monolitikus rendszer Rétegelt rendszerek az op.rsz. rétegekből álló hierarchia is lehet minden réteg az alatta lévőre épül pl.: T.H.E. (Technische Hogeschool indhoven) Dijkstra 1968. MULTICS Réteg 5 4 3 2 1 0 Feladat A gépépkezelő Fehsználói programok I/O kezelése Gépkezelő - processzuskommunikáció Memória és dobkezelés Proesszor hozzárendelés és multiprogramozás 47 48
Rétegelt rendszerek Virtuális gépek virtuális gépmonitor 49 50 Kliens-szerver modell Mikrokernel Kliens-szerver modell Mikrokernel Op.rsz. részek magasabb rétegbe helyezés Az op rsz több funkcióját felhasználói processzusokra bízzák A kernelnek csak a kliens és szerver közötti kommunikációt kell kezelnie 51 52
Unix - Linux 1960. többfelhasználós operációs rendszer kifejlesztése 1969. Ken Thompson a UNIX kezdetleges változatának a kifejlesztése C nyelvre való áttérés Modularizálás 1971-ben publikálták az első UNIX kézikönyvet Berkeley Egyetem 1974-ben jutott hozzá egy UNIXlicenszhez 53 rejtett 54 BSD Sun Solaris Berkeley Software Distribution 1977. Bill Joy először kiegészítő Sixth Edition Unix-hoz (1BSD) Majd önálló, teljes rendszer legfőbb komponense a [Pascal programming language Pascal]] fordító 1978. 2BSD két új program Vi szövegszerkesztő C shell - parancsértelmező 55 Solaris Operating System SUN Microsystems cég által kifejlesztett Korábbi verziók: SunOS (BSD Unix-on) Elsődlegesen SPARC processzorokra írták Solaris-x86 PC-re 56
IBM AIX Advanced Interactive executive IBM fejlesztés (1986) IBM POWER vagy PowerPC architektúrára JFS2 (Journaled File System) fájlrendszer bevezetése I5/OS iseries vagy AS/400 néven is ismert 1988 IBM System i rendszereken használt operációs rendszer architektúrája 128 bitre van tervezve struktúrája nem processzorközpontú, hanem alkalmazáscentrikus 57 58 Windows ablaktechnikán alapuló rendszer mindent szabad, kivéve néhány dolgot elv alapján épültek fel felhasználói programok a teljes rsz-t elérték biztonság hiánya New Technology fájl szintű Hozzáférés Vezérlő Lista alapú jogosultságkezelés 59 Windows történet 1985 Windows 1.0 1990 Windows 3.0 (a legsikerültebb verzió) 1992 Windows 3.1 (ez az első Windows, ami IBM XT-ken már nem működik) 1993 Windows NT (New Technology, ez volt az első önálló operációs rendszer, ami nem igényelt DOS-t maga alá) 1994 Windows 3.11 (for Workgroups, hálózati támogatottsággal) 1995 Windows 95 (önálló operációs rendszer, CD-n is forgalmazták) 1996 Windows CE (laptopokra és palmtopokra) 1998 Windows 98 (sok 95-ös hiba kijavítása, főleg az Internetes lehetőségei) 1999 Windows Me 2000 Windows 2000. (NT és 9x vonalak összefonása) 2001 Windows XP (=experience - élmény) A Stabil NT/2000-es folytatása 2007 Windows Vista 60 2010 Windows 7 munkanével (hipervizor technika )
OS/2 Operating System/2 (1988) IBM és Microsoft által fejlesztett rendszer Az IBM Personal System/2 rendszerekre HPFS (High Performance File System) fájlrendszer Hosszú fájlnevek Kis és nagybetűérzékeny Hatékonyabb lemezkihasználtság 61 Novell Netware Hálózati operációs rendszer (1983) Diszkmegosztás helyett fájlmegosztás Különféle, különálló hálózatok egy egységes hálózattá való összeintegrálása Bármikor, bárhonnan elérhető a különféle hálózati platformokról asztali operációs rendszerekről vezeték nélküli eszközökről Moduláris felépítés 62 Összefoglalás Vizsgálat kétféle nézőpontból Erőforráskezelők Kiterjesztett gépek Történet Először csak gépkezelő helyettesítése Korszerű, multiprogramozható rendszerek Minden operációs rendszer lelke: Megvalósított rendszerhívások készlete Többféleképpen struktúrálhatóak Monolitkus, rétegelt, virtuális gép, kliens szerver modell 63