Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Számítógépek felépítése 6. előadás virtuális tárkezelés

Hasonló előadás


Az előadások a következő témára: "Számítógépek felépítése 6. előadás virtuális tárkezelés"— Előadás másolata:

1 Számítógépek felépítése 6. előadás virtuális tárkezelés
Dr. Istenes Zoltán ELTE-TTK

2 6. előadás tartalma Memória hierarchia Tárolókezelő egység
Virtuális tárkezelés (logikai-fizikai címek) Szegmentálás Lapozás

3 Memória Feladata : adatok (több / kevesebb) tárolása (hosszabb / rövidebb ideig)

4 CPU - Memória címsín Processzor Memória adatsín

5 MMU - Memory Management Unit
Tárolókezelő egység MMU - Memory Management Unit

6 Tárolókezelés feladatai
a CPU által megcímzett címen lévő érték elérése tárhierarchia hatékony működtetése : virtuális-logikai címek kezelése, lapozás, szegmentálás memória „szétosztása” (több program, több felhasználó között...) „védelem” rendszer programok a felhasználótól felhasználók adatai felhasználók programjai (de közös eljárások)

7 Overlay technika (átlapolásos technika)
Probléma : nagy program, kis memória Program feldarabolása, csak a szükséges darab(ok) a memóriában program data memória p p1 data data data p p p p2 p1 p2 p3 idő p3

8 Virtuális tárkezelés

9 Cím, címtartomány, címszélesség
memória értékek memória címek 000000 000001 000010 000011 ... ... Címszélesség cím érték 011010 ... ... Címtartomány 111111

10 Logikai - fizikai címek
Logikai cím(tartomány) Fizikai cím(tartomány) a CPU által címezhető, programban használható központi memória mérete... logikai - fizikai címek megfeleltetése ?!

11 MMU i j program központi memória logikai cím fizikai MMU cím fizikai
címtartomány logikai címtartomány

12 Szegmentálás (segmentation)

13 Szegmensek képzése program szegmens = nem rögzített méretű adatblokk
data1 data2 szegmensek cím meghatározása = szegmens meghatározása + szegmensen belüli „eltolás” meghatározása p0 p1 stack

14 Szegmentált memória kezelés
logikai cím: szegmensszám eltolás s d szegmenstábla összehasonlító engedélyező a szegmenshez kapcsolódó különféle „bitek” báziscím hossz fizikai cím: + báziscím eltolás

15 Szegmens elhelyezési stratégiák
p2 Szegmens betöltési (elhelyezési) módszerek (stratégiák) : első szabad hely (first fit) következő szabad hely (next fit) legjobb hely (best fit) legrosszabb hely (worst fit) ? p0 fix méretű (de különböző) szegmensek... felezéses/duplázásos szegmensek... p1

16 „Szemétgyűjtés” (garbage collection, „memória kompaktálás”)
? p0 p0 p2 szegmensek p1 p2 szemétgyűjtés p1 nagyon időigényes !

17 Lapozás (paging)

18 logikai címtartomány és a
Lapok képzése lapok = azonos, rögzített méretű adatblokkok logikai címtartomány és a fizikai címtartomány felosztása lapokra fizikai címtartomány logikai címtartomány

19 Lapok megfeleltetése „logikai lapok” „fizikai lapok” MMU ?

20 Címkiszámítás (lapszám, eltolás)
lapszám (k) eltolás (d) lapszám 0. i bit j bit 1. n = 2i m = 2j 0. k. d. lapon belüli „eltolás” m. n.

21 Logikai-fizikai címképzés
logikai cím q d „lap leképző eljárás” „MMU” fizikai cím p d

22 Logikai-fizikai címképzés
logikai cím q d „laptábla” p fizikai cím p d

23 Logikai-fizikai címképzés
„jelenléti bit” : lap a memóriában van vagy háttértárolón q d logikai cím 1 ... ... „laptábla” ... p 1 ... ... háttértárolón a cím fizikai cím p d

24 Lapcímzés (példa1) Adatok : logikai címtartomány : 15 bit
központi memória : 8 Kbyte lapméret : 211 byte háttértároló : 32 Kbyte Kérdés : mekkora a laptábla mérete ? byte szervezés...(fontos !)

25 Lapcímzés (példa1 megoldás)
lapméret : 211 byte = 2 Kbyte logikai címtartomány : 15 bit = 32 Kbyte = 16 lap központi memória : 8 Kbyte = 4 lap laptábla : 16 sor (a logikai lapokhoz) soronként 16 bit (2 byte) 1 jelenléti bit, 2 bit (a fizikai lapszám) vagy 15 bit (a háttértároló) laptábla mérete : 32 byte byte szervezés...(fontos !)

26 Lapozási mechanizmus Ha a lap nincs a memóriában : laphiba (page fault) -> megszakítás -> háttértárolóból a lap betöltése Ha nincs hely a memóriában : helyettesítési eljárás... („egy lap” eltávolítása a memóriából...) ?

27 Helyettesítési eljárások
Melyik lapot kell cserélni (eltávolítani) ? optimal : „amire legkevésbé lesz szükség”... legrégebben bentlévő (FIFO) legrégebbi nem használt legkevésbé használt (LRU - Least Recently Used) ... Megvalósítás bonyolultsága ? random prioritásos second chance LRU stack-el megvalósítva...

28 Optimális laphelyettesítés (példa)
Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 Optimális helyettesítés ok ok ok ok ok „találati arány” (hit ratio) = 5/11

29 FIFO laphelyettesítés (példa)
Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 FIFO helyettesítés ok ok „találati arány” (hit ratio) = 2/11

30 LRU laphelyettesítés (példa)
Lapkérelmek : 2,3,2,4,6,2,5,6,1,4,6 LRU helyettesítés ok ok ok ok „találati arány” (hit ratio) = 4/11

31 Lapcímzés (példa2) Adatok : logikai címtartomány : 32 bit
központi memória : 8 Mbyte lapméret : 4 Kbyte Kérdés : mekkora a laptábla mérete ? byte szervezés...(fontos !)

32 Lapcímzés (példa2 megoldás)
lapméret : 4 Kbyte = 12 bit logikai címtartomány : 32 bit = 4 Gbyte központi memória : 8 Mbyte = 23 bit laptábla : 32-12=20 azaz 220 sor (a logikai lapokhoz) soronként 12 bit (2 byte) 1 jelenléti bit, 11 (a fizikai lapszám) laptábla mérete 220 x 2 byte = 2 Mbyte !!! byte szervezés...(fontos !) ?

33 Egyéb lehetőségek... Szegmentált lapcímzés kezelés... (szegmentálás + lapozás) Translation Lookaside Buffer... (a legutóbbi logikai-fizikai (lap)címmegfelelés tárolása cache-ban) [Modern comp. pp.252, 253]

34 Egyéb tulajdonságok... „overhead” „working set” „demand paging”...
„trashing” - multiprogramozás Belady anomália Belady FIFO 4 lappal 4/15 5 lappal 3/15

35 Összefoglalás


Letölteni ppt "Számítógépek felépítése 6. előadás virtuális tárkezelés"

Hasonló előadás


Google Hirdetések