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

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

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

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

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

Dr. Illés Zoltán

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

Operációs rendszerek III.

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

Memóriakezelés (Memory management)

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

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

9. Virtuális memória kezelés

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

Operációs rendszerek. UNIX fájlrendszer

Rudas Tamás: A hibahatár a becsült mennyiség függvényében a mért pártpreferenciák téves értelmezésének egyik forrása

Számsorozatok. 1. Alapfeladatok december 22. sorozat határértékét, ha. 1. Feladat: Határozzuk meg az a n = 3n2 + 7n 5n létezik.

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

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

Pályázat címe: Pályázati azonosító: Kedvezményezett: Szegedi Tudományegyetem Cím: 6720 Szeged, Dugonics tér

8. Memória management

Az átlagra vonatkozó megbízhatósági intervallum (konfidencia intervallum)

Hiba! Nincs ilyen stílusú szöveg a dokumentumban.-86. ábra: A példa-feladat kódolási változatai

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

1. Adatok közelítése. Bevezetés. 1-1 A közelítő függvény

Ingatlanok értékelése hozamszámítással

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

386 processzor címzés

Utolsó módosítás:

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

7. el adás Becslések és minta elemszámok fejezet Áttekintés

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

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

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

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

Matematika B4 I. gyakorlat

Operációs rendszerek előadás Multiprogramozott operációs rendszerek

Az új építőipari termelőiár-index részletes módszertani leírása

I. FEJEZET BICIKLIHIÁNYBAN

Hipotézis-ellenırzés (Statisztikai próbák)

2. AZ INFORMÁCIÓS TÁRSADALOM ÉRTELMEZÉSI DIFFERENCIÁINAK TERÜLETI KÖVETKEZMÉNYEI

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

Sorozatok A.: Sorozatok általában

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

18. Valószín ségszámítás. (Valószín ségeloszlások, függetlenség. Valószín ségi változók várható

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

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

A matematikai statisztika elemei

VII. A határozatlan esetek kiküszöbölése

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)

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

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

Kalkulus II., második házi feladat

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

Mérések, hibák. 11. mérés. 1. Bevezető

Kutatói pályára felkészítı modul

Memória és perifériák virtualizációja. Kovács Ákos Forrás, BME-VIK Virtualizációs technológiák

Rádiókommunikációs hálózatok

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

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

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

(A TÁMOP /2/A/KMR számú projekt keretében írt egyetemi jegyzetrészlet):

1. A radioaktivitás statisztikus jellege

3. SOROZATOK. ( n N) a n+1 < a n. Egy sorozatot (szigorúan) monotonnak mondunk, ha (szigorúan) monoton növekvő vagy csökkenő.

30 MB INFORMATIKAI PROJEKTELLENŐR. Kálmán Miklós és Rácz József. Tervezési dokumentáció Rendszerterv

3.4. gyakorlat. Matematika B1X február 1819.

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

VÉLETLENÍTETT ALGORITMUSOK. 1.ea.

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:

Programok, statikus linkelés

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

Matematikai játékok. Svetoslav Bilchev, Emiliya Velikova

Eseményalgebra, kombinatorika

24. tétel A valószínűségszámítás elemei. A valószínűség kiszámításának kombinatorikus modellje.

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

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

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

Méréselmélet PE_MIK MI_BSc, VI_BSc 1

Izolált rendszer falai: sem munkavégzés, sem a rendszer állapotának munkavégzés nélküli megváltoztatása nem lehetséges.

Felhasználói kézikönyv

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

Statisztikai programcsomagok

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

Cserjésné Sutyák Ágnes *, Szilágyiné Biró Andrea ** ismerete mellett több kísérleti és empirikus képletet fel-

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

Bevezetés az informatikába

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

Sorozatok október 15. Határozza meg a következ sorozatok határértékeit!

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

Matematikai statisztika

Máté: Assembly programozás

Fourier sorok FO 1. Trigonometrikus. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések!

Eseme nyalgebra e s kombinatorika feladatok, megolda sok

I. Függelék. A valószínűségszámítás alapjai. I.1. Alapfogalamak: A valószínűség fogalma: I.2. Valószínűségi változó.

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

AZ ÉPÜLETGÉPÉSZETI RENDSZEREK ENERGIA-HATÉKONYSÁGÁNAK KÉRDÉSEI

A statisztika részei. Példa:

Távközlő hálózatok és szolgáltatások Kapcsolástechnika

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

2. Hatványsorok. A végtelen soroknál tanultuk, hogy az. végtelen sort adja: 1 + x + x x n +...

Átírás:

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 Szegmetálós redszer NT esettaulmáy Vadász 1 Vadász 2 A memória (tár) Er forrás, amit Igéyeli (kéri, allokáli) kell (a processzek igéylik) Védei kell (elle rzött elérések legyeek) Címekkel redelkez 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éhet A fizikai memória hierarchikus szitekbe szervezett: Processzorbeli-processzor közeli gyorsítótár Közpoti tár Másodlagos tár Vadász 3 A címtartomáyok Miutá a memória címekkel redelkez rekeszek készlete, fotos fogalom a címtartomáy fogalom A címtartomáy a címek készlete (szembe a memóriával, ami rekeszek készlete) A címtartomáy modellje A memória modellje 1-1. cella 1. cella -1. cella. cella Vadász 4 Logikai címtartomáyok A processzekhez logikai címtartomáyok tartozak (Logical Address Space) Az szemszögükb l ézve va saját processzoruk, va saját (logikai) memóriájuk. A processzekhez egy lieáris, folytoos címtartomáyt szoktuk képzeli. Már a logikai címtartomáyokat is érdemes szakaszoli: címek a kódak, az adatokak, a vermekek. A fizikai címtartomáyok A CPU a fizikai memóriából tud felhozi, letároli A fizikai memóriához fizikai címtartomáyok tartozak (Physical Address Space) A címsí szélességét l függ, mekkora a fizikai címtartomáy Elképzelhet, hogy lehetséges fizikai címhez em köt dik fizikai memória cella (fizikai címtartomáy szakaszokhoz em tartozik memória) Vadász 5 Vadász 6

A címköt dés (Address Bidig) Adott egy cím. Vajo tartozik-e hozzá cella? Melyik? Köt dés a fordítás sorá: abszolút cím a tárgymodulokba Köt dés a lik sorá: abszolút cím a végrehajtható (betölthet ) programokba Köt dés a betöltés (load) sorá: abszolút címek a processz kotextusba Köt dés a futás sorá (diamikus köt dés): logikai címek a kotextusba. A logikai címek lehetek 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 (mappig). 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 esetekbe: Nagyobb a memória, mit a címtartomáy (korai redszerekbe 16 bites címzésél god volt) (A eset) A logikai címtartomáy és a fizikai címtartomáy em esik egybe (B eset) A memória kisebb, mit a címtartomáy (C eset) (Természetese a B eset a másik kett vel együtt is felléphet.) Vadász 7 Vadász 8 A címleképzések A tárcsere (Swappig) c A c c C c k q B Vegyük észre, a C esetbe tárcserére va szükség (átfedés (overlay), virtuális memória). Tárcserére akkor is szükség lehet, ha külöböz processzek (rutiok) felváltva haszálják ugyaazt a fizikai memória részt. c c k h q Vadász 9 Vadász 1 A memóriameedzselés feladatai A memória allokálás A címleképzés segítése Ezt kiegészítve az esetleges tárcsere (swappig out swappig i, pagig out pagig i) segítése A memória allokálása Mivel a memória er forrás, igéyeli kell A processzek az igéyl k (allokálók) Ú. statikus allokálás: a processz születésekor, hogy a kotextusa számára legye tárolási lehet ség Ú. diamikus allokálás: processz élete sorá b víti a redelkezésére álló memóriát Az allokálás (mid a statikus, mid a diamikus) az MM alredszer egyik fotos feladata Vadász 11 Vadász 12

A címleképzés A mai redszerekbe a processzek kotextusába logikai címek vaak (többyire virtuális címek) A logikai cím fizikai címre való leképzését, közbe a cím köt dés megoldását a MM alredszer a hardver MMU egységével együtt oldja meg A címleképzés köt dés sorá godoskodak a védelemr l Szükség eseté a ki-be mozgatásról (tárcserér l) Vadász 13 MM alredszer osztályozások A virtuális címzés kocepciójú MM-t l (lásd kés bb) megkülöböztetve, vaak valós címzés redszerek Fix partíciós és változó partíciós redszerek Korai MM redszerek, 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-, ext fit) címzés védelme. Némely probléma ma is érdekes (lapozó eszköz foglaltság kezelés stb.) A program-fejleszt redszerek által biztosított átfedési (overlay) techika a valós címzés redszerekbe is megegedte a fizika memóriáál agyobb logikai memória (logikai címtartomáy) haszálatát Vadász 14 A virtuális memória kocepció Általáos megoldást ajál a címleképzés köt dés problémára Léyege: A processzek (meglehetése agy) virtuális címtartomáyt haszálhatak Állhat több résztartomáybó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ódo) A virtuális cellák tartalma másodlagos tároló midig megtalálható, szükség eseté a fizikai memóriába is Mikor a processz egy virtuális címre hivatkozik, em kell tör die a címleképzéssel, sem a köt déssel, sem a tartalom behozatalával. Virtuális címtartomáy - memória A lehetséges virtuális címtartomáyt a címzési mód határozza meg (pl. 32 bites címzéshez 4 Gbájt) Egy processz virtuális címtartomáya eél valószí leg kisebb A lehetséges fizikai címtartomáy a címsí szélesség adja, ez lehet agy. A fizikai memória (a haszálható fizikai címtartomáy) bár egyre a gazdagépek memóriája eél is kisebb. Kisebb az összes processz virtuális memóriájáál. Vadász 15 Vadász 16 A címköt dés A taszképít (liker) a végrehajtható-betölthet programokba virtuális címeket épít A processzek a kotextusukba a virtuális címeket haszálják Diamikus címleképzés va: V Dyamic_Map address R address El fordulhat a leképzés sorá, hogy a leképzett cím em érvéyes (ot valid): a virtuális cellához ics fizikai cella kötve, az ics a fizikai memóriába. Ekkor ki-be mozgatás (tárcsere) szükséges Lapozó redszerek (Pagig) Lapozós redszerekbe fix méret blokkokba törtéik a címleképzés A virtuális címtartomáy (vagy aak altartomáya) fix méret szakaszokra va osztva A virtuális memória fix méret blokkokra va osztva: ez a lap (page) A fizikai memória ugyaolya (fix) méret lapkeretekre (page frame) va osztva. Lapozós redszerekbe a folytoos virtuális címtartomáyak em feltétleül folytoos fizikai címtartomáy fog megfeleli, em folytoos címtartomáyra is lehet a leképzést végezi Vadász 17 Vadász 18

Lapozó redszerek (Pagig) (Tegyük fel: egy processz V címtartomáya egy régióba tartozik, eze belül folyamatos (bájtba mérve: -)) Egy virtuális cím formája: v = (p, o) ahol: p: a lap címe, (értéke - p közötti, ahol p megmodja, háy lapból áll a processz); o: eltolás a lapo belül. (értéktartomáya át kell fedje a lapot) Lapozó redszerek (Pagig) 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 19 Vadász 2 A laptáblák (Page Map Table) Mide (egy dimeziós címtartomáyú, egy régiós) processz számára biztosított egy laptábla. (Több régiós processz: régiókéti laptábla!) Eek címe: egy regiszterbe (több régiósál regiszterekbe). A laptábláak ayi bejegyzése va, aháy lapból áll a processz (egy bejegyzést a p lapcím idexel). Egy laptábla bejegyzés Egy bejegyzés tartalma: védelmi és állapot (state) bitek: védelmi maszk (rwx stb.); érvéyességi (valid/preset-abset) 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 be is). Vadász 21 Vadász 22 Memória allokálás sorá Címleképzés lapozós redszerbe Statikus allokálás: készül(ek) laptábla (laptáblák), a szükséges számú bejegyzéssel A bejegyzések tartalma kitölt dik a kerel címtartomáyhoz tartozó bejegyzésekhez még a lapkeret címek is beíródhatak, a védelmi bitek és a másodlagos tároló leírók is kitölt dhetek (leírók az image fájlra voatkozhatak, sok bejegyzésbe ot valid jelzi, ics lapkeret redelve a laphoz). Diamikus allokálás sorá a laptábla "kiegészül", új bejegyzésekkel b vül (a címtartomáy ). Base Address of Page Table b + p b+p Page Table f Virtuális cím p o + Fizikai cím f o Itt érthet meg a HW MMU szerepe! Az addíciók HW-esek kell legyeek! Vadász 23 Vadász 24

A laphiba (Page Fault) Diamikus címleképzés sorá a valid/preset-abset bit jelzi: ics a laphoz lapkeret redelve. Klasszikus kivételes eseméy (exeptio coditio). A kezel je (Page Fault Hadler) m ködésbe lép. Keres szabad lapkeretet, kilapoz, ha szükséges, belapozza a kérdéses lapot, majd visszatér. Újra idulhat - most már sikerese - a leképzés. A laphiba egész ormális jeleség. A laphiba gyakoriság (Page Fault Rata) - jellemz je a processz életéek. Vadász 25 Kérdések, megoldadó dolgok Mekkora kell legye a laptábla? Hogy lehete csökketei méretét? Hogy lehete a címleképzést tovább gyorsítai? Meghatározadó a belapozási stratégia mely lapokat, meyit hozzuk be egyidej leg? meyiségi stratégia egyidej leg háy lapkerete legye/lehet egy processzek? kilapozási stratégia mely lapok legyeek esélyesek kilapozásra? elhelyezési stratégia em a fizikai memóriára, haem a másodlagos tárolóra Vadász 26 Laptábla méret kezelés Többszites laptáblák Méretét meghatározza a processz bájtba mért címtartomáya és a lapméret háyadosa: a lapba mért címtartomáy. Méretcsökketés 1: lapméret övelése (HW korlát) Méretkezelés: maga a laptábla is kilapozható. VAX/VMS megoldás. Csökketés 2.: többszit laptáblák: Itel: 2 szites, Su SPARC, Alpha: 3 szit, AMD x64: 4 szit. Csökketés 3.: Hasításos laptábla. IA64 Csökketés 4.: ivertált laptábla. HP, IBM System 38. Vadász 27 b Virtuális cím p1 p2 o 1 1 12 Els szit laptábla 1 2 + 3... 123 p2 Második szit laptáblák 1 2 3... 123 1 2 3... 123 Vadász 28 f Hasításos (hashed) Ivertált laptábla Hash függvéy: hasító, szétosztó függvéy, külöböz p, q stb. lapcímeket ugyaarra a hash címre képez Virtuális cím p o hash Fizikai cím f o p f q r Címzés bitszélesség övekedéssel em tud verseyt tartai a laptábla méret csökketés. Ivertált tábla: bejegyzések lapkeretekét. Tartalmuk: védelmi, módosítási maszk; processz azoosító (pid); a processz lapja (p). Leképzéshez: megézi, adott processz adott lapja leképzett-e. Nem szekveciális keresés: hash módszerek. Az ilye redszerekbe asszociatív tár is! Vadász 29 Vadász 3

Címleképzés gyorsítás asszociatív tárral Traslatio Lookaside Buffer a CPU-ba (TLB). Nem agy méret. Eek egy bejegyzése: szite ami a PMT egy bejegyzése. Párhuzamos keresés a TLB-be: címleképzés ige gyors, ha va találat. Ha ics találat: idul a ormál laptáblás leképzés. (Ez eredméyezhet laphibát. ) Az asszociatív tár tartalma frissít dik. Pl.: MIPS R2 stb. processzorai (SGI), Itel stb. Belapozási algoritmusok A processzek hivatkozási láca (Referece Strig): lapok sorozata. El re megmodai ehéz. Lehetséges behozási stratégiák (fetch policies): Igéy szeriti (Demad Pagig). Egyszer. laphiba eseté belapozzuk a kérdéses lapot eleite magas laphiba ráta, kés bb remélhet az "egyesúly" Szükséges és még éháy ("szomszédos" lap) a "lokalitás elve" érvéyesülhet "Mohó" belapozás a szükséges és "sok" további. Megjósolható? Vadász 31 Vadász 32 A meyiségi stratégia Ha ics stratégia: remélik az egyesúlyt A mukakészlet (Workig Set) modell (Deis, 197) A processz muka-lapkészlete (mukahalmaz): egy id ablakba a belév lapjaiak halmaza. Nics laphiba, ha mide lapja a pillaatyi mukakészlethez tartozik. A pillaatyi helyzet valójába: egy id ablak a hivatkozási láco. A mukakészlete eredetileg lapkészletet értettek, ma már a mukakészlet lapkeret készlet. A mukakészletet a processz élete sorá "igazíthatjuk" (adjustmet). Globális - lokális stratégiák A mukakészlet modellel kapcsolatba a kilapozási problémák el jöek: amikor belapozadó egy processz egy lapja, kilapozásra a processz mukakészletéb l válasszuk? (Lokális) Más processzek mukakészletéb l is? (Globális) Lokális kilapozáshoz: a mukakészlet agyságát diamikusa változtatják (határok között), a laphiba rátától függ e. A processzek mukakészleteiek egyesúlyát remélik (ez a Balace Set). Vadász 33 Vadász 34 Kilapozási algoritmusok Page Replacemet Algorithms Amik befolyásolhatak: a bekövetkez lapigéy em jósolható igazá; lapok belapozási ideje; lapok belapozási sorredje; hivatkozások gyakorisága; Lapok em írhatósága írhatósága, módosították-e; magáak az algoritmusak a költsége. FIFO algoritmus A belapozási sorred a meghatározó: miél régebbe lapoztak be egy lapot, aál esélyesebb a kilapozásra. Nyilvátartás egy lácolt listá: elejér l lapozak ki, belapozott lap a végére. Aomália: a rége belapozott, de most is haszált, a gyakra haszált lapokra. Vadász 35 Vadász 36

Második esélyes FIFO Körkörös lácolt listá a belapozott lapok. Lapokét egy hivatkozás bit. Óramutató mutatja a lista elejét. Kilapozáshoz: ha a mutatott lap hivatkozás bitje bebilletett, akkor azt törlik, és a mutató tovább lép. Ha em (em volt hivatkozás rá), akkor kilapozzák. Mire az óramutató körbejár, újra bebillehet a hivatkozás bit: kap egy második esélyt a lap. Ha em bille, methetetleül kilapozódik. Belapozott lap felvev dik a körre. Ilye a mach default memóriameedzsere. NRU (LRU) algoritmusok Not (Least) Recetly Used Lokalitás elvb l: a mostaába em haszálatos lapok esélyesek a kilapozásra. Az id számít. Lácolt listás yilvátartás költséges vola! Az utolsó 8 id -itervallum históriája : referecia bájt léptetés jobbra itervallumokét, hivatkozott lapál 1, em hivatkozottál lép be. A referecia bájtok redezésre adak lehet séget: kisebb a bájt a kilapozásra esélyes lapokál. Vadász 37 Vadász 38 NFU (LFU) algoritmusok Not (Least) Frequetly Used A hivatkozások gyakorisága számít, em a hivatkozások ideje. Aomália: rége agy gyakorisági frekveciával haszált lapok kiszorítják az újakat. Id szer ség is figyelembe veed. Öregedés (agig) a számlálómez re eze javít. Költséges a megvalósítás, f leg a redezés. A szegmetálás Többdimeziós címtartomáyok: a kódak, az adat szekciókak, a veremek, az osztott kódak, kerel régióak stb. A címleképzésbe a blokkméret em fix. A virtuális cím: v = (s,d) Processzekét szegmes tábla. Kevesebb bejegyzés. Ki-be söprés (swappig i-out), ha szükséges. Vadász 39 Vadász 4 Szegmesekéti címleképzés A stratégiák Base Address of Segmet Table b + s b+s Segmet Map Table m a l s' Virtuális cím s d + Fizikai cím s' d s szegmes szám s' szegmes cím d diplacemet (eltolás) a cím a swap tároló l szegmes hossz m státus (valid, rwx stb) Vadász 41 Allokációs stratégia egyidej leg szegmesyit a fizikai memóriába Behozási stratégia igéy szeriti a szegmesre Kisöprési stratégia LRU Elhelyezési stratégia First vagy ext fit Vadász 42

Szegmesekéti leképzés vagy lapozás: lehet ségek Tiszta lapozó redszerek (Pure Pagig) Tiszta szegmetáló redszerek. Szegmetáló és lapozó redszerek. Ekkor a teljes kotextus ki-besöpr dik, szegmesekre külö laptáblák, lapozás a szegmeseke belül. Ma ezek gyakoriak. A "swap" eszköz/fájl struktúra A mai redszerekbe lehet swap/pagig device (a másodlagos tároló partíció), swap/pagig file (a másodlagos tároló a fájl), midkett t úgy foghatjuk fel, hogy lapméret blokkok sora. Akár szegmesekéti leképzés, akár lapokéti leképzés va: swap/pagig eszközr l/fájlról beszélük. Ami érdekes lehet: hogy meedzselik a swap/pagig eszközö a szabad területet. Vadász 43 Vadász 44 Klasszikus Uix swap eszköz Adott a swap partíció, - uitok (blokkok) Adott a szabad területek térképe (map, map-etries): i core (esetleg a -ik blokko) 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üteheti) Felszabadítás: szomszédos szabad területek összef zésével ha el tte + utáa szabad: a 2 bejegyzésb l 1-et csiál, ha el tte vagy utáa szabad: a bejegyzést igazítja Ne feledjük: csak az irható lapok/régiók számára foglaak helyet a swap eszközö/fájlo. Liux swap eszköz A swap eszköz elejé 486- bájt hosszú bit-térkép (496-1: 'SWAP_SPACE' füzér). Ebb l: max 486*8-1=32 687 lap meedzselhet egy eszközö. Ez kicsi, ezért több swap eszköz lehet (ma max 8) Bebilletett bit kett s jeletése: adott régió lapját ide lehet kilapozi, újabb régió swap területe itt em foglalható. Ne feledjük: csak az irható lapok/régiók számára foglaak helyet a swap eszközö/fájlo. Vadász 45 Vadász 46 Az NT memóriameedzselés Virtuális, lapozós; Virtual Address Descriptor-okat (VAD) haszál; TLB-t is haszál; Kétszites laptáblás (osztott memóriához + 1 szit); Lapkeret adatbázist is haszál; Mukakészletet haszál; Öálló taszk a kilapozó; Igéy szeriti belapozós. Az NT MM virtuális 32 bites címzés: 2 32 lieáris címtartomáy (4GB) A fels 2GB redszer címtartomáy, kerel módba látható (Petium 1GB). Az alsó 2GB taszkokét egyedi címtartomáy (Petium 3GB). Vaak lefoglalt V címtartomáy szakaszok. Statikus allokálás: mikor a taszk készül, akkor foglalják ezeket a szakaszokat. Diamikus allokálás (alloc, malloc, stack b vítés stb.) Vadász 47 Vadász 48

A Virtual Address Descriptorok A VAD a lefoglalt címtartomáyok leíróit (kezd -végcím, éháy további adat) tartalmazza, biáris fa struktúrába redezve (gyors keresés). Hol va szerepe? A címleképzés elejé: el ször a VAD struktúrát ézik, lefoglalt címterületre törtét-e a hivatkozás. A memória allokálásál: új VAD leírót kell felvei + VM-t hozzáredeli az új címtartomáyhoz. Ez súgja a 2 szitet: El ször csak VAD leírót veszük fel (alloc), Amikor téyleg haszáli akarjuk az új mem-et (committig), elkészítjük a laptábla bejegyzéseket stb. Leképzett fájl (Mapped File) létrehozásáál (ld. kés bb). Nics szerepe a lapozásál (ez már em a címtartomáy síkja!) A címleképzés Miutá a VAD-o túl vagyuk, idul a TLB vizsgálat. TLB: kisméret asszociatív tár, 2 oszloppal egyikbe a VA fels 2bitje (párhuzamos keresés ebbe), másikba a laptábla rekord (ld. kés bb). Találat eseté yer az ügy! Ha ics találat: idul a szokásos lapokéti leképzés. Ha változás va a Page Dir-be vagy Page Table-kba, a TLB frissül. Vadász 49 Vadász 5 Lapokéti 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 lapo 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 Az NT 32 bites virtuális címe 1 bit 1 bit 12 bit Page Dir Idex Page Table Idex 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 (Taszkokét 1 db) 2 1 = 124 bejegyzés Egy bejegyzése: 4 Byte Egy laptábla méret (Taszkokét szükséges számú laptábla va) 2 1 = 124 bejegyzés Egy bejegyzése: 4 Byte Vadász 52 Egy laptábla bejegyzés tartalma Státusz bitek (érvéyes, em érvéyes, prototípus laptábla idex jelzésére) Védelmi bitek Csak olvasható (read oly) lap Teljes jogú (r/w) lap Csak futtatható (exec oly) lap (spec. processzorhoz) Figyelt (guarded) lap (elérése kivételt geerál) Tiltott lap (elérése kivételt geerál) Zárolt lap (em kilapozható) Módosításkor másolt (copy o write) lap (halogatott memória taktikához, ld. kés bb) Címek Laptábla bejegyzésbe a címek Lapkeret cím Másodlagos tároló blokk cím Prototípus laptábla idex. Osztott memória-haszálathoz (akár klasszikus, akár leképzett fájl) további szit a prototípus laptábla. Miutá ugyaazt a lapkeretet kell haszáli, em idexelhetjük közvetleül. Pl. ha kilapozzák, mide laptáblába be kellee íri, hogy érvéytele, s ki tudja, háy taszk haszálja. Ilyekor a prototípus laptáblába rögzítettek az védelmi bitek! Szerecsére midez traszpares! Vadász 53 Vadász 54

Lapokéti leképzés Nics találat a TLB-be: Veszik a lapkatalógus címét (regiszterbe), hozzáadják a VA fels 1 bites idexét: ez bemutat a katalógusba. Veszik eek bejegyzését: ez egy laptábla cím. Hozzáadják a VA második 1 bites idexét: ez mutat egy laptábla rekordra. Veszik a tábla rekordját: a státusból eld l: laphiba va-e. Idulhat a kezel je, ezt segíti a másodlagos tároló cím a rekordba... Nics laphiba: vehet a rekordból a keretcím (további szit a prototípus laptábla eseté). Keretcím és a VA offsettje adja a RA-t. Vadász 55 Halogatott gazdálkodási taktika Lehetek módosításkor másolt lapbejegyzések. Osztott memóriahaszálat halogató taktikája megvalósítható. PL. POSIX taszk-kreációba a gyermek kotextusa (kezdetbe az adatok is) megosztódak a szül jével: a lapjaik ilye lapbejegyzéseket kapak. Legtöbbször a gyermek em módosítja az adatokat sem. Ha bármelyik (szül, gyermek) mégis módosít, az ilye lapokat az MM lemásolja új lapkeretbe, és a laptábla bejegyzéseket frissíti (a copy o write bejegyzést törli, a módosítóál az új lapkeret-hivatkozást jegyzi fel, a másikál meghagyja a régit.) Vadász 56 A leképzett fájl objektum Külöleges memóriaallokáció! A fájl objektumot beillesztik a taszk címtartomáyába (VAD leíró készül, ez a címtartomáy a ézet: view). A címtartomáyhoz lapkatalógus bejegyzés(ek), laptábla(k) készülek, címezhet k majd lapkeretek, amikre a be- és kilapozás a kérdéses fájlra törtéek (és em a Pagig Filera). Midezt az MM itézi majd. Eze a címtartomáyo (a view-o) a taszk úgy látja a fájlt, mitha teljes egészébe a memóriába vola! Több taszk leképezheti ugyaazt a fájlt: osztozak rajta A klasszikus virtuális memória pedig a leképzett fájl speciális esete: a leképzett fájl ilyekor a Pagig File. A fizikai memória yivátartása Létezik lapkeret adatbázis (Page Frame Database), ayi bejegyzéssel, aháy lapkeret va. Egy bejegyzés tartalma: Érvéyes (valid) keret: haszálatba va, bee egy lap. Szabad (free) keret. Taszk exitjéél az MM a hozzá tartozó kereteket felszabadítja. Nullázott (zeroed). Szabad és -kkal felülírt keretek. (A C2 biztosági el írás követelméye). Készeléti (stadby) keret: már felszabadított, de még bee az éritetleül hagyott adatok. Visszakérhet k belapozás élkül, csak érvéyesre kell állítai ket. Az átmeeti bit is bebilletett. Módosított (modified) keret: írta a taszk, így ha ha lemod róla, elveszik t le és ki akarják osztai másik taszkak, el tte ki kell íri! Az átmeeti bit (trasitio flag) is bebilletett. Hibás (bad) keret: megbízhatatlaul m köd re ráírja az MM. Visszamutató a taszk laptábla bejegyzésére (ahol értelmes). Vadász 57 Vadász 58 Keretállapotok és listák Egy taszk egy laptábla bejegyzése emcsak a lapkeretet címezi, haem a lapkeret adatbázis bejegyzést is! Nemcsak érvéyes, haem módosított és készeléti lapkeretre is mutathat. A visszamutató azért kell, mert ha az MM fel akar haszáli egy módosított vagy készeléti keretet, javítaia kell a laptábla bejegyzést érvéytelere. Az MM a külöböz állapotú kereteket 5 lácolt listá yilvátartja! Va szabad, készeléti, módosított, ullázott és hibás lista. A ullázott, a szabad és a készeléti lista elemei az ú. felhaszálható keretek. A módosított lapíró A Modified Page Writer egy álladóa futó redszertaszk. Ha a felhaszálható keretek száma egy határ alá esik, lemezre írja a módosított kereteket, és átteszi azokat a készeléti listára (öveli a felhaszálható készletet). A lapkeret-adatbázis védelme Forgózárral (spilock semaphor) védik. Többprocesszoros redszerél is csak egy taszkot szolgál ki a VMM, sok processzorál sorbaállás va a VMM kezel höz. Ez a közös memória hátráya. Vadász 59 Vadász 6

Laphiba kezelés Az érvéytele laptábla bejegyzésig eljutott a címleképzés, bekövetkezett a laphiba. De ott va a másodlagos tároló cím: mit kellee belapozi. A kezel el ször a ullázott kereteket haszálá. Ha ics ilye, akkor egy szabad keretet. Ha ez sics, akkor készeléti keretet. Ha ez sics: valamely keretet fel kell szabadítai. Az NT lokális, legrégebbe betöltött algoritmust haszál. A felszabadított kereteket a hadler em lapozza ki, haem a készeléti vagy módosított listára teszi! (Ezért akár rögtö vissza is kérhet k belapozás élkül!) Laphiba kezelés A kezel kilapozás helyett csak listára tesz Módosított sor Készeléti sor Szabad sor Nullázott sor Vadász 61 Vadász 62 A taszkok mukakészlete Mide taszk kap Workig Set-et: ez lapkeret-készlet. El írt max-mi értéke va a készletek, taszkokét ez változik. Ha a taszk eléri a max. értékét, újabb memóriafoglalási kérelmek eseté kilapozak a készletéb l (akkor is, ha vaak szabad keretek: e sajátítso ki sokat egy taszk!) Automatikus mukakészlet szabályozás (Workig Set Trimmig) folyik: a taszkok laphiba rátájától függ e csökketik vagy övelik (utóbbit ha vaak szabad keretek) a mukakészletük max. méretét. Bizoyos esetekbe a mi. értékeket is. Összefoglalva, a kilapozás Ha a VMM úgy találja, idítja a módosított-lap író taszkot. Ez kilapoz, csökketi a módosított- és öveli a készeléti listát. Ha ez em segít, ézi a taszkokat, és azok mukakészletét a mi-re csökketi. Ha ez sem segít, valameyi taszk mukakészletét, aak mi értékét csökketi. Ha ez sem segít, akkor mejük memóriát vásároli! Ha a memória krízis megsz ik, a laphiba rátától függ e készletövekedés is lehet: beállhat újra az egyesúly. Vadász 63 Vadász 64 A belapozás Tulajdoképpe igéy szeriti belapozás (Demad Pagig) va, de a szükséges lapot közrefogó éháy lapot is belapozzák (ha a mukakészlet megegedi). (Cachigek evezik) A védelem Els szitje a VAD struktúrába: a kerel és felhaszálói címtartomáyok már itt szétválak. A taszkok egymás felhaszálói szit címeiket azért em érhetik el, mert saját laptábláik vaak. 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 65 Vadász 66

Megjegyzések még A gyorsítótárak Ma már két szit (L1 és L2 Cache), külö ICache, DCache. Szerecsékre ez tisztá hardveres és traszpares ügy! Mideestre ami Cache-ba va, az be is va lapozva! Most már értjük, hogy az NT memóriameedzselés Virtuális, lapozós; Virtual Address Descriptor-okat (VAD) haszál; TLB-t is haszál; Kétszites laptáblás (osztott memóriához + 1 szit); Lapkeret adatbázist is haszál; Mukakészletet haszál; Öálló taszk a kilapozó; Igéy szeriti belapozós. Vadász 67 Vadász 68 Operációs redszerek Memória meedzselés Vége Vadász 69