OR_01_Bevezetés_zs

Download Report

Transcript OR_01_Bevezetés_zs

Operációs rendszerek

Bevezetés az operációs rendszerek világába 1

Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Alkal mazás Felhasználói felület Hardver Alkal mazás Operációs rendszer Operációs rendszer (kernel) 2

A számítógépes rendszerek fő komponensei

banki r.

szerk.

repjegy. web böng.

fordítók parancsért.

operációs rendszer

gépi nyelv mikroprogramozás fizikai eszközök felhaszn.pr.

rendszerpr.

hardver 3

Az operációs rendszerek fogalma • Operációs rendszer: – intelligens (feladat-végrehajtásra alkalmas) gép a HW-re mint erőforrásra támaszkodva.

• Operációs rendszerek általános funkciói: – szolgáltatások (kényelem) a felhasználó számára, – hatékony HW kihasználás. 4

OPR interface-ek • Interface: – ~felület, – OPR interface: kommunikációs felület, amin keresztül az OPR szolgáltatásait igénybe lehet venni.

• OPR interface az alkalmazások felé: – API (Application Programming Interface)(  MS), – rendszerhívások (  UNIX).

• OPR interface az felhasználó felé: – felhasználói interface (pl. UNIX: shell, Windows XP: cmd ).

5

Az operációs rendszerek feladatai • Program végrehajtási környezet biztosítása. • Program fejlesztési környezet biztosítása.

• Erőforrás gazdálkodás.

• Vezérlő program.

6

Operációs rendszerhez tartozó SW komponensek Szélsőséges alternatívák:   A számítógépen állandóan futó vezérlő program (

kernel

). Minden, a gép általános felhasználásához szükséges program. 7

Operációs rendszerek fejlődése 8

Operációs rendszerek fejlődése • Operációs rendszerek párhuzamosan fejlődtek a számítógépek architektúrájának fejlődésével.

9

Számítógépek felépítésének fejlődése 10

Bus struktúra CPU

Adat bus

Memória 11

Vezérlők használata CPU HD vezérlő Grafikus vez.

Adat bus

Memória vezérlő Memória 12

IT kezelésre alkalmas HW struktúra HD vezérlő Grafikus vez.

Adat bus

IT vezérlő Bus/ Memória vezérlő Memória CACHE CPU 13

Modern számítógépes rend szerek felépítésének jellemzői • Bus struktúra: – CPU, memória, vezérlők.

• Megszakítások: – külső-belső események kezelése, – óra IT.

• Rendszer betöltése: – ROM memóriából.

14

Be és kivitel (I/O) • Perifériák és a memória közötti adatforgalom: – megszakítások, – adatátvitel közvetlen tárhozzáféréssel (DMA). • Perifériakezelés: – szinkron, – aszinkron.

15

Számítógépek adattároló eszközeinek hierarchiája        regiszterek gyorsmemória (cache) központi memória elektronikus diszk mágneses diszk optikai tárolók mágnesszalag Elérési idő, Kapacitás Ár/Bit 16

Program végrehajtás modellje bemenet Végrehajtó számító gép kimenet beolvasás feldolgozás program kiírás idő 17

Gyakorlati tapasztalat • Egy adott feladat (job, task) feldolgozási lépéseinek ideje nagyságrend(ekk)(d)el kisebb, mint a bemenetek beolvasásának, ill. kimenetek kiírásának időigénye.

18

Operációs rendszerek fejlődése Operációs rendszerek fejlődése párhuzamos a HW fejlődésével.

A HW hatékony kihasználásának alapvető eszközei (ne várakozzon a CPU): –program váltás gyorsítása, –az I/O műveletek és a feldolgozás (CPU használat) átlapolása.

19

Batch típusú rendszerek • Nincs operációs rendszer (open shop).

• Operátor alkalmazása (closed shop).

• Kötegelt feldolgozás (batch).

• Egyszerű monitor. 20

Megoldások I/O műveletek gyorsítására • Off-line feldolgozás.

• Pufferelés.

• Spooling.

21

Off line feldolgozás • Különböző gyorsaságú (és árú) perifériák.

• Gyors feldolgozásra képes CPU.

• Adott idő alatt feldolgozott job-ok számának emelése: – különböző programok I/O műveleteinek időbeni átlapolása, – párhuzamos műveletek külön HW elemeken.

22

On line feldolgozás Szg. CPU Lassú periféria Lassú periféria 23

Lassú periféria Átírás Off line feldolgozás Átírás Szg. CPU Gyors periféria Gyors periféria Lassú periféria 24

Pufferelés • Lassú perifériákból származó adatok átmeneti tárolása a memóriában.

• HW támogatás szükséges(!!!) – megszakítás, periféria vezérlők.

• Adott program I/O műveleteinek és feldolgozásának átlapolása.

• Hatékony gyorsítás, ha szinkronban van a beolvasás a feldolgozással...

25

Pufferelés Input Beolvas Kiír Monitor Program Input(puffer) Output(puffer) Output Idő Beolvasás Feldolgozás Kiírás 26

Spooling • Simultaneous Peripheral Operation On-line.

• HW fejlődés: mágneslemez megjelenése – gyors elérés, – NEM szekvenciális működés.

• A program kód, valamint a bemenetek és a kimenetek együttes, átlapolódó kezelése  folyamat kialakulása.

27

Spooling CPU Memória OR Monitor JOB1 JOB2 JOB3 Kimenet kiírása Feldolgozás Bemenet beolvasása JOB1 JOB2 JOB3 Lemez IN OUT IN OUT IN OUT 28

Multiprogramozott rendszerek 29

Multiprogramozott rendszerek kialakulása • Több futó program (folyamat) kezelése.

• CPU sohasem kihasználatlan.

• Egyes folyamatok számára észrevehetetlen.

• Többletfeladatokat ró az operációs rendszerre.

30

Multiprogramozott rendszerek • A művelet vagy utasítás: – 1 többnyire oszthatatlan matematikai kifejezés.

• A folyamat (job, task, process): – műveletek meghatározott sorrendje, – önmagában szekvenciális, – végrehajtás alatt álló (rész)program.

• A szál, avagy 1 folyamat-lefutási variáció – párhuzamos végrehajtású, közös memóriát használó utasítás-variációk - az adatfüggő elágazások miatt - a folyamaton belül.

31

Multiprogramozott rendszerek • Több párhuzamosan futó folyamat.

• OR választ a futásra kész folyamatok között. • Különböző programok CPU és a perifériás műveleteinek átlapolása.

• Hatékony HW kihasználás. 32

Multiprogramozott OR-ek többletfeladatai •

Job

ütemezés.

• CPU ütemezés.

• Tárgazdálkodás.

• Erőforrás allokáció.

• Védelmi mechanizmusok biztosítása. 33

Jellemző megoldások multiprogramozott rendszerekben 34

Időosztásos rendszerek (time sharing) • Gyors

job

váltás. • CPU idő elosztása a folyamatok között.

• Rendszerszervezési elv.

• Folyamatok CPU használata limitált.

35

Interaktív rendszerek • Interaktív kommunikáció: user-job-OR között.

• Felhasználó beavatkozását lehetővé tevő rendszer típus.

• Rövid válaszidő biztosítása.

• 100 ms nagyságrendű válasz.

• Tipikusan időosztásos rendszerek.

• On-line file rendszer.

36

Napjaink rendszerei • Multiprogramozott "kötegelt" rendszerek.

• Időosztásos multiprogramozott rendszerek.

37

Számítógépes rendszerek típusai 38

Rendszer típusok • Típusba sorolás szempontjai: – alkalmazási terület, – felépítés, – kapacitás.

• Az egyes típusokban különböző OPR.

39

Számítógépek kategóriái kapacitás alapján • „Szuper-számítógépek”.

• Nagygépes környezetek.

• Munkaállomások.

• „Mini és mikro” számítógépek.

40

Személyi számítógépes rendszerek • Egyfelhasználós rendszerek.

• Eredetileg kiskapacitású hardver.

• Gyors kapacitásbővülés.

• Lehetőség “igazi” OPR használatára.

41

Párhuzamos hardveren alapuló rendszerek • Csoportosítás csatolás alapján: • Többprocesszoros rendszerek • szorosan csatolt (közös tárral, órajellel rendelkező) hardver.

• Elosztott rendszerek • lazán csatolt (hálózati) rendszerek.

42

Párhuzamos rendszerek osztályai • Csoportosításuk funkció alapján: • szimmetrikus, • aszimmetrikus.

• Csoportosításuk felépítés alapján: • homogén, • inhomogén. 43

Elosztott rendszerek előnyei • Erőforrás megosztás (resource sharing).

• Nyílt és méretezhető rendszer (open system).

• Konkurens működés (concurrency).

• Hibatűrés, megbízhatóság (fault tolerance, reliability).

• Kommunikáció (communication). 44

Valósidejű (real time) rendszerek • Garantált válaszidő a külső eseményekre.

• Ütemezés kritikus.

• Ipari alkalmazások.

• Kevés multiprogramozott rendszer.

45

I/O kiszolgálás multiprogramozott rendszerben 46

I/O kiszolgálás multi programozott rendszerben • Rendszerhívás: – alkalmazás OR szolgáltatást vesz igénybe.

• Megszakítás (Interrupt): – periféria kiszolgálása (OR feladata).

47

I/O kiszolgálás multi programozott rendszerben

I/O folyamat Operációs rendszer rendszerhívás I/O start I/O ra vár A folyamat I/O vége IT IT kiszolgálás Futásra kész, CPU-ra vár I/O start B folyamat Futásra kész, CPU ra vár Megszakítva I/O ra vár

Megszakítások kiszolgálásainak lépései • IT elfogadása.

• Módváltás – processzor rendszermódba kapcsol.

• A megszakítás-kezelő program szükség szerint elmenti a megszakított folyamat környezetét: regiszterek elmentése.

• IT kiváltó esemény azonosítása.

• IT rutin meghívása.

• IT rutin végrehajtása.

• Regiszterek visszaállítása.

• Módváltás.

• RETURN.

49

Rendszerhívások • OPR szolgáltatásainak igénybevétele (API).

• Megszakításhoz hasonló működés: – OPR kapja meg a vezérlést.

• Különbség: – bemenő paraméterek, – visszatérési érték.

50

Fejlett hardver megoldások 51

Védelmi mechanizmusok • Két módú programfuttatás – felhasználói- és rendszer- (privilegizált) mód, – privilegizált utasítások, – TRAP utasítás a módváltáshoz.

• Tár címtartományok védelme.

• Óra periféria, rendszeres megszakítások.

52

Operációs rendszerek tipikus komponensei és jellemző felépítése 53

Operációs rendszerek részei és szolgáltatásai • Összetett funkcionalitás.

• Rendszer feladatának dekomponálása, részekre bontása: moduláris felépítés.

• Részek (alrendszerek) elhatárolása a funkcionalitás alapján.

• Kevés réteg, több funkció-modul.

54

Rendszerkomponensek I.

• Folyamat kezelő: – program végrehajtás, folyamatok vezérlése, szinkronizáció, kommunikáció. • Központi tár kezelő: – memória kiosztás, programok betöltése, kirakása, virtuális memória kezelés. • Állomány kezelő: – file-ok és könyvtárak kezelése. 55

Rendszerkomponensek II.

• I/O kezelő: – driverek, I/O eszközök kezelése.

• Másodlagos tárolók kezelői: – diszkek, szalagok kezelése, ütemezése.

• Védelmi rendszer: – a folyamatok egymástól és külső behatástól történő védelme. 56

Rendszerkomponensek III.

• Hálózat kezelő: – elosztott rendszerekben kommunikációs hálózati összeköttetés kezelése, erőforrások távoli elérése. • Kezelői felület: – parancsértelmező (felhasználói interface). 57

Operációs rendszerek legfontosabb szolgáltatásai I.

• Szolgáltatások (kényelem): – programok végrehajtása, – I/O műveletek, – file kezelés, – kommunikáció, – hiba detektálás, lokalizálás.

58

Operációs rendszerek legfontosabb szolgáltatásai II.

• Optimális működés (HW kihasználás): – erőforrás foglalás, – rendszerinformációk gyűjtése, elszámolás biztosítása, – védelmi és biztonsági mechanizmusok biztosítása. 59

O perációs rendszerek fizikai felépítése 60

O perációs rendszerek felépítése • Komplex, nagyméretű szoftver rendszer. • Hosszú életciklus, sok változat.

• A szoftver fejlesztés általános elveinek használata.

• Szempontok: – hatékonyság, – karbantarthatóság, hordozhatóság.

61

Alapvető szervezési elvek I.

• Moduláris szerkezet – Modulok jól definiált működéssel.

– Példa: "klasszikus" UNIX szerkezet. 62

Alapvető szervezési elvek: • Monolitikus kernel: (pl.: UNIX) – a modulok egymással korlátozás nélkül érintkezhetnek, – minden funkció egyetlen, megbonthatatlan egységben, – nagy teljesítményű, de módosításkor újrafordítandó, – hiba esetén a teljes rendszert veszélyezteti, – a teljes rendszer kernel módban fut.

63

Monolitikus kernel APL1 APL2 Modul0 Modul1 Modul2 Modul3 Modul4 HW 64

Alapvető szervezési elvek: • Mikrokernel: (pl.: Microsoft Singularity) – csak a legfontosabb komponenseket tartalmazza (folyamatok betöltése, kommunikációja), – minden mást különálló rendszerfolyamatok végeznek el, user módban, – a rendszerfolyamatok kernel funkcióit rendszerhívásokkal biztosítják (ezáltal ~10% az időveszteség), – kisebb teljesítményt biztosít, de azt „stabilabban”, – dinamikusan, sőt akár futás közben is bővíthetőek!

65

Alapvető szervezési elvek: • Vegyes kernel: (pl.: Microsoft NT) – az arany középút, a biztonság és a teljesítmény között!

66

Alapvető szervezési elvek: Rétegszerkezet • Rétegszerkezet: – interface-k használata, – a rendszer bonyolult folyamatainak az elrejtése, – hatékony végrehajtást megvalósító funkciómegosztás.

• Nehéz tiszta rétegszerkezetben a funkciók egymásra építése. 67

Átfogó működési felépítés az egymásra épülő rétegekkel alapréteg Alkalmazói szoftver Alkalmazói interfész (API) Operációs rendszer Szoftver-hardver interfész Hardver 68

rejtett adatok Rétegszerkezet APL1 4. réteg APL2 3. réteg 2. réteg interface-ek 1. réteg HW 69

Alapvető szervezési elvek: Kliens szerver működés • Kliens-szerver működés: – Meghatározott funkcióért felelős modulok: szolgáltatások nyújtása és használata.

– A szolgáltatások igénybevétele kommunikációs csatornán keresztül. 70

Kliens szerver működés 1. kérés kliens szerver 2. szolgáltatás kliens kliens kliens 3. válasz 71

kérés

Kliens szerver működés operációs rendszerekben Kliens applikáció File szerver Hálózati szerver

válasz

Folyamat kezel ő Memória Manager

válasz user mód kernel mód

Mikrokernel Hardver

kérés

72

Alapvető szervezési elvek: Virtuális gép • Virtuális gép (virtual machine, VM): – réteg szerkezet speciális használata, – HW teljes körű szimulációja (védett utasítások is), – előny: • valós HW erőforrások osztott kezelése, • különböző operációs rendszerek akár egyidejűleg is, változtatás nélkül futtathatók, • egyedüliség érzetének a keltése, – Java VM (hordozható!), PC emulátorok.

73

Virtuális hardver Alkal mazás UNIX Alkal mazás DOS Alkal mazás W XP Kernel Kernel Kernel

Virtuális hardver

Hardver 74