Operációs rendszerek PMTRTNB230H V2+2+0 - 5 kredit
Radó János 0. előadás Bevezetés
Félévi követelmények 2 db zárthelyi dolgozat gyakorlati órákon gyakorlati és elméleti anyagból Félévközi gyakorlati anyagrész pótlása egyszeri félév utolsó hetében (egy vagy mindkét) vagy vizsgaidőszakban
minimum követelmény: 50% (külön-külön, zhnként) vizsgajegybe beszámítás: 30%-ban 2
Félévvégi követelmények Vizsgaidőszakban – vizsga zh – teljesítendő: minimum 50% A vizsgákra nem lesz létszámi korlát, cserébe az első 3 db kérdés kötelezően és tökéletesen megválaszolandó (beugró), ellenkező esetben a dolgozatot ki sem javítom, és elégtelen. Vizsgaeredménybe maximum egy naptári évnél nem régebbi gyakorlati jegy számítható be. 3
Előadás és gyakorlatok Az előadások és gyakorlatok látogatása kötelező!
4
Jegyzet Előadás segédlet elérhető: http://rszt.pmmf.hu CSAK VÁZLAT!!! Kinyomtatva előadásra el lehet hozni az anyagot.
5
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 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
Szálak, IPC
jogosultságrendszer linux alatt
4
Ütemezés
fájlműveletek
5
Deadlock es algoritmusok
vi
6
Memória kezelés 1
szűrés, keresés
7
Memória kezelés 2
reguláris kifejezések
8
Input Output 1
Zh1
9
Input Output 2
Sed
10
File rendszerek felépítése
Awk
11
Tavaszi szünet
Tavaszi szünet
12
File rendszerek, CD-ROM, FAT, NTFS, stb
shell scriptek
13
Biztonság
shell scriptek
14
Egyéb operációs rendszerek
zh2
15
Összefoglalás
pótzh 7
Mikrogép architektúra
8
PC architektúra
9
Memória hierarchia
10
Merevlemez
11
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
12
Számítógép rendszer
13
Operációs rendszer • Legalapvetőbb rendszerprogram kezeli a rendszer erőforrásait, alapot biztosít a felhasználói programok írásához
14
Mi is az operációs rendszer? Virtuális gép
ill.
erőforrás kezelő
Felülről - lefelé Alulról - felfelé Felhasználó felé olyan A processzorokért, felületet nyújtson, memóriákért, I/O melyet könnyebb eszközökért versenyző programozni, mint a programok számára mögöttes hardvert szabályos, felügyelt módon biztosítsa ezeket 15
Történet - lyukkártya • Joseph Jacquard (1752-1834)
lyukkártya vezérlésű szövőgépe 16
Történet - első digitális sz.gép • Charles Babbage (1832) • Ada Lovelace (Ada Byron)
17
Történet – elektromos leolvasás • Herman Hollerith (1860-1929) lyukkártyák elektromos leolvasása
18
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
Lyukkártya
20
Digitalizálódás
21
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 22
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
23
Bemenetei feladat Tipikus bemenetei feladat (batch program) szerkezete
24
Új korszak – a tranzisztor • Megbízható működés • BM Stretch: 50,000 ops/sec, 3.5 millió $ • Programozási nyelvek: FORTRAN, assembly
• Tipikus operációs rendszerek FMS (Fortran Monitor System) IBSYS 25
Történet - Harmadik generáció Harmadik generáció (1965-80) Integrált áramkörök és multiprogramozás
• IBM System/360 • Új módszerek – multiprogramozás – spooling
26
Multiprogramozás és spooling • Szalagra várakozás. I/O várakozás üresjárat Multiprogramozás
• Háttértárolás - Spooling technika (Simultaneous Peripherial Operatiopn On Line) 27
Multiprogramozás alapelve
28
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
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 30
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 31
Personal Computer • PC 1970-es évek: Apple, Commodore, Radio Shack • 1981: IBM PC • 1984: Macintosh (Mac 1984 commercial)
1970 Datapoint 2200
1977 Apple II
1979 Altair
1981 IBM5150
1984 Apple Machintos 32
Merre tartunk? Mooretörvénye
33
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
34
Processzusok • Program, adat, verem szegmensekből áll
35
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 36
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
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
38
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
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 40
Mountolás • Fájlrendszerek felcsatolása a könyvtárstruktúrába
41
Pipe • Specifikus fájlok – Blokk specifikus fájl (lemezek) – Karakter specifikus fájl (nyomtatók, modemek)
• Két processzus összeköttetésére alkalmas fájl
42
Parancsértelmező - shell Nem az operációs rendszer része!
43
Operációs rendszerek belső szerkezete • • • •
Monolitikus rendszerek Rétegelt rendszerek Virtuális gépek Kliens-szerver modell - mikrokernel
44
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
Monolitikus rendszer
46
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. Réteg
MULTICS
Feladat
5
A gépépkezelő
4
Fehsználói programok
3
I/O kezelése
2
Gépkezelő - processzuskommunikáció
1
Memória és dobkezelés
0
Proesszor hozzárendelés és multiprogramozás
47
Rétegelt rendszerek
48
Virtuális gépek • virtuális gépmonitor
49
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
50
Kliens-szerver modell Mikrokernel
51
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 52
• rejtett
53
BSD 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ő 54
Sun Solaris 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
55
IBM AIX Advanced Interactive eXecutive • IBM fejlesztés (1986) • IBM POWER vagy PowerPC architektúrára • JFS2 (Journaled File System) fájlrendszer bevezetése
56
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
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 58
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 59 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 60
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 61
Ö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 62