-
Notifications
You must be signed in to change notification settings - Fork 1
A memória programok számára látható része
zalatnaicsongor edited this page Sep 14, 2010
·
7 revisions
-
Allokálás
- Memory objecten keresztül Pointer objectet hozunk létre (Factory)
- Meg kell adni, hogy hány byte-ot akarunk allokálni, és automatán keres egy címet a memóriában, ami után van elég hely
- Ha nincs, Memória kompaktálása.
- Az allokált Pointer objektumot visszaadjuk, illetve elmentjük a Memory-n belül egy tömbbe, hogy kompaktáláskor tudjuk a kezdőcímét módosítani
-
Deallokálás
- Pointer objecten keresztül.
- Remove-olja magát a Pointereket tároló Vectorból a Memory objektumon belül
-
Olvasás
- Pointer objecten keresztül
- A pointer által mutatott címről (+ opcionális eltolás a kezdőcím+méretig) kiolvas egy byte-nyi adatot
- A cache-el kommunikál, a Cache objektum pedig intézi a dolgait (ha bentvan, kiszolgálja, ha hiány van, megpróbálja beolvasni, amit pedig már a Memory object intéz)
-
Írás
- Pointer objecten keresztül
- A pointer által mutatott címrre (+ opcionális eltolás a kezdőcím+méretig) ír egy byte-nyi adatot
- A cache-el kommunikál, a Cache objektum pedig intézi a dolgait
-
Indirekt címzés
- Memory objecten keresztül
- Kér egy értéket, ami a keresendő pointer címe, majd visszaadja ezt a Pointer objektumot
- Példa: kiolvassuk egy pointer értékét, de az pont egy cím, azt megkeressük a Memory objectben, majd annak is kiolvassuk az értékét, és az már a keresett érték lesz.