Processzus. Operációs rendszerek MINB240. Memória gazdálkodás. Operációs rendszer néhány célja előadás Memóriakezelés
|
|
- Natália Boros
- 8 évvel ezelőtt
- Látták:
Átírás
1 Processzus Operációs rendszerek MINB 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, disk hely, nyomtató, stb. Operációs rendszerek MINB40 Operációs rendszerek MINB40 Operációs rendszer néhány célja Maximalizálja a CPU kihasználtságát Maximalizáljuk a memória kihasználtságát Minimalizáljuk a válaszidőt Fontos (prioritásos) processzusokat vegye előre Ellentmondó célok Ha maximalizáljuk a CPU kihasználtságát (minnél több processzus futtatásával) növeljük a válaszidőt Memória gazdálkodás Memory management Nyilvántartja, hogy mely memória foglalt illetve szabad Memóriát foglal a processzusok számára amikor szükséges Felszabadítja a memóriát végül Kezeli a memória hely átadást a memória és a diszk között Operációs rendszerek MINB40 3 Operációs rendszerek MINB40 4
2 Követelmények. Követelmények. Relokáció A programozó nem tudja, hogy a processzus hol lesz a memóriában amikor végrehajtódik Amíg egy processzus fut, lehet hogy áthelyeződik a diszkre A memória referenciákat át kell alakítani a kódban Operációs rendszerek MINB40 5 Operációs rendszerek MINB40 6 Védelem Követelmények. Egy processzus ne érhesse el egy másik processzus adatait Lehetetlen abszolút címet ellenőrizni, hiszen lehet hogy a processzus áthelyeződik Futás közben kell ez a védelem Követelmények 3. Megosztás Több processzus is el tudja érni ugyanazt a memória helyet Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 8
3 Követelmények 4. Memória hierarchia Logikai szerkezet A programokat modulokban írjuk Tipikus elérési idő Tipikus kapacitás A modulokat függetlenül írhatjuk és fordíthatjuk Különböző fokú védelemre lehet szükség (csak olvasható, csak futtatható) Fizikai szerkezet A program által igényelt memória nem biztos, hogy rendelkezésre áll < ns ns 0 ns 0 ms s Regiszterek Cache Memória (RAM) Mágneses diszk Mágneses szalag KB MB GB 00 GB GB, TB A programozó nem tudja, hogy mennyi hely fog rendelkezésre állni Operációs rendszerek MINB40 9 Operációs rendszerek MINB40 0 CPU Regiszter word Cache Cache block CPU és memória között és néhány ciklus 000 ciklus a RAM eléréshez Korábban elért adatot tartalmaz Gyorsabb elérés, mint a memóriához való hozzáférés Hardware kezeli Általában hierarchikus, on és off chip Memória Memória kezelő algoritmusok fő osztály Mozgatják a processzusokat a memória és a diszk között Swapping, paging (lapozás) És amelyek nem Egyszerű PC nem használja, de telefonokban, PDA-ban használják Operációs rendszerek MINB40 Operációs rendszerek MINB40
4 Kellenek-e a bonyolult algoritmusok? Monoprogramozás, csere és lapozás nélkül A memória növekedése nem ugyanolyan mint a processzoroké. Mindig lesz olyan alkalmazás, mely több memóriát igényel. Operációs rendszerek MINB40 3 Lásd multimédia Felhasználói program Operációs Rendszer, a RAM-ban 0xFFF 0 Régi nagyszámítógépes rendszerek, ma már ritka Operációs Rendszer, a ROM-ban Felhasználói program Eszköz meghajtó, a ROM-ban Felhasználói program Operációs Rendszer, a RAM-ban Kézi számítógépek, MS-DOS beágyazott rendszerek Operációs rendszerek MINB40 4 Monoprogramozás Megoldás Jó, ha csak egy processzust kell futtatni a szükséges memória egyenlő a rendelkezésre álló memóriával Egyébként Rossz CPU kihasználtság, ha I/O-ra kell várni Rossz memória kihasználtság, ha különböző munkák vannak Osszuk fel a memóriát, futtassunk több processzust Multiprogramozás, multitasking Operációs rendszerek MINB40 5 Operációs rendszerek MINB40 6
5 Hogyan osszuk fel a memóriát? Változó méretű, de rögzített partíciók Egyik megoldás: Osszuk fel a memóriát egyenlő részekre, partíciókra Processzus E A memória partíciókhoz processzus sorok (queue) tartoznak Operációs rendszer Ha egy processzus elfér, akkor bármelyik részbe betölthető Ha a teljes memóriánál kisebb, de egy résznél nagyobb, nem futhat Processzus D Processzus C Egy processzus a legkisebb, de a processzusnál nagyobb méretű partícióba kerül A kihasználatlan részeket elvesztegetjük Belső töredezettség (fragmented) Processzus B Processzus A Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 8 Változó méretű, de rögzített partíciók Változó méretű, de rögzített partíciók Probléma Egy sor Bizonyos partíciókat egyáltalán nem használunk Például: kis processzusokat használunk, de csak nagy partíciók állnak rendelkezésre hosszú lesz a várakozás Operációs rendszer Ha egy partíció kiürül, akkor az első processzus amelyik belefér betöltődik Akár kis processzus nagy partícióba Növekszik a belső töredezettség (fragmented) Operációs rendszer Operációs rendszerek MINB40 9 Operációs rendszerek MINB40 0
6 Változó méretű, de rögzített partíciók Dinamikus méretű partíciók Másik stratégia Az egész sorból kiválasztjuk azt a legnagyobb processzust, amelyik belefér a partícióba Hátrányosan kezeli a kis munkákat, pedig a kis munkák általában az interaktívak Egy kis partíció az interaktív munkáknak Egyetlen munka sem mellőzhető k-nál többször OS/360 IBM gépeknél ma már nem használják Operációs rendszer A partíciók változó méretűek A processzus pontosan annyi memóriát kap, amennyit igényel Feltételezzük, hogy a processzus tudja mennyi kell Operációs rendszerek MINB40 Operációs rendszerek MINB40 Dinamikus méretű partíciók Dinamikus méretű partíciók Operációs rendszer 8M Operációs rendszer 8M Operációs rendszer 8M Operációs rendszer 8M Operációs rendszer 8M Operációs rendszer 8M Processzus 0M Processzus 0M Processzus 0M Processzus 0M Processzus 0M 56M 36M Processzus 4M Processzus 4M 4M Processzus 4 8M 6M M Processzus 3 8M Processzus 3 8M Processzus 3 8M 4M 4M 4M Operációs rendszerek MINB40 3 Operációs rendszerek MINB40 4
7 Dinamikus méretű partíciók Töredezettség Külső töredezettség Operációs rendszer Processzus 4 Processzus 3 8M 0M 8M 6M 8M Operációs rendszer Processzus 5 Processzus 4 Processzus 3 8M 4M 6M 8M 6M 8M Hova??? Processzus 5 4M A lefoglalt memóriához képesti külső részeket vesztegetünk el Összmemória lehet, hogy elég, de szét van szórva Memóriatömörítés használható Belső töredezettség A lefoglalt memórián belüli részt vesztegetünk el 4M 4M Operációs rendszerek MINB40 5 Operációs rendszerek MINB40 6 Több probléma is van Egy processzusnak mennyi memóriát foglaljon? Ha rögzített a méret, akkor nem gond Mi van ha növekszik a memória igény Ha a processzus mellett van hely, nem gond Elmozgathatja a processzust ahol van hely Melyik szabad helyhez rendelje a processzust? Memóriakezelés láncolt listával Láncolt listába (linked list) fűzzük a szabad és foglalt memória szegmenseket Egy elem: cím, méret A címek növekvő sorrendjében Így könnyebb összevonni a szomszédos lyukakat Cím Cím Cím Cím Méret Méret Méret Méret Mutató Mutató Mutató Mutató Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 8
8 First-fit Memóriafoglalási stratégiák Addig keres a szegmensek listájában, amíg meg nem találja az első megfelelő méretű lyukat A leggyorsabb, a lehető legkevesebbet keres Nagy a külső töredezettség Sok kihasználatlan lyuk a lista elején Több nagy blokkot hagy a memória végén Next-fit Memóriafoglalási stratégiák First-fit egy változata, de a keresés, az utoljára sikeresen lefoglalt helytől kezdődik Bays bizonyította, hogy rosszabb teljesítményű, mint a first-fit Operációs rendszerek MINB40 9 Operációs rendszerek MINB40 30 Memóriafoglalási stratégiák Best-fit Az egész listát végigkeresi és a legkisebb alkalmas lyukat választja A first-fit és next-fit -nél több memóriát veszteget el, mivel sok kicsi használhatatlan lyukakat képes csinálni Utolsó foglalás Memóriafoglalási stratégiák first-fit best-fit 6 Mbyte foglalása esetén lefoglalt szabad next-fit Operációs rendszerek MINB40 3 előtte Operációs rendszerek MINB40 3 utána
9 Worst-fit Memóriafoglalási stratégiák Ha nem akarunk sok kis lyukat, választhatjuk a legrosszabb, legnagyobb lyukat Így a maradék lyuk is nagy lesz Megmutatták, hogy az előzőeknél rosszabb Memóriafoglalási stratégiák Előző négy algoritmus gyorsítható Ha külön listát tartunk fel a lyukaknak Nem kell végigkeresni a processzusokat is A probléma A foglalásnál be kell illeszteni a listába A felszabadításnál ki kell venni a listából A lyukak listája lehet nagyság szerint is rendezve Ekkor a best-fit gyorsabb lesz Operációs rendszerek MINB40 33 Operációs rendszerek MINB40 34 Quick-fit Memóriafoglalási stratégiák A leggyakrabban kért méretekhez külön lyuklistát készítünk Gyorsan talál megfelelő lyukat Nehéz ellenőrizni, hogy szomszédos lyukkal összevonható-e Memóriafoglalási stratégiák Összefoglalva First-fit és next-fit a legjobb módszerek, a többihez képest Ritkán használják ezeket manapság Helyette: Buddy rendszer Operációs rendszerek MINB40 35 Operációs rendszerek MINB40 36
10 Buddy rendszer Lefoglalandó memória mérete többszöröse x xmin - xmax Dönteni kell Felső határról: xmax (teljes mérete a memóriának) pl. 000K memória esetén x max =0 ekkor maximum 0 =04K memória foglalható egyszerre a többi (976K) csak kis darabokban Alsó határról: xmin legkisebb lefoglalható egység Operációs rendszerek MINB40 37 Buddy rendszer Kis külső töredezettséget eredményez Belső töredezettsége viszont nagy lehet Kezdetben: teljes memória szabad Foglaláskor: a rendszer fát épít fel, jelezve a memóriablokkok méretét Felszabaduláskor: ha két egymás mellet lévő blokk felszabadul, akkor összevonja magasabb szintre kerül Operációs rendszerek MINB40 38 Buddy rendszer Buddy rendszer, fa szerkezet x min =6 6 =64K, x max =0 0 =04K M memória áll rendelkezésre Operációs rendszerek MINB40 39 Operációs rendszerek MINB40 40
11 Slab foglalási rendszer Solaris, Linux használja Jeff Bonwick, SunOS Alapötlet Elég sok memória kell bizonyos fix méretű adatokhoz (objektumokhoz) File leírók, mutexek, szemaforok, stb Az objektum inicializálásához szükséges idő több mint a foglaláshoz vagy felszabadításhoz szükséges idő Így a memóriát nem kell felszabadítani, hanem az inicializált formájában tartsuk meg Operációs rendszerek MINB40 4 Slab foglalási rendszer Cache lista: kétszer kapcsolt lista Cache: három, kétszer kapcsolt lista Teljesen foglalt slab -ek listája Részben foglalt slab-ek listája Üres slab-ek listája Slab: folytonos memória darab azonos méretű objektumok csoportja Operációs rendszerek MINB40 4 Slab foglalási rendszer Slab foglalási rendszer Quick-fit -hez hasonló, mert azonos méretű objektumokat tartalmaz egy cache Memória felszabadítás könnyű Az üres slab listából lehet felszabadítani Memória foglalás könnyű A slab-ben levő memóriát használjuk A külső töredezettség kicsi Belső töredezettség minimális Az objektum éppen megfelelő méretű Slab mérettel befolyásolható Operációs rendszerek MINB40 43 Operációs rendszerek MINB40 44
12 Memóriakezelés bittérképpel Foglalt és szabad memóriát karban kell tartani Láncolt lista Bittérkép 0 : az egység szabad : az egység foglalt Memóriakezelés bittérképpel Allokációs egység mérete fontos Allokációs egység kicsi >> nagy bittérkép Allokációs egység nagy >> nagy lehet a belső töredezettség Általában jól használható A fő probléma a keresés n darab összefüggő 0 bitet kell keresnie Mivel átlóghat szóhatáron, nem egyszerű!!! Például: ha 5 memória egység kell a processzusnak Operációs rendszerek MINB Operációs rendszerek MINB40 46 Memória tömörítés Relokáció Csökkenthető a külső töredezettség Csak ha a processzusok áthelyezhetők Processzus E Processzus D Processzus E Logikai cím A programon belüli hely Amikor a program fut, egy valóságos fizikai cím kellene Process Control Block Program Általában hardveres támogatást igényel Processzus B Processzus D Processzus B A logikai címeket mikor rendeljük fizikai címhez? Adat Verem Processzus A Processzus A Operációs rendszerek MINB40 47 Operációs rendszerek MINB40 48
13 Relokáció Utasítások és adatok a memóriához rendelése Fordítási időben Memória hely előre ismert, abszolút címet lehet generálni Betöltési időben Áthelyezhető kód kell A betöltő (loader) végzi a hozzárendelést Végrehajtási időben Áthelyezhető kód, melynek futás közben is változhat a helye Hardware támogatás kell, bázis és határ regiszter Relokáció Operációs rendszerek MINB40 49 Operációs rendszerek MINB40 50 Relokáció, futási időben Relokáció Amikor a program betöltődik, meg kell határozni az aktuális (abszolút) memória címet A diszkre kiírás és visszaolvasás (swap) miatt is megváltozhat a memória cím Memória tömörítés is megváltoztathatja a memória címet Bázis regiszter Határ regiszter + < Relatív cím Abszolút cím Process Control Block Program Adat Verem Operációs rendszerek MINB40 5 Megszakítás az op. rsz. -nek, címzési hiba Operációs rendszerek MINB40 5
14 Bázis regiszter Relokáció A processzus kezdő címe Határregiszter A processzus végének címe Amikor egy processzus betöltődik, a regiszterek megfelelő értéket kapnak Relokáció A bázis regiszter értékét a relatív címhez adjuk hozzá, hogy egy abszolút memória címet kapjunk Az eredmény címet összehasonlítjuk a limit regiszterrel Ha az érték nincs határon belül megszakítás generálódik, a hiba kezeléséhez Operációs rendszerek MINB40 53 Operációs rendszerek MINB40 54 Relokáció Védelem Hátrányok A fizikai memória folyamatos kell legyen A teljes processzusnak a memóriában kell lennie Operációs rendszerek MINB40 55 Operációs rendszerek MINB40 56
15 Eddig feltételeztük, hogy a processzus mérete kisebb mint a memória Mi van, ha nagyobb a program mint a memória? Overlay Program rétegekre bontása Csak azokat az utasításokat és adatokat tartjuk a memóriában, melyekre szükség van Felhasználó implementálja Nincs szükség operációs rendszer támogatásra A program tervezése overlay-el nagyon komplex Operációs rendszerek MINB40 57 Operációs rendszerek MINB40 58 Virtuális memória Az egyszerű módszerekkel kapcsolatos problémák elkerülésére Két stratégia Lapozás (paging) Szegmentálás (segmentation) A lapozás a domináns stratégia manapság Hibrid rendszer is van Operációs rendszerek MINB40 59
16 Problémák Virtuális memória 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 A program nem nyúlhat ki a partíciójából Kezdetben nem tudhatjuk mennyi memória kell Dinamikus foglalás Operációs rendszerek MINB40 6 Operációs rendszerek MINB40 6 Megoldás A processzusok által látott memória terület különbözik a fizikailag létező memóriától Követelmények Minden program csak a saját memória területét látja, mintha az egész az övé volna Bármely címre lehet hivatkozni a saját területen belül A program ne vegyen észre semmit a megvalósításból A virtuális memória elérésének hatékonysága ne legyen rosszabb mint a fizikai memóriához való hozzáférés hatékonysága Operációs rendszerek MINB40 63 Lapozás (paging) A virtuális és fizikai memóriát egyenlő darabokra osztjuk fel Virtuális memóriában: lap (page) Fizikai memóriában: lapkeret (frame) A keretek száma kisebb mint a lapoké Egy lappal csak akkor tudunk dolgozni, ha keretbe helyezzük Operációs rendszerek MINB40 64
17 CPU MMU MMU CPU kártya Memory Management Unit MMU Memória A virtuális címeket fizikai címekké alakítja Lemez vezérlő sín 0-64K a virtuális címek A gépnek csak 3K memóriája van Csak a szükséges részek töltődnek be 4K a lapméret Lapozás A valós rendszerekben a lapméret 5 byte, K, 4K ( hatványa) MOV REG,0 Operációs rendszerek MINB Vannak lapok melyek nincsenek a fizikai memóriában Jelölés: jelenlét/hiány bit Mi lesz ha olyan címre hivatkozunk, mely egy be nem töltött lapon van? MOV REG, 3780 Lapozás MOV REG, 3780 Az MMU észleli a problémát és laphiba megszakítást generál az operációs rendszernek! Az operációs rendszer egy lapkeretet kiír a lemezre Betölti a kívánt lapot Módosítja a laptérképet a szükséges módon A megszakítást okozó utasítástól folytatja. Lapozás 67 68
18 Lapozás MMU Nincs külső töredezettség CPU kártya Kicsi belső töredezettség Támogatja a megosztást Lehetővé teszi hogy a memória fizikai felépítésétől elvonatkoztassunk CPU MMU Memória Lemez vezérlő A programozó csak a virtuális címmel foglalkozik MMU sín Memory Management Unit A virtuális címeket fizikai címekké alakítja Operációs rendszerek MINB40 69 Operációs rendszerek MINB40 70 CPU által generált cím: Címfordítás Lapszám (p) a laptábla indexe, amely a fizikai memória címet tartalmazza ez a bázis cím Lap offszet (d) a fizikai memória címmel kombinálva kapjuk a végleges címet Címfordítás Szám p d Bit m-n n m címtartomány és n lapméret esetén (m=6, n=) Címtartomány: 6 = K n = bit m - n = 4bit Lapméret: = K Lapok száma: 6- = 4 = 6 Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 7
19 MMU működése MMU működése, másképpen 6 db 4K lap esetén 4 bit: lapszám ( 4 = 6) bit: offszet (eltolás), = 4096 címet reprezentálhat Ezért használunk hatványa lapméretet Lap tábla bites eltolás közvetlenül másolódik Kimenő fizikai cím (4580) Virtuális lap számát a laptábla indexeként használjuk Jelenlét bit MMU Bejövő virtuális cím (896) 73 Operációs rendszerek MINB40 74 Laptábla A laptábla célja, hogy a lapokat lapkeretekre képezzük le Lényegében egy függvény argumentuma: a virtuális lapszám eredmény: a lapkeret száma Két probléma: A laptábla nagyon nagy lehet A leképezés gyors legyen A laptábla nagyon nagy lehet m címtartomány és n lapméret esetén Címtartomány: 3 = GB Lapméret: = KB Lapok száma: 3- = 4 = Több mint millió lap, melyekhez bejegyzés kell Minden processzusnak saját laptáblája van!! 64 bit esetén még több Operációs rendszerek MINB40 75 Operációs rendszerek MINB40 76
20 A leképezés gyors legyen Minden memóriahivatkozásnál végre kell hajtani a címfordítást Egy utasítás több memóriahivatkozást is eredményezhet Laptábla: Gyors hadrware regiszterekből álló tömb Amikor egy processzus elindul, a rendszer betölti a memóriából a processzus laptábláját a regiszterekbe Előny Legegyszerűbb Leképezés alatt nem kell a memóriához fordulni Hátrány Processzus váltásnál a laptábla regiszterekbe töltése csökkenti a teljesítményt Operációs rendszerek MINB40 77 Operációs rendszerek MINB40 78 Teljes laptábla a memóriában Egy regiszter mutat a laptáblára Processzus váltásnál csak egy regisztert kell átírni Hátrány Minden utasításnál több memóriahivatkozás 3 bites cím, két darab 0 bites mezőből és bites offszetbőláll. Kétszintű laptábla Felső szintű laptábla Második szintű laptábla lapok Operációs rendszerek MINB
21 Pl.: Virtuális cím: Ez az adatszegmens 9-es bájtja. PT = ; PT = 3; Offset = 4 Kétszintű laptábla Felső szintű laptábla Második szintű laptábla Kétszintű laptábla, címfordítás PT = 4-8MB címek PT = 3-6MB címek Lapkeretszám megadható. Jelenlét bit 0 Felső szintű laptábla Második szintű laptábla Ha a lapkeret a memóriában van (jelenléti/hiány bit jelzi), akkor PT + Offset = fizikai cím 8 lapok Operációs rendszerek MINB40 8 Gyorsítótár letiltás Laptábla egy bejegyzése Hivatkozott Módosított Jelenlét/hiány bit Védelmi bitek Lapkeret száma Módosított bit: ha írtunk a lapra értéke lesz, ha értéke 0 nem kell kiírni a lemezre (dirty bit) Hivatkozott bit: ha olvastunk vagy írtunk értéke lesz; segít ha egy lapot ki kell dobni, akkor a használtat nem választjuk TLB A laptáblákat a memóriában tartjuk Sajnos nagyban befolyásolja a teljesítményt Hivatkozáslokalitás A legtöbb hivatkozás a lapok egy kis számára vonatkozik Megoldás: Hardware eszköz Translation Lookaside Buffer (címfordítási gyorsítótár vagy asszociatív memória) Operációs rendszerek MINB40 83 Operációs rendszerek MINB40 84
22 TLB MMU-ban található 8-64 bejegyzést tud tárolni érvényesség, virtuális lapszám, módosítási bit, védelmi kód, valós lapkeret szám MMU először a TLB-ben keresi a lapot, egyidejűleg (párhuzamosan)! Ha a művelet nem sérti a védelmet, azonnal kapjuk a lapkeret címet Ha sérti, védelmi hiba TLB Lapszám nincs a TLB-ben MMU a laptáblából keresi ki a lapot TLB-ből kidob egy bejegyzést Módosított bitet vissza kell írni a laptáblába Betölti a TLB-be az új lapot Minden adatot felül kell írni a TLB-ben MMU működése TLB-vel Szoftveres TLB Modern rendszereknél a TLB feltöltése szintén az operációs rendszer része SPARC MIPS, HP PA, Power PC Ha egy lap nincs a TLB-ben, TLB hiba generálódik és az operációs rendszer kapja meg a vezérlést Nagyon kevés utasítással szabad végrehajtani! TLB hiba gyakoribb mint a lap hiba Sokféle módszerrel javítható a működése Operációs rendszerek MINB40 87 Operációs rendszerek MINB40 88
23 Invertált laptáblák 3 bites cím, 4KB lapok 3 /4.096= Több mint millió bejegyzés Laptábla kb 4MB-os 64 bites cím, 4KB lapok 64 /4.096 Több mint 0 5 bejegyzés Egy bejegyzés 8 byte A laptábla kb. 30 millió GB!!! megoldás: invertált laptábla Operációs rendszerek MINB40 89 Invertált laptáblák A valós tár minden lapkeretéhez tartozik egy bejegyzés (a virtuális címtér minden lapja helyett) 64 bites címtér, 4 KB lapméret, 56 MB RAM Csak bejegyzés kell Egy bejegyzés megadja: adott lapkeretet mely processzus mely lapja használja Nehezebb a virtuálisról a fizikai címre való fordítás pid processzus p lapja pid nem használható indexként Az (pid,p) párost kell megkeresni a laptáblában Operációs rendszerek MINB40 90 Invertált laptáblák Invertált laptáblák Itt is segíthet a TLB!!! vagy Keresésre használható hasító (hash) tábla Egy bejegyzés egy láncolt listát tartalmaz kulcs ütközés megoldására Nem hatékony keresés, legrosszabb esetben O(n) 9 Operációs rendszerek MINB40 9
24 fork, Copy-On-Write, COW fork: Processzus létrehozására használtuk Lemásolta a processzust, majd rögtön felülírtuk (execve) Nem hatékony Megoldás: Processzus összes lapját olvashatóra állítjuk Új processzus lapjait ugyanazokra a lapkeretekre képezzük, szintén csak olvashatóan Ha valamelyik processzus írni próbál egyik lapjára, kivétel generálódik és ekkor másolunk COW, C lap módosítása előtt Fizikai memória Processzus Processzus A Lap B Lap C Lap Operációs rendszerek MINB40 93 Operációs rendszerek MINB40 94 COW, C lap módosítása után Fizikai memória Processzus Processzus A Lap B Lap C Lap C Lap Laphiba Igény szerinti lapozás (demand paging) Egy lap csak akkor töltődik be, amikor szükség van rá A processzus nincs a memóriában Első utasítás, rögtön laphibát generál, és behozza a lapot Gyors további laphibák (verem, globális változók) Egy idő múlva minden szükséges lap a memóriában lesz Lap betöltés Ha referencia mutat a lapra Érvénytelen referencia >> megszakítás (abort) Nincs a memóriában >> betöltés (load) Operációs rendszerek MINB40 95 Operációs rendszerek MINB40 96
25 Laphiba, lemezre írás-beolvasás Érvényes-érvénytelen bit Minden laptábla bejegyzés tartalmaz egy bitet v: memóriában (érvényes, valid) i: nincs a memóriában (érvénytelen, invalid) Operációs rendszerek MINB40 97 Keret #. laptábla érvényes - érvénytelen bit v v v v i i i Ha címfordítás során a bit i akkor laphiba generálódik Operációs rendszerek MINB40 98 Érvényes-érvénytelen bit Laphiba, lépések. Utasítás egy új lapra hivatkozik. Megszakítás, operációs rendszer meghívódik 3. Lap a lemezen 4. Lap betöltése egy üres keretbe 5. Laptábla beállítása i-ről v-re 6. Utasítás ismételt végrehajtása!!!!! Operációs rendszerek MINB40 99 Operációs rendszerek MINB40 00
26 Nincs üres lapkeret Laphiba Ki kell dobni egy lapot Ha gyakran használt lapot dobunk ki, hamar vissza kell tölteni Melyiket dobjuk ki? A megoldás mindig erőforrás igényes, így minél kevesebbszer szeretnénk végrehajtani Lapcserélési algoritmusok Sokféle eljárás létezik A probléma felmerül a gyorsítótárak esetén is A lehető legkevesebb laphibát akarunk Operációs rendszerek MINB40 0 Operációs rendszerek MINB40 0 First-In-First-Out (FIFO) algoritmus 3 lapkeret esetén First-In-First-Out (FIFO) algoritmus 4 lapkeret esetén Kívánt lap: Kívánt lap: laphiba generálódik 9 laphiba laphiba Operációs rendszerek MINB40 03 Operációs rendszerek MINB40 04
27 Belady anomáliája Belady László, 969: Korábban azt hitték, ha több a lapkeret akkor csökken vagy azonos számú lesz a laphiba Optimális lapcserélési algoritmus Egyszerű leírni, de lehetetlen megvalósítani Azt a lapot cseréljük le, melyet a leghosszabb ideig nem használunk Sajnos nem látunk a jövőbe A laphiba idejében nem lehet megmondani, hogy mely lapokra lesz hivatkozás Szimulátorban első futtatás során nyomonkövetjük a hivatkozásokat Második futásnál használható az optimális algoritmus Bár több a lapkeret, mégis több a laphiba 05 Operációs rendszerek MINB40 06 Optimális lapcserélési algoritmus Not-Recently-Used (NRU) 4 lapkeret esetén Kívánt lap: 3 4 Jövőbe látás Gyorsítótár letiltás Módosított Jelenlét/hiány bit Lapkeret száma 4 4 Hivatkozott Védelmi bitek Módosított bit: ha írtunk a lapra értéke lesz, ha értéke 0 nem kell kiírni a lemezre (dirty bit) (M bit - modified bit ) 6 laphiba Hivatkozott bit: ha olvastunk vagy írtunk értéke lesz; segít ha egy lapot ki kell dobni, akkor a használtat nem választjuk (R bit referenced bit) Operációs rendszerek MINB40 07 Operációs rendszerek MINB40 08
28 Not-Recently-Used (NRU) Amikor egy processzus elindul, mindkét bitet (módosított, hivatkozott bit) nullázzuk Időnként (pl. minden órajelre) nullázzuk a hivatkozott bitet Így megkülönböztetjük azokat a lapokat, amelyekre nem hivatkoztunk az időben Not-Recently-Used (NRU) Négy csoportba sorolhatók a lapok 0. osztály: nem hivatkozott, nem módosított. osztály: nem hivatkozott, módosított. osztály: hivatkozott, nem módosított 3. osztály: hivatkozott, módosított Az algoritmus véletlenszerűen kiválaszt egy lapot a legkisebb sorszámú nem üres osztályból és ezt a lapot dobja ki a memóriából Operációs rendszerek MINB40 09 Operációs rendszerek MINB40 0 Második lehetőség lapcserélési alg. Second chance FIFO módosítása Ne dobjon ki gyakran használt lapot Ha ahivatkozott bit nulla: nem használtuk a lapot és eldobható egy: töröljük a bitet és a lapot a lista végére tesszük, úgy kezeljük, mintha most jött volna be a memóriába Olyan lapot keresünk, amelyre nem volt hivatkozás az utolsó időintervallumban Operációs rendszerek MINB40 Második lehetőség lapcserélési alg. Ha mindegyikre volt hivatkozás, akkor FIFO-ként működik Hiszen amikor a listán végigmentünk az első lapot nullás bittel kapjuk meg Elsőnek betöltött lap Betöltési idő Utoljára betöltött lap A-t úgy kezeljük mint egy újonnan betöltött lapot Operációs rendszerek MINB40
29 Óra lapcserélési algoritmus A második lehetőség algoritmus folyamatosan mozgatja a lapokat a listában Nem túl hatékony Hatékonyabb egy körkörös lista A mutató mindig a legrégebbi lapra mutat Óra lapcserélési algoritmus Laphibakor: a mutatónál lévő lapot vizsgáljuk Döntés hivatkozott (R) bit alapján: ha R=0 : kidobjuk a lapot ha R= : R bitet nullázzuk, mutató a következő lapra lép 3 Operációs rendszerek MINB40 4 Least-Recently-Used (LRU) Optimális algoritmus közelítése Az utoljára használt lapok valószínűleg újra kellenek Amikor laphiba történik akkor a legrégebben használt lapot dobjuk el Nehezen megvalósítható Egy láncolt listát készítünk a lapokból A lista elején van a legutoljára használt lap, végén a legrégebben használt lap A probléma, hogy a listát minden hivatkozásnál frissíteni kell Least-Recently-Used (LRU) Alternatív implementáció Rendeljünk egy számlálót minden laphoz Minden memóriahivatkozásnál növeljük a számlálót Laphiba esetén a legkisebb számlálóértékű lap lesz a legrégebben használt ezt a lapot választjuk Operációs rendszerek MINB40 5 Operációs rendszerek MINB40 6
30 LRU bitmátrix-al n lapkeret a gépben n x n mátrixot definiálunk (csupa nulla) k-adik lapra hivatkozunk k-adik sor csupa -es k-adik oszlop csupa 0 lesz Legkisebb bináris értékű sor tartozik a legrégebben használt laphoz LRU bitmátrix-al Hivatkozási sor a lapokra: 0,,,3,,,0,3,, Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 8 Tervezési szempontok Munkahalmaz modell A processzus által használt lapok halmaza a munkahalmaz (working set) Ha az egész munkahalmaz a memóriában van akkor a processzus laphiba nélkül fut Ha nem fér el a memóriában akkor sok laphibát generál Operációs rendszerek MINB40 9 Operációs rendszerek MINB40 0
31 Vergődés (thrashing) CPU kihasználtsága növekszik a multiprogramozással a processzusok számával Több processzus, kevesebb memória áll rendelkezésre Egyes processzusok munkahalmaza nem fér be a memóriába Növekvő laphiba Vergődés (thrashing) Egyre több processzusnak nincs elég memóriája Csökken a CPU kihasználtsága A rendszer I/O korlátozottá válik A rendszer nem számítással (hasznos tevékenységgel) hanem lapcserékkel van elfoglalva Operációs rendszerek MINB40 Munkahalmaz modell A vergődés elkerülése érdekében a sok lapozásos rendszer megpróbálja nyomon követni a processzusok munkahalmazát és a program indítása előtt betölteni előlapozás P.J.Denning, 970 Globális-lokális lapcsere Globális lapcsere A processzus az összes lapkeretből választhat lapcsere esetén Egy processzus elvehet lapkeretet egy másik processzustól Lokális lapcsere A processzus csak a saját lapkeret választékából választhat Operációs rendszerek MINB40 3 Operációs rendszerek MINB40 4
32 Globális-lokális lapcsere Globális lapcsere jobban működik A processzus munkahalmaz mérete a futás során változhat Lokális lapcsere esetén, ha nő a munkahalmaz vergődéshez vezet ha csökken a munkahalmaz memóriát vesztegetünk Foglalás Minden processzusnak kell egy minimum mennyiségű lapkeret Két foglalási stratégia Fix méretű Prioritásos A globális lapcsere algoritmusnak döntenie kell, hogy mennyi memóriát foglaljon a processzusnak Operációs rendszerek MINB40 5 Operációs rendszerek MINB40 6 Egyenlő méretű Fix méretű foglalás Minden processzus ugyanannyi lapkeretet kap 00 keret esetén, 5 processzus, 0 lapkeret mindegyik processzusnak Arányos méretű A processzus méretének megfelelő számú lapot foglal Prioritásos foglalás Arányos méretű foglalás, de a prioritás alapján Operációs rendszerek MINB40 7 Operációs rendszerek MINB40 8
33 Laphiba gyakorisági algoritmus - PFF Page Fault Frequency Megmondja, hogyan növeljük vagy csökkentsük a processzuslapok számát Nem adja meg, hogy laphiba esetén melyik lapot cserélje Lefoglalt laphalmaz méretét szabályozza Algoritmusok jósága Laphibák aránya csökken, ha több lapkeretet foglalunk le Elfogadhatatlan nagy laphiba arány Növelni kell a lapkeretek számát Processzusnak túl sok lapkerete van Csökkenteni kell a lapkeretek számát Lapkeretek száma Operációs rendszerek MINB40 9 Teherelosztás A PFF használata mellett is előfordulhat vergődés Néhány processzusnak kell lap De nincs processzus ami fel tudna adni lapot Megoldás Csökkentsük a memóriáért versenyző processzusok számát Program szerkezet int data [8,8]; Minden sor egy lap. program for (j = 0; j < 8; j++) for (i = 0; i < 8; i++) data[i][j] = 0; 8x8 =6385 laphiba. program for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) data[i][j] = 0; 8 laphiba Operációs rendszerek MINB40 3 Operációs rendszerek MINB40 3
34 I/O és lapozás Néha szükség lehet arra, hogy ne engedjük egy lap eldobását, pl. I/O esetén Rögzíteni kell a lapot VM stratégia A virtuális memória rendszer működése és hatékonysága sok tényezőtől függ Laptábla kialakítása (több szintű, hasító táblás) Lapméret Lapcsere stratégia Betöltési stratégia Munkahalmaz mérete Globális-lokális foglalás 33 Operációs rendszerek MINB40 34 Lapméret Lapméret Általában választható érték Kis lap méret Előny Kisebb belső töredezettség Jobban használható különböző adatszerkezeteknél Hátrány Egy processzusnak sok lap kell Nagyobb laptábla Operációs rendszerek MINB40 35 Operációs rendszerek MINB40 36
35 Betöltési stratégia Meghatározza mikor töltsünk be egy lapot Szüksége szerinti betöltés Laphiba esetén Előtöltés Javítja az I/O-t, nagyobb egységben olvasunk Lapcsere stratégia Azt a lapot kell eltávolítani, melynél a legvalószínűbb, hogy a jövőben nem hivatkozunk rá Korlátok: Kernel kód Kernel adatszerkezetek I/O bufferek Operációs rendszerek MINB40 37 Operációs rendszerek MINB40 38 Szegmentálás Szegmentálás Memória kezelési stratégia, mely a felhasználó nézőpontját támogatja Például: Egy program szegmensekből áll függvény Mindegyik szegmens külön címtér Egy eljárás nullás címen kezdődik verem Újrafordításnál nem kell változtatni sqrt Operációs rendszerek MINB40 39 Különálló virtuális címterek main 40
36 Programozói nézőpont 3 4 Szegmentálás Memória 4 3 Szegmentált memória: Szegmentálás Több lineáris címtérből álló virtuális memória Egy processzus különböző részei külön szegmensekben helyezhetők el A részek külön-külön növekedhetnek, csökkenhetnek A szegmensek különböző típusúak lehetnek A szegmenseknek különböző lehet a védelme írható, olvasható, futtatható Operációs rendszerek MINB40 4 Operációs rendszerek MINB40 4 Szegmentált címzés A logikai cím két részből áll Szegmens szám s Offszet d Tiszta szegmentálás Lapok fix méretűek Szegmensek nem fix méretűek Operációs rendszerek MINB40 43 Operációs rendszerek MINB40 44
37 Külső töredezettség alakul ki Megszüntethető tömörítéssel Tiszta szegmentálás Operációs rendszerek MINB40 45 A programozó tudatában kell legyen a technikának? Hány lineáris címtartomány van? A teljes címtartomány meghaladhatja a fizikai címtartományt? Meg lehet-e különböztetni és külön védeni a programot és adatot? Változó méretű adatok könnyebben kezelhetők? Függvények megosztása felhasználók között lehetséges? Összehasonlítás Lapozás Nem Szegmentálás Igen Sok Igen Nem Nem Nem Igen Igen Igen Igen Operációs rendszerek MINB40 46 Összehasonlítás Miért találták ki a technikát? Lapozás Nagy lineáris memória területet kaphassunk, anélkül, hogy memóriát vennénk Szegmentálás A program el tudja különíteni a futtatható és adat részt logikailag különálló memória részre Támogassa a megosztást és védelmet Operációs rendszerek MINB40 47
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észletesebbenMá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észletesebbenProgramok, 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észletesebbenProblé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észletesebbenOperá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észletesebbenOperá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észletesebbenSzegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például:
Szegmentálás 1 Szegmentálás Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például: Egy program szegmensekből áll Mindegyik szegmens külön címtér Egy eljárás nullás címen kezdődik
RészletesebbenOperá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észletesebbenSzá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észletesebbenBevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb
Input és Output 1 Bevitel-Kivitel Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel és kivitel a számitógépből, -be Perifériák 2 Perifériákcsoportosításá,
RészletesebbenSzámítógép Architektúrák
Cache 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 Már megint a memória... Mindenről a memória tehet. Mert lassú. A virtuális
RészletesebbenMemóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)
Memóriák (felejtő) Memória Kapacitás Ár Sebesség Memóriák - tárak Háttértár (nem felejtő) Memória Vezérlő egység Központi memória Aritmetikai Logikai Egység (ALU) Regiszterek Programok Adatok Ez nélkül
RészletesebbenUtasí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észletesebben8. 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észletesebbenOperá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észletesebbenOperá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észletesebben9. 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észletesebben7. 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észletesebben8. 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észletesebbenSzá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észletesebbenSzupermikroprocesszorok é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észletesebbenA PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)
Informatika alapjai-9 Személyi számítógép (PC) 1/12 (Personal computer - From Wikipedia, the free encyclopedia) A személyi számítógépet ára, mérete és képességei és a használatában kialakult kultúra teszik
RészletesebbenCache, Cache és harmadszor is Cache
Cache, Cache és harmadszor is Cache Napjainkban, a XXI. században bátran kijelenthetjük, hogy a számítógépek korát éljük. A digitális rendszerek mára a modern ember életének meghatározó szereplőjévé váltak.
RészletesebbenOperá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észletesebbenOperációs rendszerek MINB240. Bevitel-Kivitel. 6. előadás Input és Output. Perifériák csoportosításá, használat szerint
Operációs rendszerek MINB240 6. előadás Input és Output Operációs rendszerek MINB240 1 Bevitel-Kivitel Eddig a számítógép agyáról volt szó Processzusok, memória, stb Szükség van eszközökre Adat bevitel
RészletesebbenADATBÁZISKEZELÉS ADATBÁZIS
ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.
RészletesebbenAdatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés
Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság
Részletesebben8. 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észletesebben6. 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észletesebbenOperációs rendszerek MINB240 V3+2+0-5 kredit KF Nagyváradi Anett 0. előadás Bevezetés
Üzleti környezetre k optimalizált lt rendszerek SANB107 IBM System i IBM System p rendszerének ismertetése Csütörtökönként 12:45-től blokkosítva A102-es teremben http://morpheus.pte.hu/~varady/ Várady
RészletesebbenAssembly Rekurzív függvények, EXE, C programok. Iványi Péter
Assembly Rekurzív függvények, EXE, C programok Iványi Péter Algoritmusok előadás Rekurzív függvény FÜGGVÉNY nyomtat(n) print n HA n!= 0 nyomtat(n-1) ELÁGAZÁS VÉGE FÜGGVÉNY VÉGE Rekurzív függvény org 100h
RészletesebbenSZÁMÍTÓGÉPARCHITEKTÚRÁK
ESSZÉ LÁNG LÁSZLÓ Zilog mokroprocesszor családok Z800 2005. December 1. Előszó A Zilog cég betörése a piacra rendkívül eredményesnek mondható volt, sőt később sikerült a csúcsra fejleszteniük a technológiájukat.
RészletesebbenDigitális technika VIMIAA01
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 Fehér Béla BME MIT Digitális Rendszerek Számítógépek
RészletesebbenOperá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észletesebbenVirtualBox, Debian telepítés
VirtualBox, Debian telepítés 1 VirtualBox Az Oracle VirtualBox egy x86-alapú (azaz AMD vagy Intel rendszerekre kifejlesztett), több platformon is futtatható virtualizációs program. A segítségével virtuális
RészletesebbenOperációs rendszerek MINB240 V2+2+0
Operációs rendszerek MINB240 V2+2+0 Dr Iványi Péter Nagyváradi Anett Radó János Nagyváradi Anett Elérhetőségek Rendszer és Szoftvertechnológia Tanszék Boszorkány út B138 Tel.: 3634-es mellék anettn@morpheus.pte.hu
Részletesebben6. Háttértárak. Mágneses elvű háttértárak. Ezek az eszközök ki-, bemeneti perifériák, az adatok mozgása kétirányú.
6. Háttértárak Ezek az eszközök ki-, bemeneti perifériák, az adatok mozgása kétirányú. Miért van rájuk szükség? Belső memória bővítése Programok és adatok tárolása, rögzítése Meglévő programok, adatok
RészletesebbenSzámítógép architektúrák. Tartalom. A memória. A memória
Számítógép architektúrák A memória Tartalom Félvezető tárolók DRAM, SRAM ROM, PROM Tokozások, memóriamodulok Lokalitás elve Gyorsítótárak (cache) A memória Vadász, 2007. Ea7 2 A memória Tár: programok
RészletesebbenCsak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar. 2010. január 4.
Név, felvételi azonosító, Neptun-kód: MI pont(90) : Csak felvételi vizsga: csak záróvizsga: közös vizsga: Közös alapképzéses záróvizsga mesterképzés felvételi vizsga Mérnök informatikus szak BME Villamosmérnöki
RészletesebbenProcesszusok (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észletesebbenProgramozá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észletesebbenAz Oracle rendszer komponensei
Az Oracle rendszer komponensei Célok Az Oracle szerver felépítésének és fő komponenseinek megismerése Annak bemutatása, hogy egy felhasználó Oracle példányhoz (instance) kapcsolódása hogy történik A következő
RészletesebbenFá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észletesebbenMáté: Számítógép architektúrák
Elágazás jövendölés ok gép megjövendöli, hogy egy ugrást végre kell hajtani vagy sem. Egy triviális jóslás: a visszafelé irányulót végre kell hajtani (ilyen van a ciklusok végén), az előre irányulót nem
RészletesebbenFeladatok és megoldások a 4. hétre
Feladatok és megoldások a. hétre Építőkari Matematika A3. Pisti nem tanult semmit a vizsgára, ahol 0 darab eldöntendő kérdésre kell válaszolnia. Az anyagból valami kicsi dereng, ezért kicsit több, mint
RészletesebbenOperá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észletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek Sorozatszámítás tétele Például az X tömbben kövek súlyát tároljuk. Ha ki kellene számolni az összsúlyt, akkor az S = f(s, X(i)) helyére S = S + X(i) kell írni. Az f0 tartalmazza
RészletesebbenADATBÁZIS-KEZELÉS ALAPOK I.
ADATBÁZIS-KEZELÉS ALAPOK I. AZ ADATBÁZIS FOGALMA Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei egy meghatározott tulajdonságuk alapján összetartozónak tekinthetők. Az adatbázis-kezelőknek
RészletesebbenBudapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK
Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK Iváncsy Szabolcs és Vajk István 2007 Október Tartalomjegyzék Ábrák jegyzéke Táblázatok
RészletesebbenSzá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észletesebbenA PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/15. (Personal computer - From Wikipedia, the free encyclopedia)
Informatika alapjai-9 Személyi számítógép (PC) 1/15 (Personal computer - From Wikipedia, the free encyclopedia) A személyi számítógépet ára, mérete és képességei és a használatában kialakult kultúra teszik
RészletesebbenHálózati operációs rendszerek II. Novell Netware 5.1 Szerver
Hálózati operációs rendszerek II. Novell Netware 5.1 Szerver 1 Netware 5 főbb jellemzői (címszavakban) Intel Pentium CPU-n fut Felügyeli és vezérli a különböz ő alrendsze- reket és az azok közötti kommunikációt
Részletesebben11. 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észletesebbenELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA
ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE
RészletesebbenNagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet
Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei Kutató Intézet kisszámítógépes rendszerekben Tudományos számításokban gyakran nagy mennyiségű aritmetikai művelet elvégzésére van
RészletesebbenProcesszusok (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észletesebbenSzá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észletesebbenSzá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 SZE MTK MSZT lovas.szilard@sze.hu B607 szoba Nem reprezentatív felmérés kinek van ilyen számítógépe? Nem reprezentatív felmérés kinek van
RészletesebbenDSP architektúrák dspic30f család
DSP architektúrák dspic30f család A Microchip 2004 nyarán piacra dobta a dspic30f családot, egy 16 bites fixpontos DSC. Mivel a mikróvezérlők tantárgy keretén belül a PIC családdal már megismerkedtetek,
RészletesebbenOperációs Rendszerek II. 5. előadás
Operációs Rendszerek II. 5. előadás 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
RészletesebbenÓravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.
Óravázlat az ECDL oktatócsomaghoz 5. modul Adatbáziskezelés Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.hu A vázlatot összeállította: Pintyőke László Lektorálta:
RészletesebbenMá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észletesebben1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai
4. tétel Az egyed-kapcsolat modell 1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai 1.1. Adatbáziskezelÿ rendszer (DBMS - DataBase Management System) A DBMS komplex SW-HW rendszer, mely
RészletesebbenAdatbázisok biztonsága
Adatbázisok biztonsága 13 1 Célkitőzések 1. Titoktartás (Secrecy): olyan felhasználó, akinek nincs joga, ne férjen hozzá az információkhoz. pl. egy diák ne láthassa más diák kreditjeit. 2. Sértetlenség
Részletesebben3. Gyakorlat Ismerkedés a Java nyelvvel
3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az
RészletesebbenIBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.
IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere
Részletesebben2. fejezet Hálózati szoftver
2. fejezet Hálózati szoftver Hálózati szoftver és hardver viszonya Az első gépek összekötésekor (azaz a hálózat első megjelenésekor) a legfontosabb lépésnek az számított, hogy elkészüljön az a hardver,
RészletesebbenA Számítógépek felépítése, mőködési módjai
Mechatronika, Optika és Gépészeti Informatika Tanszék Kovács Endre tud. Mts. A Számítógépek felépítése, mőködési módjai Mikroprocesszoros Rendszerek Felépítése Buszrendszer CPU OPERATÍV TÁR µ processzor
Részletesebben1. ábra: Perifériára való írás idődiagramja
BELÉPTETŐ RENDSZER TERVEZÉSE A tárgy első részében tanult ismeretek részbeni összefoglalására tervezzük meg egy egyszerű mikroprocesszoros rendszer hardverét, és írjuk meg működtető szoftverét! A feladat
RészletesebbenNEURONHÁLÓS HANGTÖMÖRÍTÉS. Áfra Attila Tamás
NEURONHÁLÓS HANGTÖMÖRÍTÉS Áfra Attila Tamás Tartalom Bevezetés Prediktív kódolás Neuronhálós prediktív modell Eredmények Források Bevezetés Digitális hanghullámok Pulzus kód moduláció Hangtömörítés Veszteségmentes
RészletesebbenA PROGAMOZÁS ALAPJAI 1. Függvény mint függvény paramétere. Függvény mint függvény paramétere. Függvény mint függvény paramétere
2012. április 10. A PROGAMOZÁS ALAPJAI 1 Vitéz András egyetemi adjunktus BME Híradástechnikai Tanszék vitez@hit.bme.hu Miről lesz ma szó? alaki szabályok használata - mintapélda használata - mintapélda
Részletesebben6. AZ EREDMÉNYEK ÉRTELMEZÉSE
6. AZ EREDMÉNYEK ÉRTELMEZÉSE A kurzus anyagát felhasználva összeállíthatunk egy kitűnő feladatlapot, de még nem dőlhetünk nyugodtan hátra. Diákjaink teljesítményét még osztályzatokra kell átváltanunk,
RészletesebbenUtolsó 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észletesebben1. Az utasítás beolvasása a processzorba
A MIKROPROCESSZOR A mikroprocesszor olyan nagy bonyolultságú félvezető eszköz, amely a digitális számítógép központi egységének a feladatait végzi el. Dekódolja az uatasításokat, vezérli a műveletek elvégzéséhez
RészletesebbenDB2 Connect Personal Edition telepítése és beállítása
IBM DB2 Connect 10.1 DB2 Connect Personal Edition telepítése és beállítása SC22-1155-00 IBM DB2 Connect 10.1 DB2 Connect Personal Edition telepítése és beállítása SC22-1155-00 Megjegyzés Az információk
Részletesebben8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete
8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén
RészletesebbenA mikroszámítógép felépítése.
1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az
RészletesebbenVillamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás
Villamos jelek mintavételezése, feldolgozása (ellenállás mérés LabVIEW támogatással) Számítógépes mérőrendszerek Mérésadatgyűjtés, jelfeldolgozás 9. előadás Dr. Iványi Miklósné, egyetemi tanár Schiffer
Részletesebben1. oldal, összesen: 29 oldal
1. oldal, összesen: 29 oldal Bevezetõ AXEL PRO Nyomtatványkitöltõ Program Az AXEL PRO Nyomtatványkitöltõ egy olyan innovatív, professzionális nyomtatványkitöltõ és dokumentum-szerkesztõ program, mellyel
RészletesebbenElő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észletesebbenOPERÁCIÓS RENDSZEREK I. HÁTTÉRTÁRAK
OPERÁCIÓS RENDSZEREK I. HÁTTÉRTÁRAK HÁTTÉRTÁRAK PARTÍCIÓK PARTÍCIÓK A MÁGNESLEMEZES TÁROLÁS ALAPELEMEI A lemezt sávokra és szektorokra osztjuk fel. CLUSTER SÁV A szektor a legkisebb tárolási egység, mérete
RészletesebbenMEMÓRIA TECHNOLÓGIÁK. Számítógép-architektúrák 4. gyakorlat. Dr. Lencse Gábor. tudományos főmunkatárs BME Híradástechnikai Tanszék lencse@hit.bme.
MEMÓRIA TECHNOLÓGIÁK Számítógép-architektúrák 4. gyakorlat Dr. Lencse Gábor 2011. október 3., Budapest tudományos főmunkatárs BME Híradástechnikai Tanszék lencse@hit.bme.hu Tartalom Emlékeztető: mit kell
RészletesebbenMesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.)
Mesterséges intelligencia, 7. előadás 2008. október 13. Készítette: Masa Tibor (KPM V.) Bizonytalanságkezelés: Az eddig vizsgáltakhoz képest teljesen más világ. A korábbi problémák nagy része logikai,
RészletesebbenHelyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.
Alapfogalmak... - az információáradat idejét éljük - az összes információ több mint 2/3-a valamilyen módon helyhez kötött - a mindennapi életben feltett kérdések nagy része helyhez kötött Hol van a legjobb
RészletesebbenProgramozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)
Programozás alapjai C nyelv 5. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.17. -1- Tömbök Azonos típusú adatok tárolására. Index
RészletesebbenAz INTEL D-2920 analóg mikroprocesszor alkalmazása
Az INTEL D-2920 analóg mikroprocesszor alkalmazása FAZEKAS DÉNES Távközlési Kutató Intézet ÖSSZEFOGLALÁS Az INTEL D 2920-at kifejezetten analóg feladatok megoldására fejlesztették ki. Segítségével olyan
RészletesebbenSzámítógép Architektúrák
Számítógép Architektúrák Perifériakezelés a PCI-ban és a PCI Express-ben 2015. március 9. Budapest Horváth Gábor docens BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu Tartalom A
RészletesebbenFábián Zoltán Hálózatok elmélet
Fábián Zoltán Hálózatok elmélet Miért szükséges a háttértár Az alkalmazások és adatok tárolása Háttértárak típusai Szekvenciális elérésű Mágnesszalag Lyukszalag Lyukkártya Véletlen elérésű Csak olvasható
RészletesebbenNapfotók (webkamerás felvételek) képfeldolgozása
Napfotók (webkamerás felvételek) képfeldolgozása Jelen írásban a webkamerával készült felvételek alapvető feldolgozását mutatom be próba videók segítségével. Útmutatóm kezdők számára készült, a mellékelt
RészletesebbenA számítógép alapfelépítése
Informatika alapjai-6 számítógép felépítése 1/8 számítógép alapfelépítése Nevezzük számítógépnek a következő kétféle elrendezést: : Harvard struktúra : Neumann struktúra kétféle elrendezés alapvetően egyformán
RészletesebbenMemó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észletesebbenDivar 2 - Vezérlőközpont. Kezelési útmutató
Divar 2 - Vezérlőközpont HU Kezelési útmutató Divar Vezérlőközpont Kezelési kézikönyv HU 1 Magyar Divar Többfunkciós digitális videofelvevő Divar Vezérlőközpont Kezelési útmutató Tartalom Első lépések.............................................3
Részletesebben386 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észletesebbenJeltárolás. Monitorozás
Jeltárolás Monitorozás 2/10 a jeleket általában rögzíteni kell a feldolgozás előtt, de a folyamatos monitorozás is nélkülözhetetlen papiríró, oszcilloszkóp, audiomonitor papiríró: toll, vagy hő; súrlódás,
RészletesebbenProgramozható logikai vezérlők
Széchenyi István Egyetem Automatizálási Tanszék Programozható logikai vezérlők Dr. Hodossy László Az irányítórendszerek fejlődése Fix huzalozású rendszerek Típus Programozható rendszerek Típus Jelfogós
RészletesebbenUniprogramozá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észletesebbenSzámítógép Architektúrák (MIKNB113A)
PANNON EGYETEM, Veszprém Villamosmérnöki és Információs Rendszerek Tanszék Számítógép Architektúrák (MIKNB113A) 9. előadás: Memóriák Előadó: Vörösházi Zsolt Jegyzetek, segédanyagok: Könyvfejezetek: http://www.virt.vein.hu
Részletesebbenint azt az elõzõ részbõl megtudtuk, a rétegeknek az a feladatuk, hogy valamiféle feladatot végezzenek
Hálózatok (2. rész) Sorozatunk e részében szó lesz az entitásokról, a csatolófelületekrõl, a protokollokról, a hivatkozási modellekrõl és sok minden másról. int azt az elõzõ részbõl megtudtuk, a eknek
RészletesebbenOperációs rendszerek. UNIX fájlrendszer
Operációs rendszerek UNIX fájlrendszer UNIX fájlrendszer Alapegység: a file, amelyet byte-folyamként kezel. Soros (szekvenciális) elérés. Transzparens (átlátszó) file-szerkezet. Link-ek (kapcsolatok) létrehozásának
RészletesebbenMemó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