Operációs Rendszerek II. 5. előadás

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

Download "Operációs Rendszerek II. 5. előadás"

Átírás

1 Operációs Rendszerek II. 5. előadás

2 Virtuális memóriakezelés Megjelenésekor komoly viták zajlottak a megoldás hatékonyságáról A (nem túl jelentős) teljesítmény csökkenésért cserébe jelentős előnyök: a rendszer több folyamatot tud a központi memóriában tartani, így a CPU kihasználtsága növekedhet a program mérete túlnőhet a fizikai memória méretén, nincs szükség alkalmazás szintű trükközésekre ugyanaz a program különböző memóriamennyiséggel bíró gépen is futtatható újrafordítás, illetve bármilyen alkalmazás szintű törődés nélkül (úgy, hogy a több memória jótékonyan hathat a futásra)

3 VM működés A folyamat indulásakor legalább annyi lapot vagy szegmenst be kell tölteni, amivel a futás megkezdődhet Futás közben a CPU folyamatos címfordítást végez (logikai, fizikai) Ha úgy találja, hogy valamely címhez nem tartozik terület a memóriában, úgy meghívja a megfelelő operációs rendszeri funkciót, amely gondoskodik a hiányzó lap pótlásáról. A programok a cache megoldásoknál is megismert tulajdonsága: a kód futása során meglehetősen hosszú ideig limitált területen lévő utasításokat hajt végre (ciklusok, stb.), a feldolgozott adatok köre sem változik túl sűrűn ez biztosítja a VM létjogosultságát! Hatékony hardver támogatás nélkülözhetetlen!

4 Lapozás Laptábla meglehetősen nagy lehet, azt a központi memóriában tároljuk (nem CPU-ban). A laptábla kezdőpontjára egy CPU regiszter (Page table ptr) mutat. Nagy laptábla miatt, több rendszer a laptáblát magát is a virtuális memóriában tárolja (lapozható) pl. a VAX rendszereken a folyamat max. 2GB memóriát használhat, egy lap 512 byte így a laptábla maximum 2 22 darab bejegyzést tartalmazhat Szintén elterjedt a több szintű laptábla használata, ahol az első szintű tábla mindig a fizikai memóriában van Pl. 32 bites rendszeren, 4 kbyte méretű lapoknál, 4 GB címtérnél a teljes laptábla 2 20 bejegyzést tartalmaz, ami 4 Mbyte méretű ez 2 10 lapot jelent. Ha az első szintű laptábla a fenti lapok címeit tartalmazza, akkor mérete 4 kbyte ( byte x 2 10 ). Két szintű laptáblánál a címfordítás is bonyolultabb, a logikai cím három részből áll.

5 Lapozás A virtuális címtérrel arányosan növekvő laptáblák problémáját többen is próbálták megoldani pl. UltraSPARC és az IA-64 architektúrák inverz laptábla megoldást alkalmaznak (a tábla méretét a fizikai memória határozza meg). Laptáblák miatt minden memória hivatkozáshoz legalább két hivatkozás szükséges: egy (vagy több) a címfordításhoz és egy a tényleges hozzáféréshez. A cache memóriához hasonlóan a CPU-ban a címfordítást is gyorsítják egy nagy sebességű laptábla-cache segítségével (TLB). A lapméret fontos hardvertervezési szempont minél kisebb a lapméret, annál kisebb a belső elaprózódás ugyanakkor növekszik a lapok száma és így a laptábla mérete A lapok optimális méretére nincs tökéletes megoldás Egyes processzorok változó lapméretet is támogatnak (UltraSPARC, Pentium, Itanium), a mai OS-ek széleskörűen nem támogatják a változó lapméretet (pl. Solarisban van ilyen)

6 Szegmentálás A programot különböző méretű modulokra b o n t j u k ( e z l e h e t p r o g r a m o z ó i v a g y fordítóprogram szintű döntés), a modulokat egymástól függetlenül kezeljük a memóriában. A címfordítás szegmenstáblán keresztül történik (összeadással) A szegmenstábla a szegmens méretét is tartalmazza, így a hozzáférés ellenőrzése is megoldott. A szegmensméret dinamikus változtatásával a futási idejű adatfoglalás és felszabadítás is kezelhető.

7 Szegmentálás és lapozás Egyesíti a két megoldás előnyét: a lapozás átlátszó módon biztosítja a memória hatékony használatát, míg a szegmentáció a program logikájának megjelenítését biztosítja a memóriakezelésben. A két módszer összekapcsolása esetén a szegmensek lapokból épülnek fel, így a memóriafoglalás egyszerűsödik (nem beszélve a méret változásáról). A logikai cím három részből áll: [Szegmens][Lap cím] [Offset]. A szegmenstábla az adott szegmenshez tartozó laptáblára mutat. Szegmentálás használatával a védelem biztosítása nyilvánvalóbb, mint lapozás esetén kombinált esetben így a szegmentálási megoldás védelmét használhatjuk.

8 OS szintű kérdések OS memóriakezelés megvalósításának alapvető kérdései Használ-e virtuális memóriakezelést? Lapozást, szegmentációt vagy mindkettőt használja (esetleg egyiket sem)? Milyen algoritmusokon alapul a megoldása?

9 OS szintű kérdések Az első két kérdést nem lehet megválaszolni a hardver körülmények ismerete nélkül. Például a korai Unix rendszerek nem használtak virtuális memóriakezelést (nem volt hardver támogatás hozzá). Az elmúlt időszakban néhány primitívebb rendszer, illetve néhány speciális célrendszer kivételével az összes operációs rendszer virtuális memóriakezelést használ. A tiszta szegmentáción alapuló rendszerek ritkák, a megoldások vagy lapozáson vagy pedig lapozás és szegmentáció kombinációján alapulnak. A továbbiakban a lapozás lesz a fókuszban!

10 Miért ez az egész? A CPU által megvalósított memória kezelés távol áll a teljes megoldástól Minden folyamatnak saját címtere van Különféle védelmi és megosztási elvárások Memória foglalás, felszabadítás Laphibák kezelése A memória menedzsment megvalósítása az OS feladata, ehhez a hardver, mint végrehajtó segít

11 Algoritmusok tervezési tér Betöltési (fetch) politika, amely a lap betöltésének idejét határozza meg (első hivatkozáskor vagy előre) Elhelyezési (placement) politika, amely a betöltendő lap fizikai memóriában történő elhelyezését befolyásolja Csere (replacement) politika, amely azt határozza meg, hogy szükség esetén melyik lapot cseréljük Rezidens lapok kezelésének szabályai, melyek meghatározzák, hogy egy adott folyamathoz tartozó lapokat miként kezeljük Laptisztítási politika, amely a lapok felszabadítását, lemezre írását szabályozza Terhelés szabályozás, amely a multiprogramozás fokát adja meg

12 Betöltési (fetch) politika A betöltési politika kétféle lehet Igény szerinti (demand) betöltésről beszélünk, ha a lapot csak akkor töltjük be, amikor arra az első hivatkozás (és ezzel együtt a laphiba) bekövetkezik. Előzetes (prepaging) betöltés esetén nem csak a hivatkozott lapot, de az azt követő néhány lapot is betöltjük feltételezzük, hogy a program azt is használja majd Ez a módszer a laphibák számát próbálja csökkenteni, illetve a lassú diszk miatti várakozás idejét próbálja leszorítani annak árán, hogy esetleg feleslegesen betöltött lapokkal foglalja le a memóriát.

13 Betöltési (fetch) politika A betöltési politika kétféle lehet Igény szerinti (demand) betöltésről beszélünk, ha a lapot csak akkor töltjük be, amikor arra az első hivatkozás (és ezzel együtt a laphiba) bekövetkezik. Előzetes (prepaging) betöltés esetén nem csak a hivatkozott lapot, de az azt követő néhány lapot is betöltjük feltételezzük, hogy a program azt is használja majd Ez a módszer a laphibák számát próbálja csökkenteni, illetve a lassú diszk miatti várakozás idejét próbálja leszorítani annak árán, hogy esetleg feleslegesen betöltött lapokkal foglalja le a memóriát.

14 Elhelyezési (placement) politika A politika azt határozza meg, hogy a memória mely részére töltsük be a lapot. A legtöbb rendszer esetén a memóriakezelés módja (eltérően pl. a diszkektől) helyfüggetlen, úgyhogy e politika nem releváns. Fontos kivételt jelentenek a NUMA architektúrák, melyek esetén a memóriához való hozzáférés sebessége függ attól, hogy saját memóriáról vagy távoli memóriáról van szó.

15 Elhelyezési (placement) politika A politika azt határozza meg, hogy a memória mely részére töltsük be a lapot. A legtöbb rendszer esetén a memóriakezelés módja (eltérően pl. a diszkektől) helyfüggetlen, úgyhogy e politika nem releváns. Fontos kivételt jelentenek a NUMA architektúrák, melyek esetén a memóriához való hozzáférés sebessége függ attól, hogy saját memóriáról vagy távoli memóriáról van szó.

16 Elhelyezési (placement) politika A politika azt határozza meg, hogy a memória mely részére töltsük be a lapot. A legtöbb rendszer esetén a memóriakezelés módja (eltérően pl. a diszkektől) helyfüggetlen, úgyhogy e politika nem releváns. Fontos kivételt jelentenek a NUMA architektúrák, melyek esetén a memóriához való hozzáférés sebessége függ attól, hogy saját memóriáról vagy távoli memóriáról van szó.

17 Csere (replacement) politika Az eldobandó lap kiválasztásának szabályait adja meg. Legfontosabb alapalgoritmusok: Optimális Legutoljára használt (Last recenty used) FIFO Óra (Clock)

18 Csere (replacement) politika Az eldobandó lap kiválasztásának szabályait adja meg. Legfontosabb alapalgoritmusok: Optimális Legutoljára használt (Last recenty used) FIFO Óra (Clock)

19 Optimális algoritmus Az optimális algoritmus azt a lapot választja ki eldobásra, amelyre a rendszerben a lapok közül legkésőbben fogunk hivatkozni. Ez az algoritmus jövőbeli információra épít azaz ilyen nem létezik! A valós algoritmusoknak a rendszer múltbeli viselkedése alapján kell megjósolnia a jövőt. Ez az algoritmus jó összehasonlítási alap

20 LRU, FIFO algoritmus Az LRU algoritmus a lapok használati mintájára épít, csere esetén a legrégebben használt lapot dobja el Arra gondolnak, hogy ezt a lapot fogjuk legkisebb valószínűséggel használni Az algoritmus megvalósítása nem triviális, a lapokhoz olyan információt kell rendelni, amely alapján meghatározható a lapok utolsó használatának sorrendje. A FIFO algoritmus a lapok betöltési ideje alapján választja ki az eldobandó lapot. Ezt az információt sokkal könnyebb nyilvántartani, mint az utolsó használat idejét így ennek az algoritmusnak a megvalósítása sokkal egyszerűbb, mint az LRU-é.

21 Clock algoritmus Cél: az LRU algoritmushoz hasonlóan hatékony, de annál sokkal olcsóbb algoritmus létrehozása Az óra algoritmus ilyen-olyan verziójával több operációs rendszerben is találkozhatunk. Az algoritmus működéséhez minden laphoz hozzá kell rendelni egy használati bitet. Mikor a lapot betöltjük a memóriába, a lap használati bitjét 1-es értékre állítjuk. A lapra való hivatkozás esetén a lap használati bitjét szintén 1-re kell állítani. A lapokat körkörös pufferbe szervezzük, melyhez hozzárendelünk egy mutatót (a körkörös pointer-lista az óra számlapja, a mutató pedig az ami). Lapcsere igény esetén A mutató körbejár, hogy nullás használati bittel rendelkező lapot keressen. A lapokon átlépve (ha a használati bit egyes értékű volt), a használati bitet nullázza. Ha a mutató körbeér, akkor megáll a kezdőlapnál (ahonnan idul), és azt cseréli le. Egy lap cseréje után a mutató a kicserélt utáni lapra mutat.

22 Példák

23 Page Buffering Problémák LRU és a Clock jobbak a FIFO-nál, de költségesebbek Egy nem változott lap eldobása sokkal olcsóbb, mint egy módosítotté Megoldási próbálkozás: page buffering Jelentős megoldás VAX/VMS rendszerben

24 Page Buffering FIFO algoritmus, de nem dobja el rögtön a lapot, hanem lista végére írja Szabad lapok listája (nem változott) Változott lapok listája Ha a lapra hivatkoznak, visszaszedhető a listáról Először a szabad lapok listájáról próbál lapot osztani (tartalma ekkor veszik el igazából) A változott lapokat kötegelve írja ki, így kisebb az I/O terhelés

25 Rezidens lapok kezelése Virtuális memóriakezelés esetén nem szükséges a folyamathoz tartozó összes lapnak a memóriában lennie (hiszen erről szól az egész) egy adott folyamat esetén az egyidejűleg szükséges lapok számának meghatározása politikai döntéseken (is) múlik. A folyamathoz tartozó lapok számának hatásai: Minél kevesebb lapot rendelünk egy folyamathoz, annál több marad a többi folyamatnak, azaz több folyamatot tudunk egyszerre futtatni. A folyamatokhoz rendelt lapok számának csökkentésével a laphibák száma egyre több lesz. A folyamatokhoz rendelt lapok számának növelése egy ideig csökkenti a laphibák számát, azonban egy határon túli növelése már nem vezet észrevehető javuláshoz. A fenti szempontok egymásnak ellentmondanak, tökéletes (minden helyzetre egyaránt megfelelő) megoldás nincs. A rezidens lapkezelés szempontjai: Lapkészlet mérete: egy folyamathoz rendelt lapok száma a futás során állandó, vagy változhat Lapcsere hatásköre: lapcsere során az operációs rendszer csak a laphibát okozó folyamat lapját veheti el, vagy az összes lap közül választhat.

26 Rezidens lapok kezelése Virtuális memóriakezelés esetén nem szükséges a folyamathoz tartozó összes lapnak a memóriában lennie (hiszen erről szól az egész) egy adott folyamat esetén az egyidejűleg szükséges lapok számának meghatározása politikai döntéseken (is) múlik. A folyamathoz tartozó lapok számának hatásai: Minél kevesebb lapot rendelünk egy folyamathoz, annál több marad a többi folyamatnak, azaz több folyamatot tudunk egyszerre futtatni. A folyamatokhoz rendelt lapok számának csökkentésével a laphibák száma egyre több lesz. A folyamatokhoz rendelt lapok számának növelése egy ideig csökkenti a laphibák számát, azonban egy határon túli növelése már nem vezet észrevehető javuláshoz. A fenti szempontok egymásnak ellentmondanak, tökéletes (minden helyzetre egyaránt megfelelő) megoldás nincs. A rezidens lapkezelés szempontjai: Lapkészlet mérete: egy folyamathoz rendelt lapok száma a futás során állandó, vagy változhat Lapcsere hatásköre: lapcsere során az operációs rendszer csak a laphibát okozó folyamat lapját veheti el, vagy az összes lap közül választhat.

27 Rezidens lapok kezelése Fix lapszám Változó lapszám Lokális csere A folyamathoz rendelt lapok száma állandó Lapcserénél az eldobandó lap a folyamat saját lapjai közül A folyamathoz rendelt lapok száma időről időre változhat Lapcserénél az eldobandó lap a folyamat saját lapjai közül Globális csere Nem lehetséges Lapok száma változhat Lapcserénél az eldob a n d ó l a p b á r m e l y i k memórialap lehet, függetlenül attól, hogy az melyik folyamathoz tartozik

28 Fix lapszám, lokális csere A folyamathoz rendelt lapok száma állandó, laphiba esetén az operációs rendszer az eldobandó lapot csak a folyamatok saját lapjai közül választhatja ki. Egy adott folyamathoz rendelt lapkészlet méretét a futás megkezdésekor meg kell határozni, ez történhet automatikusan (az indítandó program fajtája alapján), de kérelmezheti az indítandó program is. Ez a fajta foglalási megoldás kétélű: ha a rendszer túl sok lapot foglal le a folyamathoz, akkor a lapok egy része kihasználatlan, ami globálisan szemlélve a teljes rendszer teljesítményét rontja (kevesebb folyamat futhat). ha túl kevés lapot rendelünk a folyamathoz, akkor folyamatos laphibákkal kell szembenézni, amely egyrészt rossz a folyamatnak (lassan fut), ugyanakkor a sok laphiba a rendszert is leterheli.

29 Változó lapszám, lokális csere A lapcsere mindig a folyamat saját lapjaiból történik, azonban a rendszer periodikusan felülvizsgálja, és szükség esetén növeli vagy csökkenti a folyamathoz rendelt lapkészlet méretét. A folyamatok ebben az esetben a fix/lokális esethez hasonlóan meghatározott méretű készlettel indulnak, és ennek a készletnek a mérete a periodikus felülvizsgálat során változhat (a folyamat laphasználási szokásainak függvényében). Ez a megoldás meglehetősen jó teljesítményt biztosíthat, azonban sok múlik a lapkészlet méretét szabályozó algoritmuson.

30 Változó lapszám, globális csere Ennek a politikának az implementálása a legegyszerűbb, több operációs rendszeri megvalósításban is találkozhatunk vele. Az operációs rendszer általában fenntart egy listát néhány szabad lappal, laphiba esetén erről a listáról emel le egy szabad lapot laphiba esetén a folyamat által birtokolt lapok száma nő Probléma a lapok elvétele a folyamattól: amennyiben a szabad lapok száma nullára (vagy egy limit alá) csökken, valamely folyamattól lapot kell elvenni ebben viszont bármelyik folyamat érintett lehet. E megoldás esetén jelentős teljesítmény javulást lehet elérni az ún. page buffering eljárás segítségével, mely esetében a folyamattól visszavett lapokat nem szabadítjuk fel azonnal.

31 Laptisztítási politika A laptisztítási politika a betöltési politika ellentéte azt határozza meg, hogy lapok felszabadítása igény esetén (ha laphiba lép fel) történjék (on-demand) mindig tartsunk néhány szabad lapot a rendszerben (precleaning). Gyengeségek Előzetes laptisztás esetén olyan lapot is felszabadítunk, amire rövidesen ismét szükség lesz azaz ezzel növeljük a laphibák számát. Igény szerinti laptisztítás esetén viszont a laphibák kezelése lesz hosszadalmas (hiszen ilyenkor esetleg ki is kell írni az eldobandó lap tartalmát a másodlagos tárolóra). A page buffering algoritmus ezen a problémán is segít, hiszen ebben az esetben egy, a közelmúltban felszabadított lapra történő hivatkozás esetén a lap könnyen visszanyerhető.

32 Laptisztítási politika A laptisztítási politika a betöltési politika ellentéte azt határozza meg, hogy lapok felszabadítása igény esetén (ha laphiba lép fel) történjék (on-demand) mindig tartsunk néhány szabad lapot a rendszerben (precleaning). Gyengeségek Előzetes laptisztás esetén olyan lapot is felszabadítunk, amire rövidesen ismét szükség lesz azaz ezzel növeljük a laphibák számát. Igény szerinti laptisztítás esetén viszont a laphibák kezelése lesz hosszadalmas (hiszen ilyenkor esetleg ki is kell írni az eldobandó lap tartalmát a másodlagos tárolóra). A page buffering algoritmus ezen a problémán is segít, hiszen ebben az esetben egy, a közelmúltban felszabadított lapra történő hivatkozás esetén a lap könnyen visszanyerhető.

33 Terhelés szabályozás Memóriában található folyamatok számának korlátok közé szorítása túl kevés folyamat esetén a rendszer kihasználtsága lesz alacsony túl sok folyamat esetén a laphibák száma emelkedik túlzottan magasra Rendszer kihasználtsága a folyamatok számának tükrében A folyamatok számának növelésével eleinte javul a rendszer kihasználtsága, egy maximum érték után a görbe csökkenni kezd. A folyamatszám további növelésének következménye a trashing jelenség, mikor a CPU idejét folyamatosan a laphibák kezelését szolgáló kód futtatásával tölti. Ha a terhelés meghaladja az optimális értéket, az operációs rendszernek néhány folyamat futását fel kell függesztenie (suspension), a teljes folyamatot (minden lap) a másodlagos tárolóra másolnia.

34 Terhelés szabályozás Memóriában található folyamatok számának korlátok közé szorítása túl kevés folyamat esetén a rendszer kihasználtsága lesz alacsony túl sok folyamat esetén a laphibák száma emelkedik túlzottan magasra Rendszer kihasználtsága a folyamatok számának tükrében A folyamatok számának növelésével eleinte javul a rendszer kihasználtsága, egy maximum érték után a görbe csökkenni kezd. A folyamatszám további növelésének következménye a trashing jelenség, mikor a CPU idejét folyamatosan a laphibák kezelését szolgáló kód futtatásával tölti. Ha a terhelés meghaladja az optimális értéket, az operációs rendszernek néhány folyamat futását fel kell függesztenie (suspension), a teljes folyamatot (minden lap) a másodlagos tárolóra másolnia.

35 Felfüggesztendő folyamat(ok) kiválasztása különböző szabályok alapján történhet Legalacsonyabb prioritású folyamatok kiválasztása Laphibát okozó folyamatok, mert valószínű, hogy ezek újabb laphibákat fognak előidézni A legutoljára indított folyamat, mert valószínűleg ez még nem töltötte be a futásához szükséges összes lapot Legkevesebb lapot birtokoló folyamat, mert ennek mentése és visszatöltése a legolcsóbb Legtöbb lapot birtokló folyamat, mert ennek felszabadítása eredményezi a legnagyobb javulást a rendszer állapotában

36 Minden mindennel összefügg Az operációs rendszerek esetén nincs elsőbbség a modulok között, azok gyakran összefonódnak egymással Virtuális memóriakezeléshez a diszken foglalunk helyet a lapoknak, ugyanakkor a diszkműveletek gyorsításához a központi memóriában foglalunk le helyet cache célra Multiprocesszoros rendszerekben a folyamatok tetszőleges CPU-n való futtatása a kihasználtságot javítja, de a CPU-k TLB-ének hatékonyságát rontja Stb

37 Windows VM kezelés A W i n d o w s k e z d e t t ő l f o g v a v i r t u á l i s memóriakezelésen alapuló rendszer, lapmérete változó lehet, de platform szinten fix. 32 bites verzió esetén a 4 GB-s címtér felét a felhasználói folyamatok használhatták, felét pedig a rendszer. Voltak próbálkozások a 4 GB felosztás átalakítására (bizonyos verziókban), de a 64 bites rendszerek megjelenése miatt effajta trükközésre nincs szükséges. A Windows rezidens lapkezelése változó lapszámú, de lokális cserével.

38 Unix VM kezelés A Unix rendszerek memóriakezelése az OS története során sokat változott. A kezdeti változó particionálást alkalmazó megoldásokat felváltották a virtuális memórián alapuló technikák. Kezdetben (és még nagyon sokáig) a kernel által használt memória statikusan volt lefoglalva a modern Unix verziók esetében már a kernel is használ memória menedzsment megoldást igaz, nem a lapozást. A folyamatok és a buffer cache kezelése lapozáson alapuló virtuális memóriakezeléssel történik A kernel folyamatosan fenntart valamennyi szabad lapot, amiből kielégíti a folyamatok lapfoglalási igényeit. Ha a szabad lapok száma egy meghatározott szint alá csökken, a kernel elkezd lapokat visszavenni a folyamatoktól. A lapcsere algoritmus a clock algoritmus finomított változata, két mutatóval. Az első mutató körbeforogva nullázza a használati biteket, de a lapok kiválasztását a második mutató végzi így ha közben a lapot használják, úgy annak használati bitje ismét egy lesz. Az algoritmust két paraméter jellemzi: a mutatók forgási sebessége a fáziseltolás a két mutató között.

39 Unix lapcsere algoritmus A lapcsere algoritmus a clock algoritmus finomított változata, két mutatóval. Az első mutató körbeforogva nullázza a használati biteket, de a lapok kiválasztását a második mutató végzi így ha közben a lapot használják, úgy annak használati bitje ismét egy lesz. Az algoritmust két paraméter jellemzi: a mutatók forgási sebessége a fáziseltolás a két mutató között

40 Memória menedzsment paraméterek lostrfree desfree minfree slowscan fastscan Scan rate Amennyiben a rendszerben a szabad lapok száma ezen érték alá csökken, a rendszer megkezdi lapok felszabadítását A rendszerben található lapok elvárt értéke A szabad memória legalacsonyabb, még elfogadható szintje. Ha a szabad lapok száma ezen érték alá csökken a memória felszabadítás drasztikusabb lesz Másodpercenként átvizsgálandó lapok számának minimuma (scan rate) Másodpercenként átvizsgálandó lapok számának maximuma (scan rate) Rendszer dinamikusan számolja, slowscan < sr < fastscan A paraméterek kernel konfigurációjától, a fizikai memória mennyiségétől függenek.

41 Swapping Soft swapping: ha a rendszerben a szabad lapok elmúlt 30 másodperces átlaga a desfree érték alatt volt, a kernel inaktív folyamatokat keres és azokat teljesen eltávolítja a memóriából (swap) Hard swapping: több feltételnek is teljesülnie kell, amelyek azt jelzik, hogy a rendszer komoly memóriagondokkal küzd (szabad lapok száma, lapcsere aktivitás foka, stb.). Ebben az esetben a kernel nem használt modulokat és aktív folyamatokat is swap-elhet. A swapping rendkívül erőforrás igényes, megjelenése kerülendő (memória bővítés)!

42 Kernel memória menedzsment A kernel memóriaigényét a buddy algoritmuson alapuló megoldás elégíti ki, mely lazy buddy névre hallgat. A buddy algoritmus működése során a blokkok szétosztása és összevonása erőforrás igényes a kernel esetében (a használat jellege miatt) gyakori hogy egy éppen összevont blokkot kell szétosztani. A lazy buddy algoritmus ezért nem egyesíti rögtön a blokkokat, hanem a lehető legkésőbbig próbálja kitolni ezt a feladatot akkor viszont a lehető legtöbb blokkot egyszerre egyesíti.

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

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

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés

Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja. 5-6-7. előadás Memóriakezelés Processzus Operációs rendszerek MINB40 5-6-7. előadás Memóriakezelés Egy vagy több futtatható szál Futáshoz szükséges erőforrások Memória (RAM) Program kód (text) Adat (data) Különböző bufferek Egyéb Fájlok,

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

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

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

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

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

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

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

Programok, statikus linkelés

Programok, statikus linkelés Memória kezelés 1 Programok, statikus linkelés Rendszer könyvtár, mint bármelyik másik tárgykód (object file) Előny Egyszerű Nincs verzió probléma, program és library illeszkedik Hátrány Nagy bináris kód

Részletesebben

7. Virtuális tárkezelés. Operációs rendszerek. Bevezetés. Motiváció 2. Motiváció 1. 7.1. A virtuális tárkezelés általános elvei

7. Virtuális tárkezelés. Operációs rendszerek. Bevezetés. Motiváció 2. Motiváció 1. 7.1. A virtuális tárkezelés általános elvei 7. Virtuális tárkezelés Operációs rendszerek 7. Virtuális tárkezelés Simon Gyula Bevezetés A virtuális tárkezelés általános elvei Lapcsere stratégiák Folyamatok lapigénye, lapok allokációja Egyéb tervezési

Részletesebben

Máté: Számítógép architektúrák 2010.12.01.

Máté: Számítógép architektúrák 2010.12.01. Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes

Részletesebben

Operációs Rendszerek II. 4. előadás

Operációs Rendszerek II. 4. előadás Operációs Rendszerek II. 4. előadás Valós idejű ütemezés (általános célú OS-ek esetén) Egyre inkább a figyelem középpontjába kerülő problémakör Ebben az esetben a végrehajtás sikere nem csak a végeredményen,

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2011. 09. 29. 1 2 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban

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

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

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

11. Gyakorlat. Az operációs rendszer szintje

11. Gyakorlat. Az operációs rendszer szintje 11. Gyakorlat Az operációs rendszer szintje Az operációs rendszer szintű utasítások az alkalmazói programozók rendelkezésére álló teljes utasításkészletet jelentik. Tartalmazzák majdnem az összes ISA-szintű

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

Operációs rendszerek II. jegyzet Operációs rendszerek II. jegyzet Bringye Zsolt tanár úr fóliái alapján Operációs rendszer: A számítógép hardver elemei és az (alkalmazói) programok közötti szoftver réteg, amely biztosítja a hardver komponensek

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

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

386 processzor címzés

386 processzor címzés 386 processzor címzés 0 31 0 31 Báziscím + Offset cím Szegmens regiszter 0 15 16 31 Bázis cím 0..15 Határbitek 0..15 32 39 40 41 44 47 Bázis cím 24..31 G B/D Határbitek 16..1 48 49 50 51 52 54 55 56 63

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

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

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver): B Motiváció B Motiváció Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver): Helyesség Felhasználóbarátság Hatékonyság Modern számítógép-rendszerek: Egyértelmű hatékonyság (például hálózati hatékonyság)

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

Assembly. Iványi Péter

Assembly. Iványi Péter Assembly Iványi Péter További Op. rsz. funkcionalitások PSP címének lekérdezése mov ah, 62h int 21h Eredmény: BX = PSP szegmens címe További Op. rsz. funkcionalitások Paraméterek kimásolása mov di, parameter

Részletesebben

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata Kutatási beszámoló a Pro Progressio Alapítvány számára Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Mérnök informatika szak Orvosi készülékekben használható modern

Részletesebben

CPU regiszterei. Átmeneti tár / Gyorsító tár / Cache memória (Oprendszer vezérelt) Központi memória

CPU regiszterei. Átmeneti tár / Gyorsító tár / Cache memória (Oprendszer vezérelt) Központi memória Előadás_#07. 1. Tárkezelés [OR_12_Tárkezelés-File_rendszer_ok.ppt az 1-29. diáig / nem minden diát érintve] A tárolóeszközök több szempont szerint is csoportosíthatóak (sebesség, kapacitás, mozgó alkatrészek

Részletesebben

Operációs rendszerek Memóriakezelés 1.1

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

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

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

Számítógép Architektúrák Multiprocesszoros rendszerek Horváth Gábor 2015. május 19. Budapest docens BME Híradástechnikai Tanszék ghorvath@hit.bme.hu Párhuzamosság formái A párhuzamosság milyen formáit ismerjük? Bit szintű párhuzamosság

Részletesebben

Rőczei Gábor Szeged, Networkshop

Rőczei Gábor Szeged, Networkshop Az ARC új generációs bróker rendszere 2009.04.16. 04 Rőczei Gábor Szeged, Networkshop 2009 roczei@niif.hu Rövid összefoglaló Nemzeti Információs Infrastruktúra Fejlesztési Intézet KnowARC projekt Mi is

Részletesebben

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor

A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata. Répás Sándor A DNS64 és NAT64 IPv6 áttérési technikák egyes implementációinak teljesítőképesség- és stabilitás-vizsgálata Répás Sándor Lépni Kell! Elfogytak a kiosztható IPv4-es címek. Az IPv6 1998 óta létezik. Alig

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

Operációs rendszerek II. kidolgozott tételsor Verzió 1.0 (Build: 1.0.2011.12.30.)

Operációs rendszerek II. kidolgozott tételsor Verzió 1.0 (Build: 1.0.2011.12.30.) Operációs rendszerek II. kidolgozott tételsor Verzió 1.0 (Build: 1.0.2011.12.30.) Készült: Dr. Fazekas Gábor Operációs rendszerek 2. diasorok és előadásjegyzetek Ellenőrző kérdések 2011. december 21-i

Részletesebben

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30. Online algoritmusok Algoritmusok és bonyolultságuk Horváth Bálint 2018. március 30. Horváth Bálint Online algoritmusok 2018. március 30. 1 / 28 Motiváció Gyakran el fordul, hogy a bemenetet csak részenként

Részletesebben

DSP architektúrák dspic30f család memória kezelése

DSP architektúrák dspic30f család memória kezelése DSP architektúrák dspic30f család memória kezelése Az adatmemória Az adatmemória 16 bites, két külön memóriazóna van kiépítve, az X és az Y memória, mindkettőnek címgeneráló egysége és adat sínrendszere

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

Verifikáció és validáció Általános bevezető

Verifikáció és validáció Általános bevezető Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának

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

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

Máté: Számítógép architektúrák Az GOTO offset utasítás. P relatív: P értékéhez hozzá kell adni a két bájtos, előjeles offset értékét. Mic 1 program: Main1 P = P + 1; fetch; goto() goto1 OP=P 1 // Main1 nél : P=P+1 1. bájt goto P=P+1;

Részletesebben

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS Hartung István BME Irányítástechnika és Informatika Tanszék TEMATIKA Cloud definíció, típusok, megvalósítási modellek Rövid Azure cloud bemutatás

Részletesebben

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

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

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Készítette: Trosztel Mátyás Konzulens: Hajós Gergely Monte Carlo Markov Chain MCMC során egy megfelelően konstruált Markov-lánc segítségével mintákat generálunk. Ezek eloszlása követi a céleloszlást. A

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

Függvények növekedési korlátainak jellemzése

Függvények növekedési korlátainak jellemzése 17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,

Részletesebben

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Koncepció Ha megfelel, hogy azonos

Részletesebben

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

Máté: Számítógép architektúrák Rekurzív eljárások megvalósításához veremre van szükség. Minden hívás esetén az eljárás paramétereit a verembe kell tenni, és ott kell elhelyezni a lokális változókat is! Eljárás prológus: a régi verem

Részletesebben

A memória fogalma. Tárolt adatok fajtái. Csak olvasható memóriák. Egyszer írható memóriák

A memória fogalma. Tárolt adatok fajtái. Csak olvasható memóriák. Egyszer írható memóriák A memória fogalma A memória (tár) egy számítógépben az adatokat tárolja Neumann elv: programok kódja és adatai ugyanabban a memóriában tárolhatók Mai számítógépek szinte kivétel nélkül binárisak Ö tárak

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

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

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

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

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) 65-67 A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem) Két fő része: a vezérlőegység, ami a memóriában tárolt program dekódolását és végrehajtását végzi, az

Részletesebben

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.

B-fa. Felépítés, alapvető műveletek. Programozás II. előadás.  Szénási Sándor. B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

Előadás_#12. Előadás_12-1 -

Előadás_#12. Előadás_12-1 - Előadás_#12. 1. Az NT alapú rendszerek memóriakezelése A Windows feladatkezelő (a Teljesítmény fülön) információt ad a memória állapotáról (is) a felhasználó számára a következők szerint. A Fizikai memória

Részletesebben

Kézikönyv. Szelekciós jegyzék létrehozása

Kézikönyv. Szelekciós jegyzék létrehozása Kézikönyv Szelekciós jegyzék létrehozása Tartalomjegyzék 1 OBJEKTUM KIVÁLASZTÁS - VEVŐ MEGJELENÍTÉS... 4 2 VEVŐ - ÜRES... 6 3 ABAS-ERP MASZKINFÓ... 8 4 VEVŐ - ÜRES... 9 5 ABAS-ERP MASZKINFÓ... 11 6 VEVŐ

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2012. 09. 20. 1 2 3 4 5 MMU!= fizikai memóriaillesztő áramkör. Az utóbbinak a feladata a memória modulok elektromos alacsonyszintű vezérlése, ez sokáig a CPU-n kívül a chipset északi hídban

Részletesebben

Operációs Rendszerek II.

Operációs Rendszerek II. Operációs Rendszerek II. Harmadik előadás Első verzió: 2004/2005. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Visszatekintés: folyamatok Programok és erőforrások dinamikus összerendelése a program

Részletesebben

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

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

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

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

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

Memória és perifériák virtualizációja. Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/

Memória és perifériák virtualizációja. Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Memória és perifériák virtualizációja Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák https://www.vik.bme.hu/kepzes/targyak/vimiav89/ Emlékeztető: A három virtualizációs lehetőség Virtualizáció

Részletesebben

Számítógép architektúrák záróvizsga-kérdések február

Számítógép architektúrák záróvizsga-kérdések február Számítógép architektúrák záróvizsga-kérdések 2007. február 1. Az ILP feldolgozás fejlődése 1.1 ILP feldolgozási paradigmák (Releváns paradigmák áttekintése, teljesítmény potenciáljuk, megjelenési sorrendjük

Részletesebben

C programozási nyelv Pointerek, tömbök, pointer aritmetika

C programozási nyelv Pointerek, tömbök, pointer aritmetika C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek

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

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

Szupermikroprocesszorok és alkalmazásaik

Szupermikroprocesszorok és alkalmazásaik Szupermikroprocesszorok és alkalmazásaik VAJDA FERENC MTA Központi Fizikai Kutató Intézet Mérés- és Számítástechnikai Kutató Intézet 1. Bevezetés ÖSSZEFOGLALÁS Egy rétegezett modell alapján mutatjuk be

Részletesebben

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter 1 Mai témák ZFS NTFS 2 ZFS Új koncepció, nem továbbgondolás Pooled storage modell Minden művelet copy-on-write

Részletesebben

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások 8. Fejezet Processzor (CPU) és memória: The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley

Részletesebben

Operációs rendszerek II.

Operációs rendszerek II. Operációs rendszerek II. 1. Az operációs rendszer memóriakezelőjével szemben támasztott követelmények (relokáció, védelem, megosztás, logikai szervezés, fizikai szervezés) Megosztás (Sharing): a hatékonyságot

Részletesebben

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

sallang avagy Fordítótervezés dióhéjban Sallai Gyula sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?

Részletesebben

Memóriakezelés. Operációs rendszerek (vimia219) dr. Kovácsházy Tamás 8. anyagrész, Memóriakezelés. BME-MIT 2011, Minden jog fenntartva

Memóriakezelés. Operációs rendszerek (vimia219) dr. Kovácsházy Tamás 8. anyagrész, Memóriakezelés. BME-MIT 2011, Minden jog fenntartva Operációs rendszerek (vimia9) Memóriakezelés dr. Kovácsház Tamás 8. anagrész, Memóriakezelés Budapesti Műszaki és Gazdaságtudománi Egetem Méréstechnika és Információs Rendszerek Tanszék BME-MIT, Minden

Részletesebben

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Utolsó módosítás:

Utolsó módosítás: Utolsó módosítás:2010. 09. 15. 1 2 Kicsit konkrétabban: az utasítás hatására a belső regiszterek valamelyikének értékét módosítja, felhasználva regiszter értékeket és/vagy kívülről betöltött adatot. A

Részletesebben

UNIX / Linux rendszeradminisztráció

UNIX / Linux rendszeradminisztráció UNIX / Linux rendszeradminisztráció VIII. előadás Miskolci Egyetem Informatikai és Villamosmérnöki Tanszékcsoport Általános Informatikai Tanszék Virtualizáció Mi az a virtualizáció? Nagyvonalúan: számítógép

Részletesebben

Hardver Ismeretek IA32 -> IA64

Hardver Ismeretek IA32 -> IA64 Hardver Ismeretek IA32 -> IA64 Problémák az IA-32-vel Bonyolult architektúra CISC ISA (RISC jobb a párhuzamos feldolgozás szempontjából) Változó utasításhossz és forma nehéz dekódolni és párhuzamosítani

Részletesebben

Operációs rendszerek előadás Multiprogramozott operációs rendszerek. Soós Sándor ősz

Operációs rendszerek előadás Multiprogramozott operációs rendszerek. Soós Sándor ősz Operációs rendszerek 1. 8. előadás Multiprogramozott operációs rendszerek Soós Sándor 2011. ősz 1 Tartalomjegyzék. Tartalomjegyzék 1. Multiprogramozott operációs rendszerek 1 1.1. Multiprogramozás..........................

Részletesebben

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI / Operációkutatás. gyakorlat Lineáris Programozási feladatok megoldása szimplex módszerrel Pécsi Tudományegyetem PTI /. Legyen adott az alábbi LP-feladat: x + 4x + x 9 x + x x + x + x 6 x, x, x x + x +

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

6. Tárkezelés. Operációs rendszerek. Bevezetés. 6.1. A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei

6. Tárkezelés. Operációs rendszerek. Bevezetés. 6.1. A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei 6. Tárkezelés Oerációs rendszerek 6. Tárkezelés Simon Gyul Bevezetés A rogrm címeinek kötése Társzervezési elvek Egy- és többrtíciós rendszerek Szegmens- és lszervezés Felhsznált irodlom: Kóczy-Kondorosi

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

1/12. 3. gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

1/12. 3. gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI / Operációkutatás. gyakorlat Lineáris Programozási feladatok megoldása szimplex módszerrel Pécsi Tudományegyetem PTI Normál feladatok megoldása szimplex módszerrel / / Normál feladatok megoldása szimplex

Részletesebben

A számítógép egységei

A számítógép egységei A számítógép egységei A számítógépes rendszer két alapvető részből áll: Hardver (a fizikai eszközök összessége) Szoftver (a fizikai eszközöket működtető programok összessége) 1.) Hardver a) Alaplap: Kommunikációt

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

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Kérdőív Tematika A számítógép működése Adatok Program Objektum 2 Kérdőív Kitöltötte 204 fő Felkészültség 28% 39% alap

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

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN ESZKÖZTÁMOGATÁS A TESZTELÉSBEN MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET, INFORMATIKA, TURISZTIKA ÉS VENDÉGLÁTÁS TERÜLETEN

Részletesebben

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.

Részletesebben