Ugrás a tartalomhoz

Operációs rendszerek

Dr. Fazekas Gábor (2011)

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

A Unix és a Windows 2000 virtuális memóriakezelése

A Unix és a Windows 2000 virtuális memóriakezelése

A Unix memóriakezelése

  • Unix régebbi verziói: változtatható méretű partícionálás használata

  • Lapozó rendszer felhasználói processzusokhoz

    • – laptábla: egy laptábla egy processzushoz illetve egy bejegyzés a processzus minden táblájához

    • – Disk block descriptor: a virtuális memória lemezen levő másolatát írja le

    • – Keret tábla (page frame data table): a valós memória kereteit írja le

    • – „Swap-use” tábla: minden egyes csereeszközhöz

  • Kernel memory allocator (kernel számára memória lefoglalása)

  • A Unix memóriakezelése az óra stratégia továbbfejlesztett változatát alkalmazza („két-karú” óra stratégia)

  • – reference bit használata

    • értékét 0-ra állítjuk, mikor a lapot először behozzuk

    • értékét 1-re állítjuk, mikor a lapra hivatkozás történik

  • – az elülső kar végigpásztázza a lapokat és a referencia bitet 0-ra állítja

  • – kicsivel később a hátulsó kar szintén végigpásztázza a lapokat és összegyűjti a 0 referencia bittel rendelkezőket

  • Kernel Memory Allocator

    • – a lapozó rendszer itt nem használható, a legtöbb blokk kisebb a tipikus lapméretnél

    • – dinamikus memóriahozzárendelés

A Windows 2000 memóriakezelése

  • W2K virtuális címtér

    • – minden processzusnak egy 32 bites címtere van

      • 2 GB felhasználó processzusoknak

      • 2 GB a rendszernek, melyet az összes processzus megosztva használhat

  • W2K lapozórendszer

    • – egy lap a következő állapotokban lehet:

      • elérhető

      • lefoglalt

      • bizományban