Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós.

Hasonló előadás


Az előadások a következő témára: "Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós."— Előadás másolata:

1 Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós

2 Programozói felület – I. A programozók számára az operációs rendszer, azon belül is a kernel, lehetőséget biztosít a hardver eszközök használatához. Ez rendszerhívások használatával lehetséges. A rendszerhívásokat az alacsony szintű nyelveken közvetlenül lehet kezelni, magas szintű nyelveken különböző eljárásokon keresztül lehet használni.

3 Programozói felület – II. Másképpen: a programozók számára a kernel egy eljárás vagy függvény könyvtár, amelyel leegyszerűsödik a programozás. A DOS nagyjából 100, alapvető függvényt kínált, a legelső Windows azonban már rögtön 1000 körüli, magas szintű függvény tett használhatóvá.

4 API API (alkalmazásprogramozási felület, Application Programming Interface): egy program vagy operációs rendszer nyilvános eljárásainak listája, és ezeknek a dokumentációja. Egy jól elkészített API –t lehet úgy használni, hogy a mögötte lévő program vagy rendszer belső működését ismernénk.

5 SDK SDK (szoftver fejlesztői környezet, Software Development Kit): olyan összeállítás, amely tartalmaz minden, tipikusan a szoftver fejlesztéshez használt eszközt (fejlesztői felület, dokumentáció, segédprogramok), amely lehetővé teszi egy adott platformon az adott nyelven történő programozást.

6 A program készítésének menete – I. 1.Forráskód elkészítése Valamilyen (szöveg)szerkesztővel létrehozott kötött szintaktikájú algoritmus leírás előállítása. 2.Fordítás (compiling) A forráskódból, gépi kódú a CPU számára értelmezhető utasításokat, rendszerhívásokat tartalmazó tárgykódú (object) modul előállítása. Ez még nem tartalmazza a változók, ugrások abszolút címeit, és feltételezi, hogy a program a 0. címtől van a memóriába töltve.

7 A program készítésének menete – II. 3.Szerkesztés (linking) A szerkesztés során az object modulokban lévő memóriacímek összehangolásra, az esetleges kereszthivatkozások feloldásra kerülnek, illetve a végrehajtható program előállításra kerül.

8 Betölthető kód Tárgykód Rendszerkönyv- tárak (LIBRARY) Forráskód (C, Assembly)

9 DLL Fontos, hogy egy rendszerkönyvtárat vagy program részt csak akkor töltsük be a memóriába, amikor valóban szükség van rá, de ha betöltésre került, minden futó program számára elérhető legyen. Erre szolgál a DLL (Dinamikusan Szerkeszthető Könyvtár, Dinamic Link Libray), amellyel a fenti működés megvalósítható.

10 Erőforrás kezelés – I. Erőforrás: minden, ami egy folyamat végrehajtásához szükséges (memória, processzor,perifériák, állományok stb.) Erőforrás kezelés feladata: a számítógéprendszer erőforrásainak elosztása (a futó folyamatok igényei alapján) az erőforrások használatáért vívott versenyhelyzetek kezelése

11 Erőforrás kezelés – II. Erőforrás kezelés céljai: A rendszer működését gazdaságossá tenni – elkerülni a hibás helyzet (holtpont, kiéheztetés) kialakulását (És/vagy) felszámolni a kialakult hibás helyzeteket

12 Erőforrások fajtái – I. Alapvető elosztás - hardveres erőforrás (pl. memória) - szoftveres erőforrás (pl. programok) Operációs rendszerrel tartott viszony szerint - hagyományos ( pl. merevlemez, CPU) - operációs rendszer által létrehozottak (pl. pufferek, tartalomjegyzékek)

13 Erőforrások fajtái – II. Folyamathoz rendelés szerint - megszakítható (preemptív) - nem megszakítható (non preemptív)

14 Erőforrás kezelés szerinti erőforrás definíció - I. Az erőforrás-kezelő olyan erőforrásokkal foglalkozik, amelyek: - nem megosztható (non shareable) más folyamatokkal - használatuk nem megszakítható (non preemtive), de a folyamatok egymás után használhatják ezeket

15 Erőforrás kezelés szerinti erőforrás definíció - II. - korlátozott számúak (pl. 3 erőforrásból nem lehet 4 –et lefoglalni) - egész számúak (pl. 3 erőforrásból nem lehet 1,7 lefoglalni) - egyenrangú elemekből álló csoportokra oszthatóak (pl. 3 erőforrásból bármelyik jó)

16 Erőforrás kezelő Erőforrás kezelő (resource manager): a rendszermag azon része, amely az erőforrások elosztásáért, lefoglalásáért felelős.

17 Erőforrás foglalás folyamata – I. Sikeres foglalás A folyamat erőforrást igényel Erőforrás kezelő kiértékelést végez Erőforrás hozzárendelése a folyamathoz A folyamat jelzi, hogy nem kell a lefoglalt erőforrás Az erőforrás kezelő felszabadítja az erőforrást

18 Erőforrás foglalás folyamata – II. Sikertelen foglalás A folyamat erőforrást igényel Erőforrás kezelő kiértékelést végez Erőforrás kezelő visszautasítja az igénylést A visszautasítás lehet végleges, vagy időleges, ez utóbbi esetben a folyamat várakozik, és az erőforrás várólistájára rákerül az adott folyamat.

19 Erőforrás foglalási gráf AI „A” folyamat igényli az „I” erőforrást BII „B” folyamat birtokolja a „II” erőforrást

20 Holtpont – I. Az erőforrás kezelés hibájának egyik legrosszabb esete a holtpont (deadlock). Az erőforrás kezelés szabadelvű (liberális) stratégiája az, hogy minden osztályozás nélkül engedjük az erőforrás használatot, ha van szabad erőforrás. Ha nincs, a folyamat várakozik.

21 Holtpont – II. Ez a liberális stratégia holtpont kialakulásához vezethet. Holtpont, az az állapot, ahol több folyamat egy olyan erőforrás felszabadítására vár amit csak egy ugyancsak várakozó folyamat tudna előidézni.

22 Holtpont – III. A I B II

23 Holtpont – IV. Holtpont kialakulásának feltételei Az erőforrások nem megoszthatóak (non shareable) Várakozás közben lekötés történik - a várakozó erőforrások lefoglalva tartanak erőforrásokat Az erőforrások nem elvehetőek (non preemtiv) Ciklikus (körkörös) várakozás van

24 Holtpont – V. A holtpont kialakulásához a fent feltételeknek EGYSZERRE kell teljesülniük, VAGYIS HA AZ EGYIK FELTÉTEL NEM TELJESÜL, NEM ALAKUL KI HOLTPONT.

25 Kiéheztetés – I. A liberális erőforrás kezelési stratégia ellentéte a konzervatív erőforrás kezelési stratégia. Ennél az erőforrás kezelő megtiltja, hogy egynél több folyamat rendelkezzen több lefoglalt erőforrással. Ha mégis ilyen lenne, az a folyamat várakozni kényszerül. Ha a futó folyamatnak nincsen több erőforrásra szüksége, a várakozó folyamatok közül egy előlép.

26 Kiéheztetés – II. Eme stratégia főbb hibái: Az erőforrások jó része kihasználatlanul áll. Könnyen kialakulhat a kiéheztetés (starvation). Kiéheztetés az az állapot, amikor a várakozni kényszerülő folyamatok közül az erőforrás kezelő olyan módszerrel választ folyamatot, amely egyes folyamatokat előnyben részesít, így más folyamatok belátható időn belül nem jutnak a kívánt erőforráshoz, és csak várakoznak („éheznek”).

27 Holtpont kezelése Holtpont megelőzése Kialakult holtpont megszüntetése A megelőzés jobb, de nem mindig lehetséges !

28 Holtpont kezelő stratégiák Egyetlen foglalási lehetőség (One –shot allocation) Rangsor szerinti foglalás (Hierarchical allocation) Bankár algoritmus (Banker’s algorithm)

29 Egyetlen foglalási lehetőség Csak az a folyamat foglalhat le erőforrást, amely még egyetleneggyel sem rendelkezik. A lefoglalás egyszerre, csak egy lépésben történhet. Hátránya: - nem sokkal jobb a konzervatív stratégiánál (rossz az erőforrások kihasználtsága) - egy folyamat erőforrás igénye nem mindig mérhető fel - nagy a kiéheztetés veszélye

30 Rangsor szerinti foglalás – I. Az erőforrások osztályaihoz egy- egy növekvő sorszámot rendelünk, a leggyakrabban használt kapja a legkisebb sorszámot. A folyamat osztályon belüli erőforrásokat csak egyszerre igényelheti. Egy folyamat csak olyan osztályból igényelhet erőforrást, melynek sorszáma magasabb, mint a már birtokolt erőforrások sorszáma.

31 Rangsor szerinti foglalás – II. Hátrányok: - A hatékonyságot befolyásolja a a sorszámok kiadásának módja. (A feladat orientált rendszerek kivételével nehéz megmondani, hogy mi lesz a leggyakrabban használt erőforrás.) - Alacsonyabb sorszámú erőforrás igénylésekor az erőforrások felszabadítására van szükség (Ez várakozással jár.)

32 Bankár algoritmus – I. A lényege: sohase elégítsünk ki egy igényt, ha az bizonytalan állapotot eredményez! A folyamatoknak a tényleges foglalást megelőzően be kell jelenteniük maximális igényeiket a különböző erőforrásokra. Az erőforrás kezelő mindaddig nem elégíti ki az igényt, amíg nem biztosítható, hogy az újabb erőforrások lefoglalása által előálló új állapot biztonságos.

33 Bankár algoritmus – II. Egy rendszer állapota akkor biztonságos, ha létezik egy olyan sorrend, amely szerint a folyamatok erőforrás igényeit kielégítve sohasem lép fel a körkörös várakozás lehetősége. A nem biztonságos állapot nem jelenti automatikusan a holtpont kialakulását, de esélyt ad rá !

34 Bankár algoritmus – III. Holtpont Biztonságos állapotok NEM biztonságos állapotok

35 Bankár algoritmus számítás 1. példa – I. FolyamatokLefoglalt erőforrás Max. igény Várható igény A462 B4117 Szabad4 Összesen12 Biztonságos ez az állapot ?

36 Bankár algoritmus számítás 1. példa – II. FolyamatokLefoglalt erőforrás Max. igény Várható igény B4117 Szabad8 Összesen12 Igen. AB sorrendiségben biztonságos az erőforrások kiosztása.

37 Bankár algoritmus számítás 2. példa – I. FolyamatokLefoglalt erőforrás Max. igény Várható igény A462 B4117 C286 Szabad2 Összesen12 C folyamat beengedhető ?

38 Bankár algoritmus számítás 2. példa – II. FolyamatokLefoglalt erőforrás Max. igény Várható igény B4117 C286 Szabad6 Összesen12

39 Bankár algoritmus számítás 2. példa – III. FolyamatokLefoglalt erőforrás Max. igény Várható igény B4117 Szabad8 Összesen12 Igen. ACB sorrendiségben biztonságos az erőforrások kiosztása.

40 Bankár algoritmus számítás 3. példa: többszörös erőforrások – I. Lefoglalt erőforrás Max. igény E1E2E3E1E2E3 F F F F F Egy rendszerben az alábbi erőforrások vannak: E1: 10 darab E2: 5 darab E3: 7 darab A rendszerben 5 folyamat van: F1, F2, F3, F4, F5 Biztonságos -e holtpontmentesség szempontjából a következő állapot?

41 Bankár algoritmus számítás 3. példa: többszörös erőforrások – II. Igény = [Max. igény] – [Lefoglalt erőforrás] Max. igény Lefoglalt erőforrás Igény E1E2E3E1E2E3E1E2E3 F F F F F

42 Bankár algoritmus számítás 3. példa: többszörös erőforrások – III. Induló készlet kiszámítása: Készlet = [Σ erőforrás] – [Σ lefoglalt erőforrás] Lefoglalt erőforrás E1E2E3 F1010 F2302 F3302 F4211 F5002 Σ827

43 Bankár algoritmus számítás 3. példa: többszörös erőforrások – IV. A készlet: {2,3,0} E1E2E3 Erőforrás1057 Lefoglalt erőforrás 827 Készlet230

44 Bankár algoritmus számítás 3. példa: többszörös erőforrások – V. Igény kielégítése (1.lépés) Induló készlet: {2,3,0} Új készlet számítása Készlet + Foglalás {2,3,0} + {3,0,2} = {5,3,2} Lefoglalt erőforrás Igény E1E2E3E1E2E3 F F F F F

45 Bankár algoritmus számítás 3. példa: többszörös erőforrások –VI. Igény kielégítése (2.lépés) Induló készlet: {5,3,2} Új készlet számítása {5,3,2}+{0,0,2} = {5,3,4} Lefoglalt erőforrás Igény E1E2E3E1E2E3 F F F F

46 Bankár algoritmus számítás 3. példa: többszörös erőforrások –VII. Igény kielégítése (3.lépés) Induló készlet: {5,3,4} Új készlet számítása {5,3,4}+{2,1,1} = {7,4,5} Lefoglalt erőforrás Igény E1E2E3E1E2E3 F F F

47 Bankár algoritmus számítás 3. példa: többszörös erőforrások –VIII. Igény kielégítése (4.lépés) Induló készlet: {7,4,5} Új készlet számítása {5,3,4}+{0,1,0} = {7,5,5} Lefoglalt erőforrás Igény E1E2E3E1E2E3 F F

48 Bankár algoritmus számítás 3. példa: többszörös erőforrások – IX. Igény kielégítése (5.lépés) Induló készlet: {7,5,5} Új készlet számítása {5,3,4}+{3,0,2} = {10,5,7} Lefoglalt erőforrás Igény E1E2E3E1E2E3 F

49 Bankár algoritmus számítás 3. példa: többszörös erőforrások – X. A feladat megoldása: az állapot biztonságos. A folyamatok lefutásának sorremdje: F2-F5-F4-F1-F3

50 Bankár algoritmus számítás többszörös erőforrások megoldási lépések 1. Induló készlet meghatározása: az összes erőforrás számából kivonjuk a Lefoglalt erőforrás mátrix egyes oszlopainak összegét 2. Az Igény mátrix meghatározása: a Max. igény mátrix elemeiből kivonjuk a Lefoglalt erőforrás mátrix elemeit 3. Megnézzük, van-e olyan folyamat, melynek igénye a készletből kielégíthető /Készlet(i)>=Igény(i) 4. Ha nincs ilyen sor az állapot nem biztonságos 5. Ha volt ilyen, akkor az új készletet meghatározzuk az eredeti készlet elemeihez hozzáadjuk az előzőleg kiválasztott folyamat Lefoglalt erőforrás sorának elemeit 6. Ha van még folyamat, ugrás a 3. pontra


Letölteni ppt "Operációs rendszerek Óravázlat Készítette: Kucsera Mihály és Toldi Miklós."

Hasonló előadás


Google Hirdetések