dr. Adamis Gusztáv OPERÁCIÓS RENDSZEREK PÉLDATÁR

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "dr. Adamis Gusztáv OPERÁCIÓS RENDSZEREK PÉLDATÁR"

Átírás

1 dr. Adamis Gusztáv OPERÁCIÓS RENDSZEREK PÉLDATÁR 1

2 BEVEZETÉS A Gábor Dénes Mûszaki Informatikai Fõiskola egyik alapkoncepciója a távoktatás támogatása. Ez azt igényli, hogy a hallgatókat olyan oktatási anyagokkal lássuk el, amelyek segítségével otthon, önállóan meg tudják érteni és el tudják sajátítani a tananyagot. Jelen példatárunk a Fõiskola Operációs rendszerek c. tárgyához készült. A példatár felöleli a tárgy teljes tananyagát. A példatárban alapvetõen két típusú feladat található. Az egyik típusú példa az olvasó elméleti felkészülését segíti. Ezekre a példákra hosszabb-rövidebb elméleti összefoglaló a válasz. Ezek a példák az anyag fontosabb részeire, fogalmaira kérdeznek rá, igyekezvén rávezetni az olvasót a súlyponti témakörökre. Természetesen az ilyen jellegû példákhoz közölt megoldások csak összefoglalások, részletesebb megértésükhöz nélkülözhetetlen a tankönyv [2] tanulmányozása. A példák másik csoportját a gyakorlati kérdések alkotják. Ezek keretében van mód az elméleti ismeretek alkalmazására egy-egy konkrét szituációban. Az ilyen jellegû példákhoz adott megoldások általában nem csak a "végeredményt" tartalmazzák, hanem igyekeznek megmutatni a megoldás elvét, fõbb lépéseit is. Végezetül egy jótanács a példatár használatához. Ezt a példatárat ne "tankönyvként" használjuk, azaz ne olvassuk el egyfolytában az elejétõl a végéig. Elõször mindig csak a vastag betûvel szedett kérdést nézzük meg, majd próbáljunk meg a kérdésre önállóan válaszolni. Csak ez után olvassuk el a megoldást, hogy ellenõrizzük saját válaszunk helyességét. (Természetesen vegyük figyelembe azt is, hogy egy kérdésre sokszor egynél több helyes, egymással egyenértékû válasz adható!) Ha a könyvet ilyen módon használjuk, sokkal hasznosabb segítséget fog nyújtani a felkészüléshez. Jó tanulást, sikeres felkészülést kíván A szerzõ Budapest, december 2

3 PÉLDATÁR 1. Mik az operációs rendszerek fõbb funkciói? Az operációs rendszerek három fõ funkciója: - alkalmazói támogatás - alkalmazói programok - segédprogramok - rendszerszolgáltatások - operátori és munkavezérlõ parancsnyelvi rendszerek - programfejlesztési támogatás - programírás támogatása - editorok - fordítóprogramok (compiler) / interpreterek - szerkesztõprogramok (linker) - programkönyvtárak - rendszerhívások - betöltõprogramok (loader) - programok belövéséhez nyújtott támogatás - nyomkövetõprogramok ("debuggerek") - tártartalom kijelzése ("dump") - rendszeradminisztráció (magának az operációs rendszernek a mûködtetéséhez szükséges szolgáltatások) - processzorütemezés - megszakításkezelés - erõforráskezelés, szinkronizálás, idõzítés - folyamatvezérlés - tárkezelés - perifériakezelés - adatok, adatállományok kezelése - mûködési statisztikák készítése, számlázás - operátori interfész 2. Ismertesse a legfontosabb címzési módokat! Milyen magasszitû (programozási nyelv, operációs rendszer) funkciókat támogatnak? - direkt címzés - a címmezõ az operandus címét tartalmazza 3

4 - változók támogatása - indirekt címzés - a címmezõ annak a memóriahelynek a címét tartalmazza, ahol az operandus címe található - pointerek (mutatók) támogatása - immediate címzés - a "címmezõ" magának az operandusnak az értékét tartalmazza - konstansok támogatása - indexelt címzés - a cím a címmezõ tartalma + egy speciális, ún. indexregiszter tartalmának az összege - tömbök, rekordok kezelésének támogatása - bázisrelatív címzés - a cím a címmezõ tartalma + egy speciális, ún. bázisregiszter tartalmának az összege. A bázisregiszter tartalmazza a program kezdõcímét, az utasítás címmezõje pedig a program elejétõl való távolságot. A bázisregiszter tartalmának megváltoztatásával - a programkód változatlanul hagyása mellett - a program a memóriában bárhová elhelyezhetõ. - áthelyezhetõ (relokálható) progamok támogatása - a virtuális tárkezelés (lapozás) illetve a szegmentálás támogatása - stack pointeren keresztüli címzés - az utasítás nem tartalmaz címmezõt, a címet egy speciális regiszter, az ún. stack pointer tartalma jelenti - függvényhívások támogatása - függvények paraméterátadásának támogatása 3. Mik a CISC és a RISC gépek fõbb jellemzõi? A CISC (Complex Instruction Set Computer - összetett utasításkészletû számítógép) jellemzõi: - sokfajta, bonyolult utasítás - sokfajta, bonyolult címzési mód - operációsrendszer-szolgáltatásokat támogató hardver elemek és utasítások 4

5 - összetett adattípusok - magasszintû programnyelvi egységek támogatása - bonyolult hardver. Értékelés: a bonyolult funkciók nagy részét igyekszik hardver úton megoldani vagy legalább támogatni. Emiatt bonyolult szerkezetû. A bonyolult szerkezetbõl fakadó nagy belsõ késleletések miatt az utasítások végrehajtási ideje (relatíve) nagy. De a hardvertámogatás miatt viszonylag könnyû (rendszer)szoftvert írni rá. Ilyen pl. az INTEL os mikroprocesszor. A RISC (Reduced Instruction Set Computer - csökkentett utasításkészletû számítógép) jellemzõi: - kevés, nagyon egyszerû, egyforma hosszú (1 órajel idõ alatt végrehajtható) utasítás - utasítások átlapolása (pipeline) egyszerûen megvalósítható - csak az abszolút szükséges memóriareferens utasítások, nagyon sok belsõ regiszter - egyszerû, gyors - emiatt olcsóbb - hardver. Értékelés: a bonyolult funkciókat szoftver úton kell megoldani, emiatt nehéz - az alacsony szintû - programozása. De az egyszerû hardver sok regiszterrel biztosítja a gyors mûködést. Ilyen például az IBM RISC 6000-es gépcsaládja. 4. Ismertesse a megszakítások elfogadásának és kiszolgálásának fõbb lépéseit! 1., Megszakítási kérelem érkezik a központi egységhez. Ez érkezhet kívülrõl, pl. egy perifériától (hagyományos interrupt), a rendszeren belülrõl, pl. 0-val való osztás (exception - kivételes állapot) illetve a programozótól, pl. DOS-ban egy operációsrendszer-szolgáltatás hívása az INT 21H utasítással (szoftver interrupt). 2., A központi egység a megszakítás kérelmet várakoztatja az éppen végrehajtás alatt álló utasítás végrehajtásának befejeztéig, illetve ha az adott szintû megszakítás tiltott, a tiltás befejeztéig. 3., Amikor a központi egység elfogadja a megszakítást, elmenti a megszakított program állapotát jelzõ állapotvektort (vagy legalább annak legkritikusabb részét) a megfelelõ verembe. 4., Automatikusan privilegizált állapot jön létre, amelyben többnyire legalább az adott szintû megszakítás letiltódik. 5., A központi egység meghatározza a kiszolgáló eljárás címét (vagy kívülrõl a megszakítást kérõ eszköz adja be vagy - fejlettebb esetekben - a megfelelõ 5

6 megszakítási vektorból a CPU veszi elõ) és elindítja a kiszolgáló eljárást, elõtte - szükség esetén - betölti a kiszolgáló eljárás induló állapotvektorát. 6., A kiszolgáló eljárás befejezi a megszakított program állapotvektorának mentését és elvégzi a megszakítás kiszolgálási tevékenységet. 7., Amint a megszakítás kiszolgálás túl van a kritikus szakaszon, újra engedélyezi a megszakítás elfogadáskor automatikusan letiltott megszakítási szint(ek)et. 8., A megszakítás végén a kiszolgáló eljárás átadja a vezérlést az operációs rendszer megfelelõ (többnyire az ütemezõ) eljárásának. 9., Az ütemezõ dönt a folytatásról, általában visszaadja a vezérlést a megszakított programnak, miután helyreállítja annak az állapotát az elmentett állapotvektorból. 5. Milyen támogatást nyújtanak az operációs rendszerek a programfejlesztéshez? Az operációs rendszerek által tipikusan nyújtott programfejlesztési támogatás: - A program megírásához nyújtott támogatás: - editorok (esetleg speciális nyelvérzékeny editorok) - fordítóprogramok (compilerek) / interpreterek - programkönyvtárak - rendszerhívások (a felhasználónak nyújtott operációsrendszerszolgáltatások, pl. állománykezelés, nyomtatás stb.) - szerkesztõprogramok (linker), melyek a lefordított program és a hívott (könyvtári) szubrutinok összeszerkesztésére szolgálnak - betöltõprogramok (loader) - A programok belövéséhez nyújtott támogatás: - nyomkövetõprogramok ("debuggerek") - tártartalom kijelzése ("dump") 6. Mi az operátori parancsnyelvi rendszer? Az operátori parancsnyelvi rendszer a géptermi, futásideji események vezérlésére szolgál, a géptermi személyzet munkáját segíti. Funckóival indíthat el a kezelõszemélyzet bizonyos operációs rendszer szolgáltatásokat. A mai interaktív rendszerekben használható vezérlõnyelv is az operátori parnacsnyelv egy fajtája ("batch file-ok"). 6

7 7. Milyen DOS parancsok szolgálnak - lemez/meghajtó váltásra: floppy egység kiválasztása, pl.: A: diszk egység kiválasztása, pl.: C: - könyvtárváltásra: CD útvonalnév, illetve speciálisan, ha az aktuális könyvtárból közvetlenül "nyíló" alkönyvtárat akarunk elérni: CD könyvtárnév - könyvtár létrehozására: MD útvonalnév\könyvtárnév illetve az aktuális könyvtárból nyíló új alkönyvtár létrehozására: MD könyvtárnév - állomány listázására: TYPE állománynév oldalanként: TYPE állománynév MORE - dátum módosítására: DATE - idõpont módosítására: TIME - tartalomjegyzék kiírására: DIR - állomány másolására: az aktuális könyvtárba: COPY fájlnév (mit) máshová: COPY fájlnév (mit) könyvtárnév (hová) - állomány átnevezésére: REN régifájlnév, újfájlnév 8. Milyen szempontok szerint osztályozhatjuk az operációs rendszereket? Az osztályzási szempontok: a., felhasználók száma (egyfelhasználós, többfelhasználós) b., a multiprogramozás foka (nem multiprogramozott/multiprogramozott) c., az elérés módja (kötegelt, interaktív (idõosztásos), valós idejû) 7

8 d., a hardver mérete (nagygépes, kisgépes, mikrogépes) e., a rendszer struktúrája (centralizált, elosztott, hálózati) f., a felhasználás jellege (ügyviteli, adatfeldolgozó, tranzakciós és lekérdezõ rendszerek; folyamatvezérlõ; ipari és tervezõi munkaállomások; programfejlesztõi környezet; személyi számítógépes rendszerek stb.). 9. Mik a multitasking operációs rendszerek fõbb feladatai? - az egyes taszkok jellemzõinek nyilvántartása - a processzor ütemezése - taszkváltás, a taszkok állapotának mentése/helyreállítása - (közös) erõforrások ütemezése - tárkezelés, tárkiosztás, tárvédelem - a konkurencia kezelése, kölcsönös kizárás biztosítása - a rendszer hatásfokának vezérlése 10. Mi az ütemezés? Az ütemezés a folyamatok végrehajtási sorrendjét határozza meg, azaz azt, hogy milyen sorrendben kaphatják meg a CPU-t használatra. (Ehhez hasonlóan egyéb erõforrások használati sorrendjét az erõforrások ütemezõje határozza meg.) A magas szintû ütemezõ a rendszerbe való bejutásra (háttértárolón) váró folyamatok közül választja ki a következõt, míg az alacsony szintû ütemezõ a rendszerbe már bejutott, futásra kész folyamatok közül választja ki azt, amelyik a CPU-t használhatja a következõ idõben. Nagyobb rendszerekben e két ütemezési szint között helyezkedhet el az ún. közbensõ szintû ütemezõ, a folyamatok ütemezésének optimalizálására. 11. Mi a különbség a processz és a program között? A program valamilyen algoritmus megvalósítását szolgáló utasítások sorozata, míg a processz ennek egy konkrét lefutása. Tehát - bizonyos feltételek teljesülése esetén - ugyanazt a programot több processz is végrehajthatja egyidõben. 8

9 12. Milyen lehetséges állapotai lehetnek egy folyamatnak a központi egység ütemezés szempontjából? Rajzolja fel a folyamat állapotdiagramját! ÒM $NWtY %HIHMH]HWW 9iUDNR]y +ROWSRQWL 13. Milyen fõbb szolgáltatásokat nyújtanak az operációs rendszerek? 1. Az operációs rendszer tevékenységi körei szerinti csoportosítás: a. vezérlõáram-kezelés b. tárkijelölés és programbetöltés c. programszerkesztés (linkelés) d. magas szintû ütemezés (feladatok fogadása) e. mûködésoptimalizálás (közbensõ ütemezés, valós idejû kezelés) f. alrendszerek kezelése 2. Az operációs rendszer által nyújtott szolgáltatás felhasználója szerinti csoportosítás: a. A felhasználók kiszolgálása: - folyamatvezérlés - program betöltés, végrehajtás - folyamat létrehozás, megszüntetés, attribútumainak beállítása - központi tár igénylése, felszabadítása - folyamatok közötti kommunikáció, szinkronizáció - nyomkövetés hibakereséskor - állományok kezelése - állományok létrehozása, megszüntetése, attribútumaik beállítása - könyvtárak létrehozása, megszüntetése, törlése - állományok megnyitása, lezárása 9

10 - perifériák kezelése - perifériák igénylése, lefoglalása, felszabadítása - folyamat és periféria közötti átvitel biztosítása b. A rendszer mûködtetése: - rendszerinformációk kezelése - rendszerkomponensek (folyamatok, állományok, perifériák, felhasználók, rendszeróra, stb.) állapotának lekérdezése, módosítása - rendszerstatisztikák készítése - számlázás - erõforrás gazdálkodás - erõforrás kiosztás, -kezelés, -elvétel - holtpontmentesség biztosítása - kölcsönös kizárás - védelem - a rendszer védelme a felhasználóktól - a felhasználók védelme egymástól - adott folyamat egyes részei közötti védelem c. A felhasználók és a rendszer együttmûködése: - kommunikáció - kommunikációs csatornák létrehozása, megszüntetése - üzenetek, állapotinformációk küldése, fogadása - mûveletek távoli erõforrásokon 14. Mi a fõütemezõ, az alacsony szintû és a közbensõ ütemezõ és fõbb feladataik? A fõütemezõ a rendszerbe való belépés céljából várakozó munkák közül választja ki azt a következõ munkát, melyet beenged a rendszerbe. A kiválasztott munkához elkészíti a munkavezérlõ blokkot (PCB - Process Control Block vagy TSS - Task State Segment), amelyet elhelyez a munkasorba. A fõütemezõ feladata, hogy a rendszer optimális mûködését elõsegítõ munkakeveréket készítsen, azaz hogy a kiválasztott munkák CPU és I/O igénye összességében körülbelül azonos legyen. A fõütemezõ - mûködésébõl adódóan - a kötegelt feldolgozású operációs rendszerek sajátja, de az interaktív operációs rendszerekbõl sem hiányozhat a PCB-t elkészítõ funkció. Az alacsony szintû ütemezõ (másik gyakran használt neve: diszpécser) a CPUra várakozó, futásra kész folyamatok közül választja ki azt, amelyik a következõ idõben használhatja a CPU-t. Különösen idõosztásos rendszerekben követelmény, 10

11 hogy mûködése gyors legyen. Ezért az alacsony szintû ütemezõ csak korlátozott számú szempont figyelembe vételével határozza meg a következõ kiválasztandó folyamatot (lokális optimum). Nagyobb rendszerekben az optimalizálás figyelembe vétele vagy nagyon lelassítaná a sebességkritikus alacsony szintû ütemezõt vagy megfelelõ sebesség megtartása mellett csak nagyon kevéssé hatékony optimalizáló algoritmust használhatnánk. Ezért szokták az (alacsony szintû) ütemezõ feladatát kettéválasztani, és az optimalizálást egy harmadik, az ún. közbensõ szintû ütemezõ segítségével megvalósítani. Ez az ütemezõ globális szempontok szerinti optimalizálást tud végezni. A folyamatok futási sebességének figyelésével detektálhatja például a kiéheztetés tényét, vagy azt, hogy ha egy folyamat aránytalanul lassan fut stb. A megbomlott egyensúlyt például a folyamatok prioritásának idõleges megváltoztatásával, sõt bizonyos folyamatok ideiglenes vagy végleges felfüggesztésével állíthatja helyre. 15. Mik az alrendszerek? Milyen tipikus szolgáltatásaik vannak? Az alrendszerek egy-egy speciális alkalmazói kör igényeit elégítik ki olymódon, hogy az adott szolgáltatás igénybevétele a felhasználók szempontjából (sokkal) egyszerûbb legyen, mint a hagyományos (alrendszer nélküli) operációs rendszer felületen keresztül. Megvalósításuk általában a következõ: a hagyományos operációs rendszer szolgáltatásokat tartalmazó réteg fölé egy, a szolgáltatásokat valamilyen felhasználói kör speciális igényeit kielégítõ módon, egyszerûen meghívni képes integrált programcsomagot készítünk. Ez azonban nem univerzális, azaz csak az adott felhasználói csoport céljaira megfelelõ. Más célok vagy egy másik alrendszer vagy közvetlenül rendszerhívások segítségével valósíthatók meg. Az alrendszerek kialakításának elõnyei: - a sokszor csak bonyolult módon elérhetõ operációs rendszeri szolgáltatásokat egyszerûen elérhetõvé teszi a felhasználó számára, így a felhasználónak nem kell ismernie az operációs rendszer részleteit, munkája ezáltal hatékonyabbá válik. - (bizonyos korlátok között) új szolgáltatások, alkalmazások megvalósításakor nem kell az operációs rendszert módosítani (vagy legfeljebb csak kis mértékben). Az alrendszerek kialakításának hátrányai: - mivel az alkalmazás és az operációs rendszer közé egy újabb szint került, ezáltal sebesség, felhasznált tármennyiség stb. szempontjából hatékonyságromlás lép 11

12 fel (bár ha figyelembe vesszük, hogy különben az alrendszer funkcióinak nagy részét magába az alkalmazásba kellett volna integrálni, ez a veszteség általában nem túl számottevõ). Tipikus alrendszerek az univerzális operációs rendszerek esetében a programfejlesztõi alrendszerek. Ezek legfontosabb szolgáltatásai: - (nyelvspecifikus vagy mésnéven szintaxisvezérelt) editorok - fordítók és/vagy interpreterek - szerkesztõk (linker) - betöltõk (loader) - hibakeresési támogatás (debugger) stb. Egy másik, tipikus, manapság egyre növekvõ jelentõségû alrendszer az adatbázis-kezelési alrendszer. 16. Ismertesse az operációs rendszerek héjszerkezetét! Az operációs rendszerek felépítésekor - elsõsorban védelmi okokból - szükség van a hierarchikus struktúrálásra. Ez azt jelenti, hogy az operációs rendszer szolgáltatásait ún. rétegekbe szervezzük. Egy réteg rutinjai csak a közvetlenül alatta levõ réteg rutinjait használhatják, de csak egy jól meghatározott interfészen keresztül. Vagyis egy adott réteg elemi mûveleteket nyújt a felette levõ rétegnek, vagy másképpen nézve, egy felsõbb réteg bõvíti, komplexebbé teszi egy alatta lévõ réteg szolgáltatásait. Az egyes rétegek önmagukban is több funkciót tartalmazhatnak, az egyes rétegeken belüli struktúrálódásra szolgálnak a modulok, amelyek a rétegen belül egy-egy jól körülhatárolható feladat(csoport)ot valósítanak meg. E modulok - szintén jól definiált interfészeken keresztül - használhatják egymás szolgáltatásait. A rétegek kialakításakor meg kell oldani az adatelrejtést is, azaz hogy egy réteg adatstruktúrája (táblázatok, változók stb.) csak a rétegen belülrõl legyen elérhetõ, alulról illetve fölülrõl ne. Egy tipikus rétegzõdést tükröz a következõ ábra: 3. szint Alkalmazói szint 2. szint Parancsértelmezõ szint 1. szint I/O szint 0. szint Rendszerhívások szintje A kernel a 0. és az 1. szint együttese. 17. Mi a rendszermag (kernel)? 12

13 A rendszermag az operációs rendszer réteg felsõbb szintjeibõl intenzíven használt közös rutinokat tartalmazza. Ez nem egy összefüggõ algoritmusú program, hanem egy olyan szubrutin- és adattáblázat-együttes, amely együttesen képes a rendszermag szolgáltatásait nyújtani. A rendszermag tipikus funkciói: - a hardverben nem létezõ, gyakran használt utasítások megvalósításai (lebegõpontos aritmetikai mûveletek stb.) - megszakításkezelés - folyamatok állapotainak vezérlése, követése - folyamatszinkronizáció - a védelmi rendszer mûködtetése - erõforrás-kezelés - ütemezések (CPU, perifériák) - eseménystatisztika, eseménykezelés - rendszerkönyvtárak, rendszertáblák kezelése - kölcsönös kizárást megvalósító algoritmusok (szemafor kezelés, P és V primitívek) 18. Mi az erõforrás-kezelés? Milyen típusú erõforrásokat ismerünk? Az erõforrás-kezelés során az operációs rendszer gondoskodik a számítógéprendszer erõforrásainak (a futó folyamatok igényei alapján történõ) elosztásáról, ezek védett használatáról, illetve az erõforrások használatáért vívott versenyhelyzetek kezelésérõl. Az erõforrás-kezelés két fontos célja: - a számítógéprendszer mûködését gazdaságossá tenni valamilyen szempont szerint - elkerülni a holtponthelyzetek kialakulását és/vagy detektálni és felszámolni a kialakuló holtponthelyzeteket. A rendszer erõforrásait többféle szempont szerint osztályozhatjuk: I. - hardver erõforrások; Pl.: a központi processzor, memóriák, input/output csatornák és perifériák stb. 13

14 Ezek az erõforrások általában a technikai fejlõdés következtében egyre gyorsabbá és olcsóbbá válnak, ezért maximális kihasználtságuk manapság egyre kevésbé fontos követelmény. - szoftver erõforrások; Pl.: a különbözõ programok, adatállományok stb. Ezek ára a hardverhez képest egyre nõ, ezért hatékony kihasználtságuk egyre inkább elõtérbe kerül. II. - a számítógéprendszerben meglévõ "hagyományos", a felhasználók igényeit kielégítõ erõforrások, pl. nyomtatók, szövegszerkesztõ programok, stb. - az operációs rendszer által létrehozott, magának a számítógéprendszernek a mûködését lehetõvé tevõ, illetve elõsegítõ erõforrások, pl. lapok a virtuális tárkezelésnél, fájl leíró táblák, stb. III. - elvehetõ erõforrások; Pl. operatív tár (tartalma a háttértárolóra menthetõ) folyamatok felfüggesztése esetén (pl. holtponthelyzet kialakulása miatt); az adott erõforrás használata a folyamat újraindításakor a felfüggesztéskori állapotából folytatódhat - nem elvehetõ erõforrások; Pl. nyomtatók. Ha egy processz ilyen erõforrást használ, célszerû megvárni, míg a használatot befejezi (ha ez lehetséges), mert újbóli vagy más általi használata esetén elõzõleg alaphelyzetbe kell hozni. 19. Mi a holtpont? Milyen feltételrendszer teljesülése esetén alakulhat ki? Milyen holtpontkezelési stratégiákat ismer? A holtpont az a jelenség, amikor a számítógéprendszerben a folyamatok egy egynél több elemû halmaza egy olyan eseményre vár (erõforrás felszabadítás), amelyet csak a halmaz valamelyik eleme válthatna ki, de erre nincs lehetõség. A holtpont kialakulásának feltételei: 1. Vannak olyan erõforrások, amelyek egyidejûleg csak egy folyamat által haszálhatók. 2. A folyamatok várakozás közben lekötve tarthatnak erõforrásokat. 3. A várakozó folyamatok által lefoglalva tartott erõforrások erõszakkal nem vehetõk el ("rablás" nincs). 4. A rendszerben ciklikus várakozás van, azaz például az elsõ folyamat olyan erõforrásra vár, amit a második folyamat foglal, a második olyanra vár, amit a harmadik foglal stb., míg az utolsó olyanra vár, amit az elsõ folyamat tart lefoglalva. 14

15 A holtponthelyzet kialakulása a fenti négy feltétel EGYIDEJÛ teljesülése esetén lehetséges. A holtpontkezelésnek két alapvetõ módja van. 1. A holtpont lehetõségének elkerülése, megelõzése: 1.1. Ha egy folyamat várakozik, nem köthet le erõforrást: Statikus lefoglalási stratégia: egy folyamat csak akkor indulhat, ha minden szükséges erõforrást megszerzett Egy folyamat csak akkor igényelhet újabb erõforrást, ha nincs lekötött erõforrása Hátrány: kiéheztetés, rossz erõforrás kihasználtság 1.2. Ha egy várakozó folyamatnak nem elégíthetõ ki az erõforrás igénye: Az összes eddig lekötött erõforrását fel kell szabadítania Más, várakozó folyamattól "elrabolhatja" a szükséges erõforrást. A két módszer hátránya: nem mûködik nem elvehetõ erõforrások esetében (pl. nyomtató) A ciklikus várakozás kizárása: Minden erõforráshoz egy (a többitõl különbözõ) sorszámot rendelünk, és a folyamatok az erõforrásokat csak azok sorszámai szerint növekvõ sorrendjében igényelhetik, vagy másképen megfogalmazva, ha egy folyamat egy bizonyos sorszámú erõforrást igényel, elõtte fel kell szabadítania az összes általa lefoglalt, az igényeltnél nagyobb sorszámú erõforrást. Hátrány: csökken a rendszer áteresztõképessége Az operációs rendszer csak akkor engedi meg új erõforrások lefoglalását, ha ennek teljesítése után a rendszer ún. biztonságos állapotban marad, azaz olyan állapotban, hogy az igények valamilyen sorrendben ki legyenek elégíthetõk. Hátrány: olyan pluszinformáció szükséges (hogy egy folyamat egy erõforrásból maximálisan hányat igényel), mely sokszor nem tudható elõre, illetve az algoritmus bonyolultsága. 2. A már kialakult holtponthelyzet felismerése és megszüntetése (esetleg speciális, holtpontfelismerõ és holtpontból való felélesztést szolgáló alrendszerek használatával): 2.1. Holtpontfelismerés - folyamatos adatgyûjtés az erõforrások szétosztásáról és a ki nem elégített igényekrõl 15

16 - a holtponti helyzetet ezen adatokból detektálni képes algoritmus ismételt futtatása Hátrány: bonyolult, sok idõt felemésztõ algoritmusok 2.2. Holtpontból való felélesztés A holtponti helyzetben lévõ folyamatokat - vagy azok egy megfelelõ részét - felszámoljuk Hátrány: az elvégzett munka (egy része) kárbaveszik, nagy károkozást jelenthet A holtponti helyzetben lévõ folyamatok (egy részétõl) erõforrásokat rabolunk Hátrány: az elvégzett munka egy része kárbaveszik el nem vehetõ erõforrások elrablása esetén, illetve ezeket az erõforrásokat más folyamatnak való átadás elõtt alaphelyzetbe kell hozni. 20. Mi a rendszer biztonságos illetve nem biztonságos állapota? Egy rendszer (holtpont kialakulás lehetõségének a szempontjából) biztonságos, ha minden folyamat erõforrás igényét ki lehet elégíteni valamilyen sorrendben, a ciklikus várakozás veszélye nélkül. Ha ez nem lehetséges, akkor a rendszer nem biztonságos állapotban van. Ez azt jelenti, hogy ilyenkor holtponti helyzet kialakulhat. 21. Milyen fontosabb processzorütemezési stratégiákat ismer? Jellemezze röviden mûködésüket! Milyen elõnyös illetve hátrányos oldalai vannak az egyes módszereknek? 1. Elõbb jött - elõbb fut (First Come First Served - FCFS) A folyamatok érkezési sorrendjükben kapják meg a processzort. Elõny: egyszerû megvalósítás (egy FIFO sor) Hátrány: - a folyamatok átlagos várakozási ideje nagymértékben függ a folyamatok érkezési sorrendjétõl. Egy hosszú folyamat sokáig várakoztatja az összes utána érkezõ folyamatot (lassú kamion effektus), ezáltal az átlagos várakozási idõ nagyon nagy lehet. - csorda hatás: nagy CPU igényû folyamat sokáig használja a CPU-t, az összes többi várakozik, az I/O sorok/processzorok kihasználatlanok. 16

17 2. A legrövidebb elõnyben (Shortest Job First - SJF) A CPU-t egy folyamat befejezõdése után a legrövidebb CPU igényû várakozó folyamatnak adjuk oda (ha több ilyen van, azok közül az FCFS technikával választunk). Elõny: a legjobb az átlagos várakozási idõ szempontjából Hátrány: - KIÉHEZTETÉS! - tudni kell a CPU igény nagyságát (ez nem mindig mondható meg elõre): - kötegelt rendszereknél (ált. itt használják) programozói becslés - idõosztásos rendszereknél matematikai statisztikai becslés 3. Prioritásos módszerek Minden folyamathoz egy prioritási értéket rendelünk, és a CPU-t a legmagasabb prioritású folyamat kapja meg (ha több ilyen van, FCFS szerint választunk). A prioritás lehet külsõ (pl. a folyamat fontosságától függõ) illetve belsõ (az operációs rendszer által meghatározott pl. az erõforrás igény alapján). Elõny: a prioritásokkal sokféle szempont érvényesíthetõ Hátrány: KIÉHEZTETÉS! A kiéheztetés megszüntetése: - "öregedés" (a folyamatok prioritását adott idõ eltelte után növeljük vagy csökkentjük - fõleg belsõ prioritású rendszerekben használt megoldás) - biztosítjuk, hogy adott (nagy) idõközönként az alacsony prioritású folyamatok is használhassák egy (kis) idõre a CPU-t, még akkor is, ha vannak várakozó magas prioritású folyamatok is (fõleg külsõ prioritású rendszerekben használt megoldás). 4. Körben járás (Round Robin - RR) A folyamatokat egy zárt körbe szervezzük, és minden egyes folyamat egy elõre rögzített maximális idõre (idõszelet - time slice) megkapja a processzort, majd vesszük a kör következõ folyamatát. Az interaktív rendszerek tipikusan ezt az ütemezési stratégiát használják. Kombinálható prioritások bevezetésével is, ilyenkor minden prioritási szintnek "saját köre" van. Elõny: egyszerû algoritmus; nincs kiéheztetés Hátrány: a folyamatok megszakításakor állapotukat el kell menteni (környezetváltás - context switching). Ez jelentõs idõt vesz igénybe és jelentõs plusz erõforrásokat igényel. 17

18 A 2. és 3. pont alatt felsorolt algoritmusok mindegyikének megvan a preemptív (kizárásos) és nem preemptív formája. A preemptív forma annyiban különbözik az ismertetett nem preemptív formáktól, hogy ha egy rövidebb (SJF esetén) illetve magasabb prioritású (prioritásos algoritmus esetén) folyamat érkezik, akkor az MEGSZAKÍTJA a futó folyamatot. A preempció elõnye: kisebb átlagos várakozást biztosít illetve a fontosabb folyamatokat jobban preferálja. Hátránya: megszakításkor környezetváltásra van szükség. 22. Egy rendszer az alábbi erõforrásokkal gazdálkodik: E1: 240 példány E2: 36 példány E3: 8 példány A rendszerben levõ processzek: P1, P2, P3, P4. Biztonságos-e holtpontmentesség szempontjából a következõ állapot? Foglal Maximális igény E1 E2 E3 E1 E2 E3 P P P P A maximális igényt leíró mátrixból kivonva a pillanatnyilag lefoglalt erõforrások mátrixát kapjuk meg a folyamatok által igényelt erõforrások mátrixát, azaz: Igény E1 E2 E3 P P P P A pillanatnyilag lefoglalt erõforrásokat tartalmazó mátrix oszlopait összeadva és az eredményt az összerõforrás-számból kivonva megkapjuk a pillanatnyilag szabad erõforrások számát: 18

19 E1=240-( )= =14 E2=36-( )=36-36=0 E3=8-( )=8-6=2 Ebbõl látszik, hogy a szabad erõforrásokból (14,0,2) kielégíthetjük P2 (13,0,2) igényét. P2 lefutása után felszabadítja az általa lefoglalt erõforrásokat (0,5,1) is. Ezt hozzáadva az eredetileg szabad erõforrások számához (14,0,2), kapjuk a szabad erõforrások új számát: (14,5,3). Ebbõl kielégíthetõ P1 igénye, amely lefutása után a szabad erõforrások új száma (14,5,3)+(53,14,4)=(67,19,7) lesz. Ebbõl kielégíthetõ P3 igénye, amely lefutása után a szabad erõforrások új száma (67,19,7)+(46,17,0)=(113,36,7) lesz, amelybõl kielégíthetõ P4 igénye. Vagyis a folyamatok erõforrás igénye P2, P1, P3, P4 sorrendben kielégíthetõ, tehát a rendszer holtpontmentesség szempontjából BIZTONSÁGOS. 23. Határozza meg az alábbi terhelés esetén az átlagos várakozási idõ értékét a következõ CPU ütemezési algoritmusok mellett: a. FCFS (elõbb jött - elõbb fut) b. SJF (legrövidebb elõször) c. Round-Robin (idõszelet 10 egység) processz érkezési idõ CPU (futásra kész sorba) igény P P2 8 7 P P a. FCFS: Ennél a módszernél a folyamatok érkezési sorrendben kapják meg a processzor használati jogát. A várakozási idõ értelemszerûen a kezdési idõpont és az érkezési idõpont különbsége. 19

20 proc. érkezési CPU kezdési befejezési várakozási idõ idõ igény idõpont (kezd. - érk.) P P P P Átlagos várakozási idõ: 45/4=11,25 b. SJF: Ennél a módszernél meg kell vizsgálni, hogy egy folyamat befejezésekor a várakozó folyamatok közül melyik a legrövidebb, és az kapja meg a processzor használati jogát. Tehát itt az érkezési és a végrehajtási sorrend különbözõ lehet! proc. érk. CPU kezd. befej. vár. befejezéskor következõ idõ igény idõpont idõ váró proc-k legrövidebb P P2(7), P3(26)P2 P P3(26), P4(10) P4 P P P3(26) P Átlagos várakozási idõ: 29/4=7,25 c. Round Robin: Ennél a módszernél egy folyamatot az idõszelet letelte után felfüggesztünk és a várakozási sor végére rakjuk be. A táblázatban csillaggal jelöltük meg a korábban felfüggesztett folyamatok ismételt futását és ilyenkor az érkezési idõpont oszlopában zárójelben a felfüggesztés idejét adtuk meg. 20

21 proc. érk. CPU kezd. befej. maradék vár. befejezéskor a idõ igény idõpont igény idõ váró proc-k sorrendje P P2, P1 P P1, P3 P1* (10) P3, P4 P P4, P3 P P3 P3* (42) P3 P3* (52) Átlagos várakozási idõ: 41/4=10,25 (Megjegyzés: az átlagos várakozási idõ mindig a folyamatok összes várakozási ideje osztva a folyamatok darabszámával.) 24. Mi a virtuális tárkezelés? A felhasználó által kiadott memória címek egy háttértáron (virtuális tárban) levõ címeknek felelnek meg, és e címtartománynak csak bizonyos részei találhatóak meg az operatív memóriában. A módszer elõnyei: - a multiprogramozott rendszerekben ha a folyamatoknak csak egy-egy részét tároljuk az operatív memóriában, akkor több folyamatot futtathatunk párhuzamosan. - ma már a (mikro)processzorok címtartománya (is) olyan nagy, hogy ekkora operatív memóriát nem tudunk (nem akarunk) kiépíteni. A virtuális tárkezeléssel elérhetõ, hogy viszonylag kis méretû operatív tároló használata esetén is a felhasználó úgy lássa, mintha egy teljes címtartomány méretû operatív tárat használna. A virtuális tárkezelés leggyakrabban használt formája a lapszervezésû virtuális tár. Ilyenkor a virtuális tárat és az operatív tárat is felosztjuk egyforma méretû egységekre, lapokra, és az operatív memóriában egy laptáblát hozunk létre. Ez a laptábla tartalmazza majd azt, hogy az adott lap az operatív tárban van-e vagy sem, illetve, hogy ha bent van, akkor mi a lap kezdõcíme az operatív tárban (valamint egyéb vezérlõ biteket.) A processzor által kiadott logikai (virtuális) címet logikailag két részre osztjuk, a felsõ rész kiválaszt egy bejegyzést a laptáblából, itt megtaláljuk a lap operatív tárbeli kezdõcímét és ehhez adjuk hozzá a cím második 21

22 felét, az úgynevezett (lapon belüli) eltolást. Ez az összeg jelenti a keresett memóriahely címét az operatív tárolóban. A címszámítás gyorsítására az utoljára használt néhány lap címét tartalmazó asszociatív tárat szoktak használni. LOGIKAI CÍM Lapszám Lapon belüli eltolás OPERATÍV MEMÓRIA LAPTÁBLA Kezdõcím Vezérlés + FIZIKAI CÍM 25. Mi a laphiba? Virtuális tárkezelés használata esetén elõfordulhat, hogy a processzor által kiadott címet tartalmazó lap nincs bent az operatív memóriában. Ezt hívjuk laphibának. Kezelése: 1., Ellenõrizzük, hogy a kiadott címet az adott folyamat használhatja-e. 2., A kérdéses lapot be kell olvasni az operatív tárolóba (természetesen ez azzal járhat, hogy elõtte egy bent lévõ lapot ki kell vinnünk a háttertárba), majd módosítani kell laptáblát. 3., Meg kell ismételni annak az utasítsának a végrehajtását, amelynél a laphiba fellépett. 22

23 26. Milyen lapozási stratégiákat ismer? Ismertesse röviden õket! Milyen elõnyös és hátrányos tulajdonságaik vannak? a, FIFO (elõbb be - elõbb ki) A behozott lapok számait egy FIFO tárban tároljuk. Laphiba esetén a FIFO sor elején álló (azaz a legrégebben behozott) lapot visszük ki, és az újonnan behozott lap sorszámát a FIFO sor végére írjuk. Elõny: - egyszerû Hátrány: - sok laphibát generál, hiszen elképzelhetõ, hogy egy lapot már régen behoztunk, de még mindig használjuk. Ez tipikusan igaz a magát az operációs rendszert tartalmazó lapokra, amelyeket az algoritmus állandóan "kilapoz". b, OPT (optimális) Az új lapot mindig annak a lapnak a helyére hozzuk be, amelyre a legkésõbb fogunk (újra)hivatkozni. Elõny: - ez adja a minimális laphibaszámot Hátrány: - a gyakorlatban megvalósíthatatlan, mivel nem lehet elõre tudni a lapokra való hivatkozások sorrendjét. Ezért csak az egyéb statégiák jóságának vizsgálatához referenciaként használják. c., LRU (legrégebben használt) Az új lapot mindig annak a helyére hozzuk be, amelyre a legrégebben hivatkoztunk (amelyet a legrégebben használtunk). Az algoritmus alapja a lokalitási elv megfordítása, azaz ha egy lapot már régóta nem használunk, akkor nagy valószínûséggel nem lesz rá szükség a késõbbiekben sem. Elõny: - viszonylag jól közelíti az optimális módszert Hátrány: - kiegészítõ hardvert igényel és lassú d., Second chance (második esély) Ennél a stratégiánál minden lapon van egy hivatkozás bit is, amelyet 1-be állítunk minden alkalommal, ha a lapra hivatkozunk. (Figyelem: ez igény szerinti lapozásnál azt jelenti, hogy amikor behozzuk a lapot, ezt a bitet rögtön 1-be állítjuk, hiszen azért hozzuk be a lapot, mert hivatkozunk rá!) Lapcsere esetén azt a lapot kell kicserélnünk, amelyik a legrégebben van bent (FIFO), de ha a FIFO módszerrel meghatározott lap hivatkozás bitje=1, akkor a lapot 0 értékû hivatkozás bittel betesszük a FIFO végére. (Azaz csak 0 hivatkozás bitû lapot cserélhetünk le.) 23

24 27. Miért van szükség tárvédelemre? Tárvédelemre elsõsorban a következõ okok miatt van szükség: a., Az operációs rendszer védelme a felhasználói programoktól (illetve az operjcáiós rendszer rétegeinek védelme egymástól). Megoldás: prioritási szintek bevezetése, az adott területet csak egy legalább adott prioritási szinttel rendelkezõ folyamat használhatja. b., A folyamaton belüli logikai egységek védelme. Megoldás: szegmentálás; kódstack- és adatszegmensek definiálása. Minden egyes utasítás végrehajtásakor (hardver úton) ellenõrizzük, hogy az utasítás operandusa tényleg az adott utasításnak megfelelõ típusú szegmensen belül található-e meg. c., A folyamatok védelme egymástól. Megoldás: szegmentálás. Minden egyes folyamat saját szegmensleíró táblával rendelkezik és csak azokat a szegmeseket érheti el, amelyek szerepelnek a táblájában. A fentieken túlmenõen szükség van arra is, hogy kijelöljük, hogy egy folyamat az általa elért tárterületeket hogyan használhatja (csak olvasható vagy írhatóolvasható; csak futtatható vagy futtatható-olvasható, stb.). 28. Hogyan vesz részt a szegmentálás a védelemben? 1., A folyamat különbözõ logikai egységeit védi egymástól. Például definiálhatunk egy-egy kód- illetve stackszegmenst valamint egy vagy több adatszegmenst. Amikor egy-egy utasítást végrehajtunk, ellenõrizzük, hogy az az utasítás az adott típusú szegmensben dolgozik-e (pl. ugrás-kódszegmens, mûveletvégzésadatszegmens, PUSH/POP-stackszegmens), illetve, hogy az utasításban lévõ cím ténylegesen benne van-e a szegmens kezdete és hossza által meghatározott memóriaterületen. Így elkerülhetõk azok a tipikus programhibák, mint például, hogy a stack túlcsordul és felülírja a progamot, egy rossz ugrási cím miatt adatokat értelmezünk utasításnak, vagy fordítva: rossz operanduscím esetén felülírunk utasításokat. 2., A folyamatok memóriaterületeinek más folyamatoktól való védelme (megteremtve viszont az esetleges közös adatterületek kialakításának lehetõségét). Minden egyes folyamat saját szegmensleíró táblával rendelkezik, amely csak azon szegmensek címeit tartalamzza, amelyeket az adott folyamat használhat. A folyamat csak olyan címeket adhat ki, melyek ezeken a szegmenseken belül vannak, és ezt ellenõrizzük. Így nincs mód arra, hogy egy 24

25 folyamat véletlenül vagy szándékosan más folyamat számára fenntartott helyre írjon. Viszont sokszor szükség van arra, hogy több folyamat együttmûködhessen. Ez a lehetõség úgy teremthetõ meg, hogy bizonyos (a közös területeket tartalmazó) szegmenseket az együttmûködni kívánó összes folyamat szegmenstáblájába felvesszük. 29. Mi a vergõdés és megelõzési módja? A vergõdés mutiprogramozott számítógéprendszerek esetén az a jelenség, amikor egy folyamat több idõt tölt lapozással, mint saját "hasznos" tevékenységével. A jelenség oka az, hogy a folyamat a szükségesnél kevesebb lapkerettel rendelkezik az operatív memóriában. A vergõdés megelõzési módjai: a., lokális lapkiosztási algoritmus használata: Ez azt jelenti, hogy minden folyamat rögzített darabszámú kerettel gazdálkodhat (nem tud más folyamatoktól lapokat elvenni). Ezáltal, ha egy folyamat vergõdés állapotába kerül, attól a többi még (viszonylag) zavartalanul lefuthat. b., munkahalmaz vagy kritikus halmaz: A munkahalmaz kialakíthatósága a lokalitás elvén alapul, azaz ha egy folyamat egy adott címtartományt (azaz lapkészletet) használ, akkor nagy valószínûséggel a következõkben is ezt fogja használni. Ez a munkahalmaz viszonylag lassan változik (akár maguk a lapok, akár a munkahalmazt alkotó lapok darabszáma). Az operációs rendszer olyan lapozási stratégiát követ, hogy minden egyes folyamatnak igyekszik állandóan benntartani a munkahalmazát. Hátránya: bonyolult szoftvert és hardvert igényel. c., laphiba gyakoriság figyelése: Figyeljük, hogy egy folyamatban idõegységenként hány laphiba lépett fel. Ha ez az érték meghalad egy elõre rögzített maximumot, akkor a folyamatnak a szükségesnél kevesebb kerete van. Ha lehetséges, adunk neki még egyet, ha nem, felfüggesztjük a folyamatot átmenetileg. Viszont, ha egy elõre rögzített minimumnál kisebb a laphibák száma, a folyamatnak túl sok kerete van, ezért ilyenkor elveszünk tõle egyet. 25

26 30. Hogyan találunk meg egy adatblokkot lemezen? A mágneses háttértárak szervezési elve általában a következõ: A lemezeket koncentrikus körökre (sáv vagy pálya - track) osztjuk. Merevlemezes egységeknél, ahol általában több lemez helyezkedik el egymás alatt, az egymás alatti sávok összességét cilindernek hívjuk. Más esetekben lehetséges, hogy a lemez mindkét oldalára írunk. A sávok további egységekre, az úgynevezett szektorokra vannak osztva. A 0. szektor helyzetét egy referencia- vagy más néven indexlyuk jelzi. Az egyes szektorok között üres helyek (gap) találhatók. Minden pálya illeve szektor elején egy azonosító bitsorozat áll, amelyet a formattálás során a formattáló program ír fel. Az adatblokkok az egyes szektorokban helyezkednek el. Az adatblokkok méretétõl függõen lehetséges, hogy egy adatblokk = egy szektor, egy adatblokk < egy szektor illetve egy adatblokk > egy szektor. Az, hogy az egyes állományokhoz tartozó adatterületek hogyan helyezkednek el a lemezen, nagymértékben függ az alkalmazott háttértér kiosztási stratégiától (lásd 32. kérdés). 31. Milyen katalógusszerkezeteket (könyvtárszerkezeteket) ismer? a., b., c., kétszintû katalógus Minden felhasználónak saját katalógusa van (ezek neveit tartalmazza a felsõ szintû katalógus). E saját katalógusokban helyezhetik el a felhasználók saját állományaikat. Ezen kívül van egy "rendszerkatalógus", ahol a közös használatú állományok találhatók meg. Értékelés: túlságosan egyszerû, merev fa struktúrájú katalógus Az a., módszer továbbfejlesztése. A felsõ szintû ("gyökér") katalógusban állományok mellett újabb katalógusok találhatók, majd ezekben a katalógusokban szintén állományok és újabb katalógusok vannak és így tovább. Értékelés: elég flexibilis, gyakran használt megoldás. ciklusmentes gráf A b., módszer továbbfejlesztése. Ha egy állomány több katalógusban is szerepel, a több másolatonak az egyes katalógusokban külön-külön való tárolása helyett az adott állományból csak egy példányt tárolunk és a megfelelõ katalógusokban speciális bejegyésekkel, az ún. kapcsolatokkal (linkekkel) mutatunk e közös példányra. 26

27 Értékelés: nagyon flexibilis, többfelhasználós rendszerekben közös adatterületek kialakítását kifejezetten támogatja, helytakarékos, bár a vezérlése bonyolultabb. 32. Milyen háttértér-kiosztási stratégiákat ismer? Ismertesse röviden õket! Milyen elõnyös és hátrányos tulajdonságaik vannak? a., b., c., folytonos Minden állomány egymás után álló blokkok sorozatát foglalja el a lemezen. A katalógusba a blokk kezdõcímét és az elfoglalt blokkok számát kell felvenni. Elõny: szekvenciális és véletlen elérésû állományokhoz is jó Hátrány:- bonyolult algoritmusok a megfelelõ méretû szabad terület megkeresére (elsõ illeszkedõ - first fit; legjobban illeszkedõ - best fit; legnagyobb hely - largest hole). - külsõ elaprozódás lép fel (a szabad terület egy idõ után sok haszálhatatlan kis részre esik szét). Kezelése: idõnkénti tömörítés - lassú! - probléma az állományok bõvítése: - át kell másolni - lassú - nagyobb helyet foglalunk le, mint ami szükséges, de egyrészt nem biztos, hogy késõbb tényleg bõvítjük az állományt, ekkor ez felesleges helypazarlás, illetve másrészt nincs arra garancia, hogy bõvítéskor a lefoglalt nagyobb hely tényleg elég nagy-e. láncolt Minden állomány blokkok láncolt listája, azaz minden blokk végén van egy pointer, mely a következõ blokkra mutat. A katalógus az elsõ és az utolsó blokk címét tartalmazza. Elõny: - a szabad helyek aprózódása nem jelentkezik - nem probléma az állomány bõvítése Hátrány: - csak szekvenciális állományokra jó - sebezhetõ; ha egy pointer elveszik, elvész az állomány egész hátralévõ része, hiszen ahhoz, hogy egy adott blokkot megtaláljunk, az elsõ blokktól kiindulva végig kell tudni menni a keresett blokkig a pointerek segítségével. indexelt A b., verzió módosítása oly módon, hogy a pointereket egy külön indextáblában tároljuk. Az indexblokk i. eleme az állomány i. blokkjára mutat. Elõny: - nem csak szekvenciális állományokra jó - ez a legflexibilisebb megoldás 27

28 Hátrány: - az indexblokkok kezelése: - nem biztos, hogy az indexblokk belefér egy blokkba (hosszú állományok esetén), ilyenkor a megoldás az indexblokkok láncolt listája - ha a fizikai blokkméret sokkal nagyobb, mint az indexek elhelyezéshez szükséges terület - belsõ elaprózódás lép fel (kis méretû állományoknál). 33. Ismertessen legalább három lemezes háttértár ütemezési stratégiát! Melyik ezek közül a legoptimálisabb? FCFS (elõbb jött - elõbb szolgálják ki) A kérelmek egy FIFO sorba kerülnek, és mindig a FIFO elejérõl vesszük a következõ kiszolgálandót. - A legrosszabb hatásfokú a fejmozgás szempontjából. SSTF (a legközelebbi elõnyben) Mindig azt az igényt elégítjük ki, amelyhez a fej éppen a legközelebb van. - A kiéheztetés veszélye miatt (a fej jelenlegi állásától "messze" lehet, hogy soha sem jut el) használhatatlan. SCAN (pásztázó) A fej a két végállása között folyamatosan ingázik és kielégíti az éppen aktuális pályára vonatkozó azon igényeket, amelyek a pásztázás kezdetekor már fennálltak. (Azaz a kiszolgálás közben érkezõ új igényeket csak a következõ "körben" szolgálja ki, így kerüli el a kiéheztetést.) - Jó algoritmus, de a lemez szélein lévõ állományokat ritkábban szolgálja ki. N-SCAN (N lépéses pásztázó) Egy irányba mozogva csak maximum N darab igényt elégítünk ki minden pályán. - Az átlagos várakozási idõ körülbelül ugyanaz mint a SCAN-é, de a szórása kisebb. C(ircular)-SCAN (Egyirányú pásztázó) A kérések kiszolgálása mindig csak az egyik irányú fejmozgásnál történik. - Elkerüli még a szélsõ pályák háttérbe szorítását is. 34. Mit nevezünk konkurens folyamatoknak? Konkurens folyamatoknak az egymással (elvileg) párhuzamosan futtatható folyamatokat nevezzük. A konkurens folyamatokat egymásrahatásuk szempontjából a következõképpen osztályozhatjuk. - Független folyamatok: sem közös erõforrás, sem adatcsere nem kapcsolja õket össze, nincs semmi közük egymáshoz. Csak multiprocesszoros rendszerekben 28

29 fordulhatnak elõ. (Egyprocesszoros rendszerben, ha más nem is, de a CPU mindig közös erõforrás, melyért a folyamatok versenyeznek.) - Aszinkron folyamatok: esetenkénti szinkronizáció, kooperáció, illetve közös erõforrásért való versengés fennáll köztük: - erõforrásokért versengõ (de egyébként egymástól független) folyamatok - kooperáló folyamatok (kooperáció és versengés együttesen jellemzi õket). 35. Mi a precedenciagráf, a fork/join illetve a parbein/parend utasításpár? A konkurens folyamatokban is lehetnek olyan utasítások (vagy utasításcsoportok), melyek végrehajtása meg kell, hogy elõzze más utasítások (vagy utasításcsoportok) végrehajtását. A lehetséges párhuzamosítások, illetve sorrendi kötöttségek szemléletes ábrázolására szolgál a prcedenciagráf, mely egy irányított, ciklusmentes gráf. A gráf csomópontjai utasítások, míg, ha egy csomópontból él vezet egy másik csomópontba, akkor ez jelenti azt, hogy az elsõ csomópont utaításának végrehajtása meg kell, hogy elõzze a második csomópontét. Ha egy csomópontból egynél több él indul ki, akkor ez jelenti azt, hogy az élek mentén lévõ csomópontok utasításai párhuzamosíthatók. Míg, ha egy csomópontba egynél több él fut be, akkor ez azt jelenti, hogy az - eddig - párhuzamosan futó tevékenységeket szinkronizálni kell, azaz a csomópontban szereplõ utaítást csak azután lehet végrehajtani, ha minden bevezetõ ág tevékenysége végetért. A precedenciagráfok szemléletesek, de közvetlenül programozásra nem használhatók fel. Megoldás: a., fork/join utasítások bevezetése - a "fork címke" utasítás: a végrehajtás két párhuzamos ágra szakad, az egyik ág következõ utasítása a fork utasítást követõ utasítás, míg a másik ágé a címkénél található. - a "join számláló" utasítás: a számláló által mutatott darabszámú ág egyesítése. Mûködése: minden ág befejzõdése eggyel csökkenti a számláló értékét, és a join után következõ utasítás végrehajtása csak akkor kezdõdhet el, ha a számláló eléri a nulla értéket (minden ág befejezõdik). A fork/join utasításokkal tetszés szerinti precedenciagráf leírható, de a program strukturálatlan, a címkék és a goto utasítások miatt áttekinthetlen lesz. 29

30 b., parbegin/parend utasítások bevezetése A parbegin/parend utasítások között egymással párhuzamosan végrehajtható utasításokat sorolhatunk fel. A parbegin/parend utasításokkal készült program strukturált, áttekinthetõ, goto utasítás mentes lesz, de csak önmagukban ezekkel az utasításokkal nem írható le minden precedenciagráf. Megoldás: alkalmasan megválasztott szemaforok és az õket kezelõ P (letiltás) és V (engedélyezés) primitívek bevezetése. Ezen kiegészítésekkel minden precedenciagráf kezelhetõ és az elkészült program áttekinthetõ, goto mentes lesz. 36. Mi a kritikus szekció, a szemafor és a P illetve V primitív? A párhuzamosan végrehajtható folyamatokban is lehetnek olyan részek, melyek párhuzamos végrehajtása hibát okozhat. Ezeket a részeket nevezzük kritikus szekcióknak. Biztosítani kell, hogy a kritikus szekcióhoz tartozó utasítások oszthatatlanul (azaz más folyamatok által meg nem szakítható módon) hajtódjanak végre. Megoldás: rendeljünk minden kritikus szekcióhoz egy, a kritikus szekcióba való belépést engedélyezõ jelzõt, egy ún. szemafort. Egy folyamat csak akkor léphet be az adott kritikus szekcióba, ha a hozzá tartozó szemfort szabadnak találja. A szemafor állítására szolgáló két oszthatatlan mûvelet a P és V primitív. A P primitív lefoglalja (azaz tilosra állítja), míg a V primitív felszabadítja (azaz szabadra állítja) a szemafort. 37. Ismertesse a P és V primitívek mûködését egy termelõ/fogyasztó probléma megoldására! A termelõ/fogyasztó probléma: két folyamat egy közös memóriaterületen (postaláda) kommunikál egymással. A termelõ üzenetet (levelet) tesz be a postaládába, míg a fogyaszó azt kiveszi onnan. A feladat megoldásához 3 szemafor szükséges: 1., SEMA: a kölcsönös kizárást valósítja meg, tehát, hogy amíg az egyik folyamat használja a postaládát, a másik folyamatnak várakoznia kell. A SEMA szemafor két értéket vehet fel: SZABAD = 1, FOGLALT = 0; Kezdeti értéke SZABAD. 2., TELE: a postaládában lévõ tele borítékok (azaz üzenetek) számát határozza meg. Értéke 0 és a postaláda kapacitását meghatározó 30

31 MAX érték között változhat. Kezdeti értéke: 0. Ha a TELE = 0. ez jelzi a fogyasztó folyamatnak, hogy nincs levél (üzenet) a postaládában. 3., ÜRES: a postaládában levõ üres helyek száma. Értéke 0 és MAX között változhat. Kezdeti értéke: MAX. Ha ÜRES = 0, ez jelzi a termelõ folyamatnak, hogy a postaláda tele van, tehát újabb üzenet oda nem tehetõ be. A megoldáshoz a P és V primitívek azon megvalósítása használható, melyben P (a lefoglaló primitív) eggyel csökkenti, míg a V (a felszabadító primitív) eggyel növeli a szemafor értékét. SEMA termelõ folyamat postaláda fogyasztó folyamat TELE ÜRES A termelõ folyamat programja: P (ÜRES) - egy üres hely lefoglalása, az üres helyek számának eggyel való csökkentése P (SEMA) - a postaláda használati jogának megszerzése, a postaláda lefoglalása a levél beírása a postaládába V (SEMA) - a postaláda felszabadítása V (TELE) - a tele borítékok számának eggyel való növelése 31

Az operációs rendszer szerkezete, szolgáltatásai

Az operációs rendszer szerkezete, szolgáltatásai Az operációs rendszer szerkezete, szolgáltatásai Felhasználói programok Rendszerhívások Válaszok Kernel Eszközkezelők Megszakításvezérlés Perifériák Az operációs rendszer szerkezete, szolgáltatásai Felhasználói

Részletesebben

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek

Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Soós Sándor Nyugat-magyarországi Egyetem Faipari Mérnöki Kar Informatikai és Gazdasági Intézet E-mail: soossandor@inf.nyme.hu 2011.

Részletesebben

Operációs rendszerek. Folyamatok ütemezése

Operációs rendszerek. Folyamatok ütemezése Operációs rendszerek Folyamatok ütemezése Alapok Az ütemezés, az események sorrendjének a meghatározása. Az ütemezés használata OPR-ekben: az azonos erőforrásra igényt tartó folyamatok közül történő választás,

Részletesebben

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus.

Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Operációs rendszerek be és kivitelkezelése, holtpont fogalma, kialakulásának feltételei, holtpontkezelési stratégiák, bankár algoritmus. Input/Output I/O Hardware I/O eszközök (kommunikációs portok szerint

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1 Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication) 1. A folyamat (processzus, process) fogalma 2. Folyamatok: műveletek, állapotok, hierarchia 3. Szálak (threads)

Részletesebben

Számítógépek felépítése

Számítógépek felépítése Számítógépek felépítése Emil Vatai 2014-2015 Emil Vatai Számítógépek felépítése 2014-2015 1 / 14 Outline 1 Alap fogalmak Bit, Byte, Word 2 Számítógép részei A processzor részei Processzor architektúrák

Részletesebben

Operációs rendszerek II. Folyamatok ütemezése

Operációs rendszerek II. Folyamatok ütemezése Folyamatok ütemezése Folyamatok modellezése az operációs rendszerekben Folyamatok állapotai alap állapotok futásra kész fut és várakozik felfüggesztett állapotok, jelentőségük Állapotátmeneti diagram Állapotátmenetek

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Fábián Zoltán Hálózatok elmélet

Fábián Zoltán Hálózatok elmélet Fábián Zoltán Hálózatok elmélet Fizikai memória Félvezetőkből előállított memóriamodulok RAM - (Random Access Memory) -R/W írható, olvasható, pldram, SDRAM, A dinamikusan frissítendők : Nagyon rövid időnként

Részletesebben

Operációs rendszerek III.

Operációs rendszerek III. A WINDOWS NT memóriakezelése Az NT memóriakezelése Memóriakezelő feladatai: Logikai-fizikai címtranszformáció: A folyamatok virtuális címterének címeit megfelelteti fizikai címeknek. A virtuális memóriakezelés

Részletesebben

Előadás_#03. Előadás_03-1 -

Előadás_#03. Előadás_03-1 - Előadás_#03. 1. Ütemezés [OR_05_Ütemezés_ok.ppt az 1-30. diáig / Előadás_#03 (dinamikusan)] Tekintsük át, hogy eddig minek a kapcsán merült fel ütemezés. Tulajdonképpen minden olyan lépés, ami állapot

Részletesebben

Alkalmazások típusai Szoftverismeretek

Alkalmazások típusai Szoftverismeretek Alkalmazások típusai Szoftverismeretek Prezentáció tartalma Szoftverek csoportjai Operációs rendszerek Partíciók, fájlrendszerek Tömörítés Vírusok Adatvédelem 2 A szoftver fogalma A szoftver teszi használhatóvá

Részletesebben

Az interrupt Benesóczky Zoltán 2004

Az interrupt Benesóczky Zoltán 2004 Az interrupt Benesóczky Zoltán 2004 1 Az interrupt (program megszakítás) órajel generátor cím busz környezet RESET áramkör CPU ROM RAM PERIF. adat busz vezérlõ busz A periféria kezelés során információt

Részletesebben

Architektúra, megszakítási rendszerek

Architektúra, megszakítási rendszerek Architektúra, megszakítási ek Mirıl lesz szó? Megszakítás fogalma Megszakítás folyamata Többszintű megszakítási ek Koschek Vilmos Példa: Intel Pentium vkoschek@vonalkodhu Koschek Vilmos Fogalom A számítógép

Részletesebben

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna

Uniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás

Részletesebben

Ütemezés (Scheduling),

Ütemezés (Scheduling), 1 Ütemezés (Scheduling), Alapfogalmak Ütemezési feltételek (kritériumok) Ütemezési algoritmusok Több-processzoros eset Algoritmus kiértékelése 2 Alapfogalmak A multiprogramozás célja: a CPU foglaltság

Részletesebben

Operációs rendszerek. Bemutatkozás

Operációs rendszerek. Bemutatkozás Bevezetés az operációs rendszerek világába dr. Benyó Balázs benyo@sze.hu Bemutatkozás www.sze.hu/~benyo 1 Számítógép HW-SW felépítése felhasználó felhasználó felhasználó Operációs rendszer Operációs rendszer

Részletesebben

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése

2. Folyamatok. Operációs rendszerek. Folyamatok. Bevezetés. 2.1. Folyamatkezelés multiprogramozott rendszerekben. Folyamatok modellezése Operációs rendszerek 2. Folyamatok Simon Gyula 2. Folyamatok Bevezetés Folyamatkezelés multiprogramozott rendszerben Környezet váltás Folyamatleírók, I/O leírók Szálak Megszakítások Felhasznált irodalom:

Részletesebben

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Szenzorhálózatok programfejlesztési kérdései. Orosz György Szenzorhálózatok programfejlesztési kérdései Orosz György 2011. 09. 30. Szoftverfejlesztési alternatívák Erőforráskorlátok! (CPU, MEM, Energia) PC-től eltérő felfogás: HW közeli programozás Eszközök közvetlen

Részletesebben

OPERÁCIÓS RENDSZEREK. Elmélet

OPERÁCIÓS RENDSZEREK. Elmélet 1. OPERÁCIÓS RENDSZEREK Elmélet BEVEZETÉS 2 Az operációs rendszer fogalma Az operációs rendszerek feladatai Csoportosítás BEVEZETÉS 1. A tantárgy tananyag tartalma 2. Operációs rendszerek régen és most

Részletesebben

Operációs rendszerek. Az NT folyamatok kezelése

Operációs rendszerek. Az NT folyamatok kezelése Operációs rendszerek Az NT folyamatok kezelése Folyamatok logikai felépítése A folyamat modell: egy adott program kódját végrehajtó szál(ak)ból és, a szál(ak) által lefoglalt erőforrásokból állnak. Folyamatok

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Operációs rendszerek. Folyamatok kezelése a UNIX-ban

Operációs rendszerek. Folyamatok kezelése a UNIX-ban Operációs rendszerek Folyamatok kezelése a UNIX-ban Folyamatok a UNIX-ban A folyamat: multiprogramozott operációs rendszer alapfogalma - absztrakt fogalom. A gyakorlati kép: egy program végrehajtása és

Részletesebben

Ütemezés (Scheduling),

Ütemezés (Scheduling), 1 Ütemezés (Scheduling), Alapfogalmak Ütemezési feltételek (kritériumok) Ütemezési algoritmusok Több-processzoros eset Algoritmus kiértékelése 2 Alapfogalmak A multiprogramozás célja: a CPU foglaltság

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

12. Másodlagos tár szerkezet

12. Másodlagos tár szerkezet 12. Másodlagos tár szerkezet Diszk felépítés Diszk ütemezés Diszk kezelés Swap (csere) terület kezelés Diszk megbízhatóság Stabil-tár implementáció 71 Diszk felépítés Logikailag a diszk blokkokból képezett

Részletesebben

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek - 105 1. oldal LINUX 1. oldal LINUX 2. oldal UNIX történet Elozmény: 1965 Multics 1969 Unix (Kernighen, Thompson) 1973 Unix C nyelven (Ritchie) 1980 UNIX (lényegében a mai forma) AT&T - System V Microsoft - Xenix Berkeley

Részletesebben

(kernel3d vizualizáció: kernel245_graph.mpg)

(kernel3d vizualizáció: kernel245_graph.mpg) (kernel3d vizualizáció: kernel245_graph.mpg) http://www.pabr.org/kernel3d/kernel3d.html http://blog.mit.bme.hu/meszaros/node/163 1 (ml4 unix mérés boot demo) 2 UNIX: folyamatok kezelése kiegészítő fóliák

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek 10. előadás - Holtpont kezelés, szignálok 2006/2007. II. félév Dr. Török Levente Links A. Tanenbaum: Op. rendszerek http://www.iit.uni-miskolc.hu/%7evadasz/geial201/jegyzet/3rd.pdf

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Előadás_#02. Előadás_02-1 -

Előadás_#02. Előadás_02-1 - Előadás_#02. 1. Folyamatok [OR_02_Folyamatok_zs.ppt az 1-12. diáig / Előadás_#02 (dinamikusan)] A multiprogramozott rendszerek előtt a tiszta szekvenciális működés volt a jellemző. Egy program (itt szándékosan

Részletesebben

Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése

Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése 1 Memóriakezelés (Memory management) folytatás Virtuális memória és kezelése Alapok (lapok, csere, hibák, címszámítás) Lapkiosztási elvek Lapcsere stratégiák A programozó szerepe a laphibák számának csökkenésében

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

Részletesebben

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés . Számítógépek működési elve Bevezetés az informatikába. előadás Dudásné Nagy Marianna Az általánosan használt számítógépek a belső programvezérlés elvén működnek Külső programvezérlés... Vezérlés elve

Részletesebben

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor Ismerkedjünk tovább a számítógéppel Alaplap és a processzeor Neumann-elvű számítógépek főbb egységei A részek feladatai: Központi egység: Feladata a számítógép vezérlése, és a számítások elvégzése. Operatív

Részletesebben

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:

Operációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra

Részletesebben

Számítógép felépítése

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

Előadás_#06. Előadás_06-1 -

Előadás_#06. Előadás_06-1 - Előadás_#06. 1. Holtpont, Éheztetés [OR_04_Holtpont_zs.ppt az 1-48. diáig / nem minden diát érintve] A holtpont részletes tárgyalása előtt nagyon fontos leszögezni a következőt: Az éheztetés folyamat szintű

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Megszakítások Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. november 9. Bevezetés Megszakítások

Részletesebben

Informatika alapok számítógépes rendszerek

Informatika alapok számítógépes rendszerek Informatika alapok számítógépes rendszerek Szerkesztette: Wünsch Péter Internet cím: http://web.axelero.hu/none 1. Mi tette szükségessé a kötegelt feldolgozást, és mik a jellemzıi? Az Open shop rendszerben

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

Operációs rendszerek Folyamatok 1.1

Operációs rendszerek Folyamatok 1.1 Operációs rendszerek p. Operációs rendszerek Folyamatok 1.1 Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK A rendszermag Rendszermag

Részletesebben

Tartalom. Operációs rendszerek. 5.1. Bevezetés. 5.2. CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés

Tartalom. Operációs rendszerek. 5.1. Bevezetés. 5.2. CPU ütemezés. Középtávú ütemezés. Hosszútávú ütemezés Tartalom Operációs rendszerek Bevezetés CPU ütemezés Ütemezési algoritmusok alapjai Ütemezési algoritmusok 5. Ütemezés Simon Gyula Felhasznált irodalom: Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki

Részletesebben

Dr. Illés Zoltán zoltan.illes@elte.hu

Dr. Illés Zoltán zoltan.illes@elte.hu Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.

Részletesebben

Operációs rendszerek. Az NT memóriakezelése

Operációs rendszerek. Az NT memóriakezelése Operációs rendszerek MS Windows NT (2000) memóriakezelés Az NT memóriakezelése 32-bites virtuális memóriakezelés: 4 GB-os címtartomány, alapesetben: a fels! 2 GB az alkalmazásoké, az alsó 2 GB az OPR-é.

Részletesebben

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag.

Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve őszi félév első zhval bezárólag. Nem biztos, hogy mindenhol helytáll, helyenként hiányos, de az eddigi kérdések össze vannak gyűjtve. 2013 őszi félév első zhval bezárólag. 1. Mi az operációs rendszer kernel módja és a felhasználói módja

Részletesebben

9. Virtuális memória kezelés

9. Virtuális memória kezelés 9. Virtuális memória kezelés Háttér Igény szerinti (kényszer) lapozás A kényszer lapozás teljesítménye Laphelyettesítési algoritmusok Frame-k allokálása Vergôdés (csapkodás, thrashing) Kényszer szegmentálás

Részletesebben

Programozás alapjai. 10. előadás

Programozás alapjai. 10. előadás 10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:

Részletesebben

Utasításrendszer jellemzése (utasítás részei) 1. műveleti kód 2. operandusok 3. következő utasítás címe (elmaradhat)

Utasításrendszer jellemzése (utasítás részei) 1. műveleti kód 2. operandusok 3. következő utasítás címe (elmaradhat) Informatika 1 vizsgafeladatok Számítógép architektúrák témakör Számítógép architektúra: Az elemi áramkörökből felépített funkcionális egységek alkotta hardver és az operációs rendszer között rész. Az architektúra

Részletesebben

2. modul - Operációs rendszerek

2. modul - Operációs rendszerek 2. modul - Operációs rendszerek Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 2. modul (Operációs rendszerek) syllabusát, amely az elméleti és gyakorlati modulvizsga követelményrendszere.

Részletesebben

Feladatok (task) kezelése multiprogramozott operációs rendszerekben

Feladatok (task) kezelése multiprogramozott operációs rendszerekben Operációs rendszerek (vimia219) Feladatok (task) kezelése multiprogramozott operációs rendszerekben dr. Kovácsházy Tamás 3. anyagrész 1. Ütemezéssel kapcsolatos példa 2. Összetett prioritásos és többprocesszoros

Részletesebben

Windows ütemezési példa

Windows ütemezési példa Windows ütemezési példa A példában szereplő számolás erősen leegyszerűsített egy valós rendszerhez képest, csak az elveket próbálja bemutatni! Egyprocesszoros Windows XP-n dolgozunk, a rendszer úgy van

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek? Szükségünk van operációs rendszerre? NEM, mert mi az alkalmazással szeretnénk játszani dolgozni, azért használjuk a számítógépet. IGEN, mert nélküle a számitógépünk csak egy halom

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Számítógép Architektúrák

Számítógép Architektúrák A virtuális memória Horváth Gábor 2016. március 30. Budapest docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Virtuális tárkezelés Motiváció: Multitaszking környezet Taszkok

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Számítógép architektúrák

Számítógép architektúrák Számítógép architektúrák Számítógépek felépítése Digitális adatábrázolás Digitális logikai szint Mikroarchitektúra szint Gépi utasítás szint Operációs rendszer szint Assembly nyelvi szint Probléma orientált

Részletesebben

A legfontosabb DOS parancsok

A legfontosabb DOS parancsok A legfontosabb DOS parancsok A DOS parancsok általános formája: KULCSSZÓ paraméterek Az utasítások akár kis-, akár nagybetűkkel is írhatók, a DOS nem tesz köztük különbséget. A kulcsszó és az első paraméter

Részletesebben

Operációs rendszerek II. Tárkezelés

Operációs rendszerek II. Tárkezelés Tárkezelés Témák I. Memória (központi tár) kezelés 1. Programok fizikai tárigényének csökkentése 2. Memória hézagmentes kitöltése. 3. Háttértár használata memória kiváltására. II. Állományrendszerek Mágneslemezes

Részletesebben

Operációs rendszerek. 3. előadás Ütemezés

Operációs rendszerek. 3. előadás Ütemezés Operációs rendszerek 3. előadás Ütemezés 1 Szemaforok Speciális változók, melyeket csak a két, hozzájuk tartozó oszthatatlan művelettel lehet kezelni Down: while s < 1 do üres_utasítás; s := s - 1; Up:

Részletesebben

Operációsrendszerek. 2. elıadás. Standard ismeretek II.

Operációsrendszerek. 2. elıadás. Standard ismeretek II. Operációsrendszerek 2. elıadás Standard ismeretek II. Bevezetés A rétegmodell Kernelfunkciók A megszakítási rendszer Folyamatvezérlés Memóriakezelés Erıforráskezelés Eszközvezérlık Programok végrehajtása

Részletesebben

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc - OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc - koczka.ferenc@ektf.hu KÖVETELMÉNYEK GYAKORLATI JEGY: Két zárthelyi dolgozat eredményes megírása. Forrás: http://wiki.koczka.hu ELMÉLETI VIZSGA Az előadások

Részletesebben

8. gyakorlat Pointerek, dinamikus memóriakezelés

8. gyakorlat Pointerek, dinamikus memóriakezelés 8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati

Részletesebben

Mutatók és mutató-aritmetika C-ben március 19.

Mutatók és mutató-aritmetika C-ben március 19. Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:

Részletesebben

Problémák. Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve

Problémák. Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve Virtuális memória 1 Problémák Lehet hogy a program nem fér be a memóriába Mozgatás diszkre és vissza A programok lokalitásának elve A program rövid idő alatt csak kis részét használja a memóriának Biztonság

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

Operációs Rendszerek II.

Operációs Rendszerek II. Operációs Rendszerek II. Második előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Visszatekintés Visszatekintés Operációs rendszer a számítógép hardver elemei és az

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Szemaforok Operációs rendszerek MINB24 3. előadás Ütemezés Speciális változók, melyeket csak a két, hozzájuk tartozó oszthatatlan művelettel lehet kezelni Down: while s < 1 do üres_utasítás; s := s - 1;

Részletesebben

Operációs rendszerek

Operációs rendszerek Operációs rendszerek 2. EA Regiszter: A regiszterek a számítógépek központi feldolgozó egységeinek (CPU-inak), illetve mikroprocesszorainak gyorsan írható-olvasható, ideiglenes tartalmú, és általában egyszerre

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

Adatbázismodellek. 1. ábra Hierarchikus modell

Adatbázismodellek. 1. ábra Hierarchikus modell Eddig az adatbázisokkal általános szempontból foglalkoztunk: mire valók, milyen elemekből épülnek fel. Ennek során tisztáztuk, hogy létezik az adatbázis fogalmi modellje (adatbázisterv), amely az egyedek,

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás: 2011. 09. 08. 1 A tantárggyal kapcsolatos adminisztratív kérdésekkel Micskei Zoltánt keressétek. 2 3 4 5 6 7 8 9 10 11 12 13 14 Erősen buzzword-fertőzött terület, manapság mindent szeretnek

Részletesebben

Matematikai és Informatikai Intézet. 4. Folyamatok

Matematikai és Informatikai Intézet. 4. Folyamatok 4. Folyamatok A folyamat (processzus) fogalma Folyamat ütemezés (scheduling) Folyamatokon végzett "mûveletek" Folyamatok együttmûködése, kooperációja Szálak (thread) Folyamatok közötti kommunikáció 49

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Mutex Operációs rendszerek MINB24 3. előadás Ütemezés Bináris szemafor Szemaforváltozója csak két értéket vehet fel ( / 1; foglalt / szabad) Kölcsönös kizárásra 1 kezdőértékű mutex A kritikus szakaszba

Részletesebben

ELOADÁS VÁZLATOK OPERÁCIÓS RENDSZEREK

ELOADÁS VÁZLATOK OPERÁCIÓS RENDSZEREK Gábor Dénes Foiskola ELOADÁS VÁZLATOK OPERÁCIÓS RENDSZEREK 105 Vezetotanár: KNAPP GÁBOR 2001/2002 tavasz 1. Oldal Bevezetés A számítógépek felépítése (ismétlés) Múlt, jelen, jövo Alapfogalmak Folyamatok,

Részletesebben

Mikrorendszerek tervezése

Mikrorendszerek tervezése BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Mikrorendszerek tervezése Megszakítás- és kivételkezelés Fehér Béla Raikovich

Részletesebben

A számítógépek felépítése. A számítógép felépítése

A számítógépek felépítése. A számítógép felépítése A számítógépek felépítése A számítógépek felépítése A számítógépek felépítése a mai napig is megfelel a Neumann elvnek, vagyis rendelkezik számoló egységgel, tárolóval, perifériákkal. Tápegység 1. Tápegység:

Részletesebben

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép

Részletesebben

Számítógépek felépítése, alapfogalmak

Számítógépek felépítése, alapfogalmak 2. előadás Számítógépek felépítése, alapfogalmak Lovas Szilárd, Krankovits Melinda SZE MTK MSZT kmelinda@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? 2 Nem reprezentatív felmérés

Részletesebben

SzA19. Az elágazások vizsgálata

SzA19. Az elágazások vizsgálata SzA19. Az elágazások vizsgálata (Az elágazások csoportosítása, a feltételes utasítások használata, a műveletek eredményének vizsgálata az állapottér módszerrel és közvetlen adatvizsgálattal, az elágazási

Részletesebben

Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin

Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin Digitális írástudás 2012. március 13. TÁMOP-5.3.1-C-09/2-2010-0068 Trambulin Cél: A képzés célja, hogy a projekt résztvevői tudják kezelni a számítógépet és perifériáit, ismerjék a szoftvereket. Képessé

Részletesebben

Magas szintű optimalizálás

Magas szintű optimalizálás Magas szintű optimalizálás Soros kód párhuzamosítása Mennyi a várható teljesítmény növekedés? Erős skálázódás (Amdahl törvény) Mennyire lineáris a skálázódás a párhuzamosítás növelésével? S 1 P 1 P N GPGPU

Részletesebben

8. Memória management

8. Memória management 8. Memória management Háttér Logikai és fizikai címtér Swapping Folytonos allokálás Lapozás Szegmentáció Szegmentáció lapozással 101 Háttér Az számítógép (processzor) kapacitásának jobb kihasználása megköveteli,

Részletesebben

Irányítástechnika 1. 9. Elıadás. PLC-k programozása

Irányítástechnika 1. 9. Elıadás. PLC-k programozása Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű. 12. Felügyeleti eszközök Néhány számítógép és szerver felügyeletét viszonylag egyszerű ellátni. Ha sok munkaállomásunk (esetleg több ezer), vagy több szerverünk van, akkor a felügyeleti eszközök nélkül

Részletesebben

Digitális rendszerek. Utasításarchitektúra szintje

Digitális rendszerek. Utasításarchitektúra szintje Digitális rendszerek Utasításarchitektúra szintje Utasításarchitektúra Jellemzők Mikroarchitektúra és az operációs rendszer közötti réteg Eredetileg ez jelent meg először Sokszor az assembly nyelvvel keverik

Részletesebben

Párhuzamos programozási platformok

Párhuzamos programozási platformok Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Autóipari beágyazott rendszerek. Komponens és rendszer integráció Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása

Részletesebben

Operációs rendszerek MINB240

Operációs rendszerek MINB240 Operációs rendszerek MINB240 Ismétlés. előadás Processzusok 2 Alapvető hardware komponensek CPU Diszk Diszk kezelő Diszk Memória kezelő (Controller) Memória Nyomtató Nyomtató kezelő Rendszer busz 3 Alapvető

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként

Részletesebben

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. 6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes. Neumann elv: Külön vezérlő és végrehajtó egység van Kettes

Részletesebben

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben