Ugrás a tartalomhoz

Operációs rendszerek

Dr. Fazekas Gábor (2011)

Kempelen Farkas Hallgatói Információs Központ

Lapozás

Lapozás

  • minden processzusnak saját laptáblája (Page Table) van

  • minden laptáblabejegyzés tartalmazza a főmemóriában található megfelelő lap keretszámát

  • egy bit szükséges annak jelzésére, hogy a lap a főmemóriában van, vagy nem

  • egy másik, ún. „módosító bit” szükséges annak jelzésére, hogy a lap tartalma megváltozott-e a főmemóriába való utolsó betöltődése óta

  • ha nem történt változás, a lap kimentésekor a lemezre való kiírása nem szükséges

Laptáblák:

  • az egész laptábla túl sok főmemóriát foglalhat le

  • laptáblák szintén tárolhatók a virtuális memóriában, így amikor egy processzus fut, laptáblájának csak egy része van a főmemóriában

Címfordítási gyorsítótár (Translation Lookaside Buffer):

  • minden virtuális memóriahivatkozás két fizikai memóriahozzáférést igényel:

    • – behozni a megfelelő laptáblát

    • – behozni az adatot

  • a memóriahozzáférési idő ezen duplázásának kivédésre egy nagy sebességű cache memóriát használunk a laptáblabejegyzésekhez – TLB - Translation Lookaside Buffer

  • ez tartalmazza a legutóbb használt laptábla bejegyzéseket

  • úgy működik, ahogyan egy memória gyorsítótár (cache)

Lapozás (Paging) algoritmusa

  • ha adott egy virtuális cím, a processzor megvizsgálja a TLB-t

  • ha laptábla bejegyzést talál, a keretsorszámot (címet) kinyeri és megalkotja a valós címet

  • ha laptábla bejegyzést nem talál a TLB-ben, a lapsorszámot használja a processzus laptáblájának idexelésére

  • először ellenőrzi, hogy a lap a főmemóriában van-e már

    • – ha nincs, egy laphiba történik

  • a TLB egy újabb lapbejegyzéssel történő frissítése a következő lépés

Lapméret:

  • minél kisebb a lapméret, annál kisebb a belső töredezettség

  • minél kisebb a lapméret, annál több lap szükséges egy processzushoz

  • minél több lap tartozik egy processzushoz, annál nagyobb lesz a laptábla mérete

  • a másodlagos memóriát nagy blokkokból álló adatok mozgatására tervezték, így a nagy lapméret előnyösebb

  • minél kisebb a lapméret, annál több lap található a főmemóriában

  • a végrehajtás előrehaladtával egyre több olyan lap lesz a memóriában, mely a processzus azon részeit tartalmazza, amely részekre történő hivatkozások a legfrissebbek, így a laphibák száma csökken.

  • több lapméret használata rugalmasságot biztosítana TLB hatékony használatához

  • nagy méretű lapok használatosak a programutasításokhoz

  • kis méretű lapok használatosak a szálakhoz

  • a legtöbb operációs rendszer egy lapméretet támogat