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

Slides:



Advertisements
Hasonló előadás
Koordináták, függvények
Advertisements

A hálózat működése 1. A DHCP és az APIPA
Készítette: Kun Béla.  Operációs rendszernek nevezzük a számítástechnikában a számítógépeknek azt az alapprogramját, mely közvetlenül kezeli a hardvert,
Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
A tevékenységhosszak és az erőforrás- mennyiségek kapcsolata Készítette: Szentirmai Róbert (minden jog fenntartva)
Önkormányzati információs rendszer
Az operációs rendszer Egy olyan szoftver, ami a számítógépeink használatához nélkülözhetetlen. Főbb feladatai: programok betöltése, futtatása perifériák.
Hatékonyságvizsgálat, dokumentálás
C++ programozási nyelv Gyakorlat hét
A Blown-up rendszer Biczók Gergely Rónai Miklós Aurél BME Számítástudományi és Információelméleti Tanszék Turányi Zoltán Richárd Ericsson Traffic Lab Valkó.
3. A programozás eszközei, programozás-technikai alapismeretek
Az operációs rendszer.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Ütemezési algoritmusok (FCFS, SJF, RR)
Programozás alapjai A programozás azt a folyamatot jelenti, melynek során a feladatot a számítógép számára érthető formában írjuk le. C++, Delphi, Java,
13.a CAD-CAM informatikus
Szoftevrismeret Operációs rendszerek.
A szoftver.
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Mutatók, tömbök, függvények
Holtpont megelőzés Bankár algoritmussal Biztonságosnak nevezzük (holtpont kialakulása szempontjából) azokat a folyamat-erőforrás rendszereket, amelyekben.
Készítette: Pető László
Az operációs rendszerek
SZÁMÍTÓGÉP ARCHITEKTÚRÁK
Papp Róbert, Blaskovics Viktor, Hantos Norbert
Önálló laboratórium december 19.1 Fejlesztő rendszer kialakítása SYMBIAN operációs rendszerű GSM terminálokhoz Hegedűs Iván Mihály Pázmány Péter.
CISC - RISC processzor jellemzők
„Országos” feladat. Feladat: Egy tetszőleges, színes országokat tartalmazó térképen akar eljutni egy kommandós csapat egy országból egy másikba. Viszont.
ISZAM III.évf. részére Bunkóczi László
Operációs rendszerek Holtpont.
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
Programrendszer 2. Erőforrás – erőforrás elosztás 3. Indítja és ütemezi a programokat 4. kommunikáció 2 Takács Béla.
A programozás alapjai A számítógép számára a feladat meghatá- rozását programozásnak nevezzük. Ha a processzor utasításait használjuk a feladat meghatározásához,
Számítógépes üzemmódok
Operációs rendszer.
Kapacitás, átbocsátóképesség, időalapok, az erőforrás nagyság, átfutási idő, a termelő-berendezések térbeli elrendezése. Átfutási idő számítások.
Az operációs rendszer Az operációs rendszer a számítógépet működtető szoftver, amely a számítógép indulásakor azonnal betöltődik a számítógép memóriájába:
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
3.2. A program készítés folyamata Adatelemzés, adatszerkezetek felépítése Típus, változó, konstans fogalma, szerepe, deklarációja.
Programozási nyelvek.
PHP oktatási tapasztalatok
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Az operációs rendszerek feladata, fajtái, felépítése
Prímrekord, 2005 Csajbók Tímea, Farkas Gábor, Kasza János.
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
A Mikroprocesszor Harmadik rész.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Óravázlat Készítette: Toldi Miklós
Óravázlat Készítette: Toldi Miklós
Szoftverek.
Óravázlat Készítette: Kucsera Mihály és Toldi Miklós
Programozás, programtervezés
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
2. Operációs rendszerek.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
PIC mikrokontroller.
Mi a logisztikai szimuláció? Egy logisztikai rendszer szereplői... Gyártás Raktározás Rendelés.
Programok készítése és futtatása. Integrált fejlesztői környezet (IDE) tartalmaz:  szövegszerkesztőt a program forráskódjának szerkesztésére,  fordítóprogramot.
Operációs rendszerek Az operációs rendszerek működésének alapfogalmai.
Adatstruktúrák Algoritmusok Objektumok
Programozási nyelvek típusossága.
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
Operációs rendszerek.
Algoritmusok szerkezete
Előadás másolata:

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

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.

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á.

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.

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.

A program készítésének menete – I. 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. 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.

A program készítésének menete – II. 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.

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

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ó.

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

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

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)

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

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

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ó)

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.

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

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.

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

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.

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.

Holtpont – III. A I B II

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

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.

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.

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”).

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

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)

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

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.

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.)

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.

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á !

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

Bankár algoritmus számítás 1. példa – I. Folyamatok Lefoglalt erőforrás Max. igény Várható A 4 6 2 B 11 7 Szabad 4 Összesen 12 Biztonságos ez az állapot ?

Bankár algoritmus számítás 1. példa – II. Folyamatok Lefoglalt erőforrás Max. igény Várható B 4 11 7 Szabad 8 Összesen 12 Igen. AB sorrendiségben biztonságos az erőforrások kiosztása.

Bankár algoritmus számítás 2. példa – I. Folyamatok Lefoglalt erőforrás Max. igény Várható A 4 6 2 B 11 7 C 8 Szabad 2 Összesen 12 C folyamat beengedhető ?

Bankár algoritmus számítás 2. példa – II. Folyamatok Lefoglalt erőforrás Max. igény Várható B 4 11 7 C 2 8 6 Szabad 6 Összesen 12

Bankár algoritmus számítás 2. példa – III. Folyamatok Lefoglalt erőforrás Max. igény Várható B 4 11 7 Szabad 8 Összesen 12 Igen. ACB sorrendiségben biztonságos az erőforrások kiosztása.

Bankár algoritmus számítás 3. példa: többszörös erőforrások – I. 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? Lefoglalt erőforrás Max. igény E1 E2 E3 F1 1 7 5 3 F2 2 F3 9 F4 F5 4

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 E1 E2 E3 F1 7 5 3 1 4 F2 2 F3 9 6 F4 F5

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 E1 E2 E3 F1 1 F2 3 2 F3 F4 F5 Σ 8 7

Bankár algoritmus számítás 3. példa: többszörös erőforrások – IV. A készlet: {2,3,0} E1 E2 E3 Erőforrás 10 5 7 Lefoglalt erőforrás 8 2 Készlet 3

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 E1 E2 E3 F1 1 7 4 3 F2 2 F3 6 F4 F5

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 E1 E2 E3 F1 1 7 4 3 F3 2 6 F4 F5

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 E1 E2 E3 F1 1 7 4 3 F3 2 6 F4

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 E1 E2 E3 F1 1 7 4 3 F3 2 6

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 E1 E2 E3 F3 3 2 6

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

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