Operációs rendszerek. A program. A memória (tár) Memória menedzselés

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

Download "Operációs rendszerek. A program. A memória (tár) Memória menedzselés"

Átírás

1 Operációs rendszerek Memória menedzselés A program Memória, címtartomány fogalmak A címkötődés és címleképzés kérdései A tárcsere Memóriamenedzselési osztályok, valós MM Virtuális MM koncepció Lapozós rendszer Szegmentálós rendszer NT esettanulmány Vadász 2 A memória (tár) Erőforrás, amit Igényelni (kérni, allokálni) kell (a processzek igénylik) Védeni kell (ellenőrzött elérések legyenek) Címekkel rendelkező cellák (rekeszek: bájtok, szavak, rekordok) készlete, Egy-egy cella elérése (load-store) a címére való hivatkozással történhet A fizikai memória hierarchikus szintekbe szervezett: Processzorbeli-processzor közeli gyorsítótár Központi tár Másodlagos tár Vadász 3 1

2 A címtartományok Miután a memória címekkel rendelkező rekeszek készlete, fontos fogalom a címtartomány fogalom A címtartomány a címek készlete (szemben a memóriával, ami rekeszek készlete) A címtartomány modellje A memória modellje cella 1. cella n-1 n n-1. cella n. cella Vadász 4 Logikai címtartományok A processzekhez logikai címtartományok tartoznak (Logical Address Space) Az ő szemszögükből nézve van saját processzoruk, van saját (logikai) memóriájuk. A processzekhez egy lineáris, folytonos címtartományt szoktunk képzelni. Már a logikai címtartományokat is érdemes szakaszolni: címek a kódnak, az adatoknak, a vermeknek. Vadász 5 A fizikai címtartományok A CPU a fizikai memóriából tud felhozni, letárolni A fizikai memóriához fizikai címtartományok tartoznak (Physical Address Space) A címsín szélességétől függ, mekkora a fizikai címtartomány Elképzelhető, hogy lehetséges fizikai címhez nem kötődik fizikai memória cella (fizikai címtartomány szakaszokhoz nem tartozik memória) Vadász 6 2

3 A címkötődés (Address Binding) Adott egy cím. Vajon tartozik-e hozzá cella? Melyik? Kötődés a fordítás során: abszolút cím a tárgymodulokban Kötődés a link során: abszolút cím a végrehajtható (betölthető) programokban Kötődés a betöltés (load) során: abszolút címek a processz kontextusban Kötődés a futás során (dinamikus kötődés): logikai címek a kontextusban. A logikai címek lehetnek relatív címek, vagy virtuális címek A logikai címek és a fizikai címek közötti megfeleltetés (átalakítás) a címleképzés (mapping). Vadász 7 A címleképzések Vegyük észre, más-más a probléma (a címleképzés kiváltó oka) az alább esetekben: Nagyobb a memória, mint a címtartomány (korai rendszerekben 16 bites címzésnél gond volt) (A eset) A logikai címtartomány és a fizikai címtartomány nem esik egybe (B eset) A memória kisebb, mint a címtartomány (C eset) (Természetesen a B eset a másik kettővel együtt is felléphet.) Vadász 8 A címleképzések c 0 A c 0 k B n 0 c n n c 0 C 0 q h n n Vadász 9 3

4 A tárcsere (Swapping) Vegyük észre, a C esetben tárcserére van szükség (átfedés (overlay), virtuális memória). Tárcserére akkor is szükség lehet, ha különböző processzek (rutinok) felváltva használják ugyanazt a fizikai memória részt. 0 0 c c k n n q Vadász 10 A memóriamenedzselés feladatai A memória allokálás A címleképzés segítése Ezt kiegészítve az esetleges tárcsere (swapping out swapping in, paging out paging in) segítése Vadász 11 A memória allokálása Mivel a memória erőforrás, igényelni kell A processzek az igénylők (allokálók) Ún. statikus allokálás: a processz születésekor, hogy a kontextusa számára legyen tárolási lehetőség Ún. dinamikus allokálás: processz élete során bővíti a rendelkezésére álló memóriát Az allokálás (mind a statikus, mind a dinamikus) az MM alrendszer egyik fontos feladata Vadász 12 4

5 A címleképzés A mai rendszerekben a processzek kontextusában logikai címek vannak (többnyire virtuális címek) A logikai cím fizikai címre való leképzését, közben a cím kötődés megoldását a MM alrendszer a hardver MMU egységével együtt oldja meg A címleképzés kötődés során gondoskodnak a védelemről Szükség esetén a ki-be mozgatásról (tárcseréről) Vadász 13 MM alrendszer osztályozások A virtuális címzés koncepciójú MM-től(lásd később) megkülönböztetve, vannak valós címzésű rendszerek Fix partíciós és változó partíciós rendszerek Korai MM rendszerek, Felvetett problémáik: címkötődés késleltetése (áthelyezés lehetősége), partíció kiválasztási stratégia (best-, worst-, next fit) címzés védelme. Némely probléma ma is érdekes (lapozó eszköz foglaltság kezelés stb.) A program-fejlesztő rendszerek által biztosított átfedési (overlay) technika a valós címzésű rendszerekben is megengedte a fizika memóriánál nagyobb logikai memória (logikai címtartomány) használatát Vadász 14 A virtuális memória koncepció Általános megoldást ajánl a címleképzés kötődés problémára Lényege: A processzek (meglehetésen nagy) virtuális címtartományt használhatnak Állhat több résztartományból (régióból, szakaszból) Az MM a virtuális címekhez virtuális rekeszeket biztosít (a processzek számára átlátszó módon) A virtuális cellák tartalma másodlagos tárolón mindig megtalálható, szükség esetén a fizikai memóriában is Mikor a processz egy virtuális címre hivatkozik, nem kell törődnie a címleképzéssel, sem a kötődéssel, sem a tartalom behozatalával. Vadász 15 5

6 Virtuális címtartomány - memória A lehetséges virtuális címtartományt a címzési mód határozza meg (pl. 32 bites címzéshez 4 Gbájt) Egy processz virtuális címtartománya ennél valószínűleg kisebb A lehetséges fizikai címtartomány a címsín szélesség adja, ez lehet nagy. A fizikai memória (a használható fizikai címtartomány) bár egyre nő a gazdagépek memóriája ennél is kisebb. Kisebb az összes processz virtuális memóriájánál. Vadász 16 A címkötődés A taszképítő (linker) a végrehajtható-betölthető programokba virtuális címeket épít A processzek a kontextusukban a virtuális címeket használják Dinamikus címleképzés van: V address Dynamic_Map R address Előfordulhat a leképzés során, hogy a leképzett cím nem érvényes (not valid): a virtuális cellához nincs fizikai cella kötve, az nincs a fizikai memóriában. Ekkor ki-be mozgatás (tárcsere) szükséges Vadász 17 Lapozó rendszerek (Paging) Lapozós rendszerekben fix méretű blokkokban történik a címleképzés A virtuális címtartomány (vagy annak altartománya) fix méretű szakaszokra van osztva A virtuális memória fix méretű blokkokra van osztva: ez a lap (page) A fizikai memória ugyanolyan (fix) méretű lapkeretekre (page frame) van osztva. Lapozós rendszerekben a folytonos virtuális címtartománynak nem feltétlenül folytonos fizikai címtartomány fog megfelelni, nem folytonos címtartományra is lehet a leképzést végezni Vadász 18 6

7 Lapozó rendszerek (Paging) (Tegyük fel: egy processz V címtartománya egy régióba tartozik, ezen belül folyamatos (bájtban mérve: 0-n)) Egy virtuális cím formája: v = (p, o) ahol: p: a lap címe, (értéke 0 - n p közötti, ahol n p megmondja, hány lapból áll a processz); o: eltolás a lapon belül. (értéktartománya át kell fedje a lapot) Vadász 19 Lapozó rendszerek (Paging) Egy fizikai cím: r = (f, o) ahol: f a lapkeret címe, o az eltolás (offset). Az o eltolás bitszélessége a lap/lapkeret mérettől függ. A lap/lapkeret méret architektúra függő! Vadász 20 A laptáblák (Page Map Table) Minden (egy dimenziós címtartományú, egy régiós) processz számára biztosított egy laptábla. (Több régiós processz: régiónkénti laptábla!) Ennek címe: egy regiszterben (több régiósnál regiszterekben). A laptáblának annyi bejegyzése van, ahány lapból áll a processz (egy bejegyzést a p lapcím indexel). Vadász 21 7

8 Egy laptábla bejegyzés Egy bejegyzés tartalma: védelmi és állapot (state) bitek: védelmi maszk (rwx stb.); érvényességi (valid/present-absent) bit; módosítás (dirty bit) jelző; lapkeret cím, leíró a másodlagos tárolóhoz (cím és típus) (lehet ez a lapkeret cím mezőben is). Vadász 22 Memória allokálás során Statikus allokálás: készül(nek) laptábla (laptáblák), a szükséges számú bejegyzéssel A bejegyzések tartalma kitöltődik a kernel címtartományhoz tartozó bejegyzésekhez még a lapkeret címek is beíródhatnak, a védelmi bitek és a másodlagos tároló leírók is kitöltődhetnek (leírók az image fájlra vonatkozhatnak, sok bejegyzésben not valid jelzi, nincs lapkeret rendelve a laphoz). Dinamikus allokálás során a laptábla "kiegészül", új bejegyzésekkel bővül (a címtartomány nő). Vadász 23 Címleképzés lapozós rendszerben Base Address of Page Table b Virtuális cím p o + p b+p Page Table f + Fizikai cím f o Itt érthető meg a HW MMU szerepe! Az addíciók HW-esek kell legyenek! Vadász 24 8

9 A laphiba (Page Fault) Dinamikus címleképzés során a valid/present-absent bit jelzi: nincs a laphoz lapkeret rendelve. Klasszikus kivételes esemény (exeption condition). A kezelője (Page Fault Handler) működésbe lép. Keres szabad lapkeretet, kilapoz, ha szükséges, belapozza a kérdéses lapot, majd visszatér. Újra indulhat - most már sikeresen - a leképzés. A laphiba egész normális jelenség. A laphiba gyakoriság (Page Fault Rata) - jellemzője a processz életének. Vadász 25 Kérdések, megoldandó dolgok Mekkora kell legyen a laptábla? Hogy lehetne csökkenteni méretét? Hogy lehetne a címleképzést tovább gyorsítani? Meghatározandó a belapozási stratégia mely lapokat, mennyit hozzunk be egyidejűleg? mennyiségi stratégia egyidejűleg hány lapkerete legyen/lehet egy processznek? kilapozási stratégia mely lapok legyenek esélyesek kilapozásra? elhelyezési stratégia nem a fizikai memóriára, hanem a másodlagos tárolóra Vadász 26 Laptábla méret kezelés Méretét meghatározza a processz bájtban mért címtartománya és a lapméret hányadosa: a lapban mért címtartomány. Méretcsökkentés 1: lapméret növelése (HW korlát) Méretkezelés: maga a laptábla is kilapozható. VAX/VMS megoldás. Csökkentés 2.: többszintű laptáblák: Intel: 2 szintes, Sun SPARC, Alpha: 3 szint, AMD x64: 4 szint. Csökkentés 3.: Hasításos laptábla. IA64 Csökkentés 4.: invertált laptábla. HP, IBM System 38. Vadász 27 9

10 Többszintes laptáblák b Virtuális cím p1 p2 o Első szintű laptábla p2 Második szintű laptáblák Vadász 28 f Hasításos (hashed) Hash függvény: hasító, szétosztó függvény, különböző p, q stb. lapcímeket ugyanarra a hash címre képez Virtuális cím p o Fizikai cím f o hash p f q r Vadász 29 Invertált laptábla Címzés bitszélesség növekedéssel nem tud versenyt tartani a laptábla méret csökkentés. Invertált tábla: bejegyzések lapkeretenként. Tartalmuk: védelmi, módosítási maszk; processz azonosító (pid); a processz lapja (p). Leképzéshez: megnézni, adott processz adott lapja leképzett-e. Nem szekvenciális keresés: hash módszerek. Az ilyen rendszerekben asszociatív tár is! Vadász 30 10

11 Címleképzés gyorsítás asszociatív tárral Translation Lookaside Buffer a CPU-ban (TLB). Nem nagy méretű. Ennek egy bejegyzése: szinte ami a PMT egy bejegyzése. Párhuzamos keresés a TLB-ben: címleképzés igen gyors, ha van találat. Ha nincs találat: indul a normál laptáblás leképzés. (Ez eredményezhet laphibát. ) Az asszociatív tár tartalma frissítődik. Pl.: MIPS R2000 stb. processzorai (SGI), Intel stb. Vadász 31 Belapozási algoritmusok A processzek hivatkozási lánca (Reference String): lapok sorozata. Előre megmondani nehéz. Lehetséges behozási stratégiák (fetch policies): Igény szerinti (Demand Paging). Egyszerű. laphiba esetén belapozzuk a kérdéses lapot eleinte magas laphiba ráta, később remélhető az "egyensúly" Szükséges és még néhány ("szomszédos" lap) a "lokalitás elve" érvényesülhet "Mohó" belapozás a szükséges és "sok" további. Megjósolható? Vadász 32 A mennyiségi stratégia Ha nincs stratégia: remélik az egyensúlyt A munkakészlet (Working Set) modell (Denis, 1970) A processz munka-lapkészlete (munkahalmaz): egy időablakban a bennlévő lapjainak halmaza. Nincs laphiba, ha minden lapja a pillanatnyi munkakészlethez tartozik. A pillanatnyi helyzet valójában: egy időablak a hivatkozási láncon. A munkakészleten eredetileg lapkészletet értettek, ma már a munkakészlet lapkeret készlet. A munkakészletet a processz élete során "igazíthatjuk" (adjustment). Vadász 33 11

12 Globális - lokális stratégiák A munkakészlet modellel kapcsolatban a kilapozási problémák előjönnek: amikor belapozandó egy processz egy lapja, kilapozásra a processz munkakészletéből válasszunk? (Lokális) Más processzek munkakészletéből is? (Globális) Lokális kilapozáshoz: a munkakészlet nagyságát dinamikusan változtatják (határok között), a laphiba rátától függően. A processzek munkakészleteinek egyensúlyát remélik (ez a Balance Set). Vadász 34 Kilapozási algoritmusok Page Replacement Algorithms Amik befolyásolhatnak: a bekövetkező lapigény nem jósolható igazán; lapok belapozási ideje; lapok belapozási sorrendje; hivatkozások gyakorisága; Lapok nem írhatósága írhatósága, módosították-e; magának az algoritmusnak a költsége. Vadász 35 FIFO algoritmus A belapozási sorrend a meghatározó: minél régebben lapoztak be egy lapot, annál esélyesebb a kilapozásra. Nyilvántartás egy láncolt listán: elejéről lapoznak ki, belapozott lap a végére. Anomália: a régen belapozott, de most is használt, a gyakran használt lapokra. Vadász 36 12

13 Második esélyes FIFO Körkörös láncolt listán a belapozott lapok. Laponként egy hivatkozás bit. Óramutató mutatja a lista elejét. Kilapozáshoz: ha a mutatott lap hivatkozás bitje bebillentett, akkor azt törlik, és a mutató tovább lép. Ha nem (nem volt hivatkozás rá), akkor kilapozzák. Mire az óramutató körbejár, újra bebillenhet a hivatkozás bit: kap egy második esélyt a lap. Ha nem billen, menthetetlenül kilapozódik. Belapozott lap felvevődik a körre. Ilyen a mach default memóriamenedzsere. Vadász 37 NRU (LRU) algoritmusok Not (Least) Recently Used Lokalitás elvből: a mostanában nem használatos lapok esélyesek a kilapozásra. Az idő számít. Láncolt listás nyilvántartás költséges volna! Az utolsó 8 idő-intervallum históriája : referencia bájt léptetés jobbra intervallumonként, hivatkozott lapnál 1, nem hivatkozottnál 0 lép be. A referencia bájtok rendezésre adnak lehetőséget: kisebb a bájt a kilapozásra esélyes lapoknál. Vadász 38 NFU (LFU) algoritmusok Not (Least) Frequently Used A hivatkozások gyakorisága számít, nem a hivatkozások ideje. Anomália: régen nagy gyakorisági frekvenciával használt lapok kiszorítják az újakat. Időszerűség is figyelembe veendő. Öregedés (aging) a számlálómezőre ezen javít. Költséges a megvalósítás, főleg a rendezés. Vadász 39 13

14 A szegmentálás Többdimenziós címtartományok: a kódnak, az adat szekcióknak, a veremnek, az osztott kódnak, kernel régiónak stb. A címleképzésben a blokkméret nem fix. A virtuális cím: v = (s,d) Processzenként szegmens tábla. Kevesebb bejegyzés. Ki-be söprés (swapping in-out), ha szükséges. Vadász 40 Szegmensenkénti címleképzés Base Address of Segment Table b + s b+s Virtuális cím s d Segment Map Table Fizikai cím m a l s' + s' d s szegmens szám s' szegmens cím d diplacement (eltolás) a cím a swap tárolón l szegmens hossz m státus (valid, rwx stb) Vadász 41 A stratégiák Allokációs stratégia egyidejűleg szegmensnyit a fizikai memóriában Behozási stratégia igény szerinti a szegmensre Kisöprési stratégia LRU Elhelyezési stratégia First vagy next fit Vadász 42 14

15 Szegmensenkénti leképzés vagy lapozás: lehetőségek Tiszta lapozó rendszerek (Pure Paging) Tiszta szegmentáló rendszerek. Szegmentáló és lapozó rendszerek. Ekkor a teljes kontextus ki-besöprődik, szegmensekre külön laptáblák, lapozás a szegmenseken belül. Ma ezek gyakoriak. Vadász 43 A "swap" eszköz/fájl struktúra A mai rendszerekben lehet swap/paging device (a másodlagos tároló partíció), swap/paging file (a másodlagos tároló a fájl), mindkettőt úgy foghatjuk fel, hogy lapméretű blokkok sora. Akár szegmensenkénti leképzés, akár laponkénti leképzés van: swap/paging eszközről/fájlról beszélünk. Ami érdekes lehet: hogy menedzselik a swap/paging eszközön a szabad területet. Vadász 44 Klasszikus Unix swap eszköz Adott a swap partíció, 0-n unitok (blokkok) Adott a szabad területek térképe (map, map-entries): in core (esetleg a 0-ik blokkon) egy bejegyzés: addr+hossz pár, szabad területet jelez. Foglalás: first-fit startégiával, a szabad terület elejére, a bejegyzést "igazítja" (el is tünteheti) Felszabadítás: szomszédos szabad területek összefűzésével ha előtte + utána szabad: a 2 bejegyzésből 1-et csinál, ha előtte vagy utána szabad: a bejegyzést igazítja Ne feledjük: csak az irható lapok/régiók számára foglanak helyet a swap eszközön/fájlon. Vadász 45 15

16 Linux swap eszköz A swap eszköz elején bájt hosszú bit-térkép ( : 'SWAP_SPACE' füzér). Ebből: max 4086*8-1= lap menedzselhető egy eszközön. Ez kicsi, ezért több swap eszköz lehet (ma max 8) Bebillentett bit kettős jelentése: adott régió lapját ide lehet kilapozni, újabb régió swap területe itt nem foglalható. Ne feledjük: csak az irható lapok/régiók számára foglanak helyet a swap eszközön/fájlon. Vadász 46 Az NT memóriamenedzselés Virtuális, lapozós; Virtual Address Descriptor-okat (VAD) használ; TLB-t is használ; Kétszintes laptáblás (osztott memóriához + 1 szint); Lapkeret adatbázist is használ; Munkakészletet használ; Önálló taszk a kilapozó; Igény szerinti belapozós. Vadász 47 Az NT MM virtuális 32 bites címzés: 2 32 lineáris címtartomány (4GB) A felső 2GB rendszer címtartomány, kernel módban látható (Pentium 1GB). Az alsó 2GB taszkonként egyedi címtartomány (Pentium 3GB). Vannak lefoglalt V címtartomány szakaszok. Statikus allokálás: mikor a taszk készül, akkor foglalják ezeket a szakaszokat. Dinamikus allokálás (alloc, malloc, stack bővítés stb.) Vadász 48 16

17 A Virtual Address Descriptorok A VAD a lefoglalt címtartományok leíróit (kezdő-végcím, néhány további adat) tartalmazza, bináris fa struktúrába rendezve (gyors keresés). Hol van szerepe? A címleképzés elején: először a VAD struktúrát nézik, lefoglalt címterületre történt-e a hivatkozás. A memória allokálásnál: új VAD leírót kell felvenni + VM-t hozzárendelni az új címtartományhoz. Ez súgja a 2 szintet: Először csak VAD leírót veszünk fel (alloc), Amikor tényleg használni akarjuk az új mem-et (committing), elkészítjük a laptábla bejegyzéseket stb. Leképzett fájl (Mapped File) létrehozásánál (ld. később). Nincs szerepe a lapozásnál (ez már nem a címtartomány síkja!) Vadász 49 A címleképzés Miután a VAD-on túl vagyunk, indul a TLB vizsgálat. TLB: kisméretű asszociatív tár, 2 oszloppal egyikben a VA felső 20bitje (párhuzamos keresés ebben), másikban a laptábla rekord (ld. később). Találat esetén nyerő az ügy! Ha nincs találat: indul a szokásos laponkénti leképzés. Ha változás van a Page Dir-ben vagy Page Table-kban, a TLB frissül. Vadász 50 Laponkénti leképzés Lap (Page): a Virtual Address Space fix méretű része, a Virtual Memory fix méretű blokkja. Létezik (összetett) lapcím, létezik lapon belüli eltolás (offset), a kettő adja a VA-t. Lapkeret (Page-frame): a RA-space fix méretű része, a RM fix méretű blokkja (belefér egy lap). Létezik lapkeret cím, a lapkeret cím és az eltolás (offset) adja a RA-t, Vadász 51 17

18 Az NT 32 bites virtuális címe 10 bit 10 bit 12 bit Page Dir Index Page Table Index Page Dir (Lapkatalógus) PD record Page Tables (Laptáblák) PT record Offset A lapméret Az offset szélesség: 12 bit 2 12 = 4KB A lapkatalógus méret (Taszkonként 1 db) 2 10 = 1024 bejegyzés Egy bejegyzése: 4 Byte Egy laptábla méret (Taszkonként szükséges számú laptábla van) 2 10 = 1024 bejegyzés Egy bejegyzése: 4 Byte Vadász 52 Egy laptábla bejegyzés tartalma Státusz bitek (érvényes, nem érvényes, prototípus laptábla index jelzésére) Védelmi bitek Csak olvasható (read only) lap Teljes jogú (r/w) lap Csak futtatható (exec only) lap (spec. processzorhoz) Figyelt (guarded) lap (elérése kivételt generál) Tiltott lap (elérése kivételt generál) Zárolt lap (nem kilapozható) Módosításkor másolt (copy on write) lap (halogatott memória taktikához, ld. később) Címek Vadász 53 Laptábla bejegyzésben a címek Lapkeret cím Másodlagos tároló blokk cím Prototípus laptábla index. Osztott memória-használathoz (akár klasszikus, akár leképzett fájl) további szint a prototípus laptábla. Miután ugyanazt a lapkeretet kell használni, nem indexelhetjük közvetlenül. Pl. ha kilapozzák, minden laptáblába be kellene írni, hogy érvénytelen, s ki tudja, hány taszk használja. Ilyenkor a prototípus laptáblában rögzítettek az védelmi bitek! Szerencsére mindez transzparens! Vadász 54 18

19 Laponkénti leképzés Nincs találat a TLB-ben: Veszik a lapkatalógus címét (regiszterben), hozzáadják a VA felső 10 bites indexét: ez bemutat a katalógusba. Veszik ennek bejegyzését: ez egy laptábla cím. Hozzáadják a VA második 10 bites indexét: ez mutat egy laptábla rekordra. Veszik a tábla rekordját: a státusból eldől: laphiba van-e. Indulhat a kezelője, ezt segíti a másodlagos tároló cím a rekordban... Nincs laphiba: vehető a rekordból a keretcím (további szint a prototípus laptábla esetén). Keretcím és a VA offsettje adja a RA-t. Vadász 55 Halogatott gazdálkodási taktika Lehetnek módosításkor másolt lapbejegyzések. Osztott memóriahasználat halogató taktikája megvalósítható. PL. POSIX taszk-kreációban a gyermek kontextusa (kezdetben az adatok is) megosztódnak a szülőjével: a lapjaik ilyen lapbejegyzéseket kapnak. Legtöbbször a gyermek nem módosítja az adatokat sem. Ha bármelyik (szülő, gyermek) mégis módosít, az ilyen lapokat az MM lemásolja új lapkeretbe, és a laptábla bejegyzéseket frissíti (a copy on write bejegyzést törli, a módosítónál az új lapkeret-hivatkozást jegyzi fel, a másiknál meghagyja a régit.) Vadász 56 A leképzett fájl objektum Különleges memóriaallokáció! A fájl objektumot beillesztik a taszk címtartományába (VAD leíró készül, ez a címtartomány a nézet: view). A címtartományhoz lapkatalógus bejegyzés(ek), laptábla(k) készülnek, címezhetők majd lapkeretek, amikre a be- és kilapozás a kérdéses fájlra történnek (és nem a Paging Filera). Mindezt az MM intézi majd. Ezen a címtartományon (a view-on) a taszk úgy látja a fájlt, mintha teljes egészében a memóriában volna! Több taszk leképezheti ugyanazt a fájlt: osztoznak rajta A klasszikus osztott memória pedig a leképzett fájl speciális esete: a leképzett fájl ilyenkor a Paging File. Vadász 57 19

20 A fizikai memória nyivántartása Létezik lapkeret adatbázis (Page Frame Database), annyi bejegyzéssel, ahány lapkeret van. Egy bejegyzés tartalma: Érvényes (valid) keret: használatban van, benne egy lap. Szabad (free) keret. Taszk exitjénél az MM a hozzá tartozó kereteket felszabadítja. Nullázott (zeroed). Szabad és 0-kkal felülírt keretek. (A C2 biztonsági előírás követelménye). Készenléti (standby) keret: már felszabadított, de még benne az érintetlenül hagyott adatok. Visszakérhetők belapozás nélkül, csak érvényesre kell állítani őket. Az átmeneti bit is bebillentett. Módosított (modified) keret: írta a taszk, így ha ha lemond róla, elveszik tőle és ki akarják osztani másik taszknak, előtte ki kell írni! Az átmeneti bit (transition flag) is bebillentett. Hibás (bad) keret: megbízhatatlanul működőre ráírja az MM. Visszamutató a taszk laptábla bejegyzésére (ahol értelmes). Vadász 58 Keretállapotok és listák Egy taszk egy laptábla bejegyzése nemcsak a lapkeretet címezi, hanem a lapkeret adatbázis bejegyzést is! Nemcsak érvényes, hanem módosított és készenléti lapkeretre is mutathat. A visszamutató azért kell, mert ha az MM fel akar használni egy módosított vagy készenléti keretet, javítania kell a laptábla bejegyzést érvénytelenre. Az MM a kölönböző állapotú kereteket 5 láncolt listán nyilvántartja! Van szabad, készenléti, módosított, nullázott és hibás lista. A nullázott, a szabad és a készenléti lista elemei az ún. felhasználható keretek. Vadász 59 A módosított lapíró A Modified Page Writer egy állandóan futó rendszertaszk. Ha a felhasználható keretek száma egy határ alá esik, lemezre írja a módosított kereteket, és átteszi azokat a készenléti listára (növeli a felhasználható készletet). A lapkeret-adatbázis védelme Forgózárral (spinlock semaphor) védik. Többprocesszoros rendszernél is csak egy taszkot szolgál ki a VMM, sok processzornál sorbaállás van a VMM kezelőhöz. Ez a közös memória hátránya. Vadász 60 20

21 Laphiba kezelés Az érvénytelen laptábla bejegyzésig eljutott a címleképzés, bekövetkezett a laphiba. De ott van a másodlagos tároló cím: mit kellene belapozni. A kezelő először a nullázott kereteket használná. Ha nincs ilyen, akkor egy szabad keretet. Ha ez sincs, akkor készenléti keretet. Ha ez sincs: valamely keretet fel kell szabadítani. Az NT lokális, legrégebben betöltött (NRU) algoritmust használ. A felszabadított kereteket a handler nem lapozza ki, hanem a készenléti vagy módosított listára teszi! (Ezért akár rögtön vissza is kérhetők belapozás nélkül!) Vadász 61 Laphiba kezelés A kezelő kilapozás helyett csak listára tesz Módosított sor Készenléti sor Szabad sor Nullázott sor Vadász 62 A taszkok munkakészlete Minden taszk kap Working Set-et: ez lapkeret-készlet. Előírt max-min értéke van a készletnek, taszkonként ez változik. Ha a taszk eléri a max értékét, újabb memóriafoglalási kérelmek esetén kilapoznak a készletéből (akkor is, ha vannak szabad keretek: ne sajátítson ki sokat egy taszk!) Automatikus munkakészlet szabályozás (Workig Set Trimming) folyik: a taszkok laphiba rátájától függően csökkentik vagy növelik (utóbbit ha vannak szabad keretek) a munkakészletük max. méretét. Bizonyos esetekben a min. értékeket is. Vadász 63 21

22 Összefoglalva kilapozás Ha a VMM úgy találja, indítja a módosított-lap író taszkot. Ez kilapoz, csökkenti a módosított- és növeli a készenléti listát. Ha ez nem segít, nézi a taszkokat, és azok munkakészletét a min-re csökkenti. Ha ez sem segít, valamennyi taszk munkakészletét, annak min értékét csökkenti. Ha ez sem segít, akkor menjünk memóriát vásárolni! Ha a memória krízis megszűnik, a laphiba rátától függően készletnövekedés is lehet: beállhat újra az egyensúly. Vadász 64 A belapozás Tulajdonképpen igény szerinti belapozás (Demand Paging) van, de a szükséges lapot közrefogó néhány lapot is belapozzák (ha a munkakészlet megengedi). (Cachingnek nevezik) Vadász 65 A védelem Első szintje a VAD struktúrában: a kernel és felhasználói címtartományok már itt szétválnak. A taszkok egymás felhasználói szintű címeiket azért nem érhetik el, mert saját laptábláik vannak. A közös memória a prototípus laptáblák segítségével mégis megoldható. Taszk saját memóriáját is védheti a laptábla védelmi bitjeivel. Vadász 66 22

23 Megjegyzések még A gyorsítótárak Ma már két szintű (L1 és L2 Cache), külön ICache DCache. Szerencsénkre ez tisztán hardveres és transzparens ügy! Mindenestre ami Cache-ban van, az be is van lapozva! Vadász 67 Most már értjük, hogy az NT memóriamenedzselés Virtuális, lapozós; Virtual Address Descriptor-okat (VAD) használ; TLB-t is használ; Kétszintes laptáblás (osztott memóriához + 1 szint); Lapkeret adatbázist is használ; Munkakészletet használ; Önálló taszk a kilapozó; Igény szerinti belapozós. Vadász 68 Operációs rendszerek Memória menedzselés Vége 23

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

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

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

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

Részletesebben

Operációs rendszerek 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

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

Memóriakezelés (Memory management)

Memóriakezelés (Memory management) 1 Memóriakezelés (Memory management) Háttér, alapok Logikai és fizikai címtér Valós címzésű menedzselés Partíciók Szabad/foglalt partíciók kezelése 2 Háttér, alapok Az számítógép (processzor) kapacitásának

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

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

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

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

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

A program. Operációs rendszerek. A címtartományok. A memória (tár) A fizikai címtartományok. Logikai címtartományok

A program. Operációs rendszerek. A címtartományok. A memória (tár) A fizikai címtartományok. Logikai címtartományok A program Operációs redszerek Memória meedzselés Memória, címtartomáy fogalmak A címköt dés és címleképzés kérdései A tárcsere Memóriameedzselési osztályok, valós MM Virtuális MM kocepció Lapozós redszer

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

Operációs rendszerek. UNIX fájlrendszer

Operá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é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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Részletesebben

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

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

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

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

Részletesebben

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

Operációs rendszerek. UNIX/Linux fájlrendszerek

Operációs rendszerek. UNIX/Linux fájlrendszerek Operációs rendszerek UNIX/Linux fájlrendszerek Tartalom Linux fájlrendszerek UNIX/Linux fájlrendszerek Szimbolikus linkek Fájlrendszerek csatolása Virtuális fájlrendszer Szuperblokk Inode Objektumok 2

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

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

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

Részletesebben

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

Máté: Assembly programozás

Máté: Assembly programozás Dr. Máté Eörs docens Képfeldolgozás és Számítógépes Grafika Tanszék Árpád tér 2. II. em. 213 6196, 54-6196 (6396, 54-6396) http://www.inf.u-szeged.hu/~mate Tantárgy leírás: http://www.inf.u-szeged.hu/oktatas/kurzusleirasok/

Részletesebben

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

Szá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észletesebben

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

találhatók. A memória-szervezési modell mondja meg azt, hogy miként Memória címzési módok Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről) a program utasításai illetve egy utasítás argumentumai a memóriában találhatók. A memória-szervezési

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

Architektúra, címzési módok

Architektúra, címzési módok Architektúra, címzési módok Mirıl lesz szó? Címzés fogalma, címzési módok Virtuális tárkezelés Koschek Vilmos Példa: Intel vkoschek@vonalkodhu Fogalom A címzési mód az az út (algoritmus), ahogyan az operandus

Részletesebben

Struktúra nélküli adatszerkezetek

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

Részletesebben

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben 2011. október 13. Az alapprobléma A processzek állapotát gyakran le kell kérdezni. Az ehhez használatos eszközök: ps top

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

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

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

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

Részletesebben

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

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

Részletesebben

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

Adatmodellezés. 1. Fogalmi modell

Adatmodellezés. 1. Fogalmi modell Adatmodellezés MODELL: a bonyolult (és időben változó) valóság leegyszerűsített mása, egy adott vizsgálat céljából. A modellben többnyire a vizsgálat szempontjából releváns jellemzőket (tulajdonságokat)

Részletesebben

Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás 1 Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás 2 Fájl rendszer struktúra A fájl rendszer rétegekből (layers) áll,

Részletesebben

elektronikus adattárolást memóriacím

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

Részletesebben

Operációs Rendszerek II. 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. témakör. Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: 3.A memóriák csoportosítása:

8. témakör. Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: 3.A memóriák csoportosítása: 8. témakör 12a_08 Memóriák 1. Számítógép sematikus felépítése: 2.A memória fogalma: Gyors hozzáférésű tárak. Innen veszi, és ideírja a CPU a programok utasításait és adatait (RAM, ROM). Itt vannak a futó

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

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

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Cache memória Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-03-27 1 MÁR MEGINT A MEMÓRIA...

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

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

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

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

Részletesebben

Operációs rendszerek. Elvárások az NTFS-sel szemben

Operációs rendszerek. Elvárások az NTFS-sel szemben Operációs rendszerek MS Windows NT (2000) NTFS Elvárások az NTFS-sel szemben Megbízható file-rendszer, visszaállíthatóság (recoverability). Állományok biztonságának garantálása, illetéktelen hozzáféré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

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

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

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Memó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észletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ 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

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

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

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

Részletesebben

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

Programozás alapjai. 8. előadás 8. előadás Wagner György Általános Informatikai Tanszék Azonosítók érvényességi köre Kiindulási alap: a blokkszerkezetű programozási nyelvek (C, FORTRAN, PASCAL, ) Egy program szerkezete: Fejléc Deklarációsrész

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

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes Architektúra, cache irıl lesz szó? Alapfogalmak Adat cache tervezési terének alapkomponensei Koschek Vilmos Fejlıdés vkoschek@vonalkodhu Teljesítmény Teljesítmény növelése Technológia Architektúra (mem)

Részletesebben

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése Célok: gyors lekérdezés, gyors adatmódosítás, minél kisebb tárolási terület. Kezdetek Nincs általánosan legjobb optimalizáció. Az egyik

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

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

Számítógép architektúrák. Tartalom. A memória. A memória

Szá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) Vadász, 2005 Ea7 2 A memória Tár: programok és adatok tárolására.

Részletesebben

Programozás II. 4. Dr. Iványi Péter

Programozás II. 4. Dr. Iványi Péter Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include

Részletesebben

Operációs rendszerek 1.

Operációs rendszerek 1. Operációs rendszerek 1. Fájlkezelés Balla Tibor balla.tibor@inf.unideb.hu Fájlrendszer: Könyvtárak és Fájlok Inode szuperblokk inode tábla tényleges lemezterület inode = index-node Az inode tábla egy fix

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

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1

Virtuális memóriakezelés Védelem. Memória védelem. Intel x68. Izsó Tamás október 18. Izsó Tamás Memória védelem/ 1 Memória védelem Intel x68 Izsó Tamás 213. október 18. Izsó Tamás Memória védelem/ 1 Section 1 Virtuális memóriakezelés Izsó Tamás Memória védelem/ 2 Operációs rendszer hardver szintű támogatása Hardver

Részletesebben

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatbáziskezelés. Indexek, normalizálás NZS 1 Adatbáziskezelés Indexek, normalizálás NZS 1 Fáljszervezés módjai Soros elérés: a rekordok a fájlban tetszőleges sorrendben, például a felvitel sorrendjében helyezkednek el. A rekord azonosítója vagyis

Részletesebben

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Bevitel-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észletesebben

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja Operációs rendszerek 9. Állományok kezelése Simon Gyula Felhasznált irodalom: Kóczy-Kondorosi (szerk.): Operációs rendszerek mérnöki megközelítésben Tanenbaum: Modern Operating Systems 2nd. Ed. Silberschatz,

Részletesebben

Architektúra, megszakítási rendszerek

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

Részletesebben

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

A 32 bites x86-os architektúra regiszterei

A 32 bites x86-os architektúra regiszterei Memória címzési módok Jelen nayagrészben az Intel x86-os architektúrára alapuló 32 bites processzorok programozását tekintjük. Egy program futása során (legyen szó a program vezérléséről vagy adatkezelésről)

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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

SZÁMÍTÓGÉP ARCHITEKTÚRÁK SZÁMÍTÓGÉP ARCHITEKTÚRÁK Az utasítás-pipeline szélesítése Horváth Gábor, Belső Zoltán BME Hálózati Rendszerek és Szolgáltatások Tanszék ghorvath@hit.bme.hu, belso@hit.bme.hu Budapest, 2018-05-19 1 UTASÍTÁSFELDOLGOZÁS

Részletesebben

Operációs rendszerek. A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System

Operációs rendszerek. A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System Operációs rendszerek A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System Elvárások az NTFS-sel szemben Megbízható file-rendszer, visszaállíthatóság (recoverability). Állományok biztonságának

Részletesebben

1. Az utasítás beolvasása a processzorba

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

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

12. Másodlagos tár szerkezet

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

Részletesebben

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok. ADATBÁZIS-KEZELÉS ALAPOK Főbb Adattípusok: Igen/Nem Bájt Ez az adattípus logikai adatok tárolására alkalmas. A logikai adatok mindössze két értéket vehetnek fel. (Igen/Nem, Igaz/Hamis, Férfi/Nő, Fej/Írás

Részletesebben

Hardver összetevők ellenőrzése Linux alatt. Hardverguruk előnyben...

Hardver összetevők ellenőrzése Linux alatt. Hardverguruk előnyben... Hardver összetevők ellenőrzése Linux alatt Hardverguruk előnyben... A hardverek támogatottsága A telepítés előtt érdemes meggyőződni arról, hogy a jelenleg használt hardver elemek támogatottak-e a Linux

Részletesebben

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

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

Részletesebben

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

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

SzA19. Az elágazások vizsgálata

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

Részletesebben