Általában a folyamatok figyelmen kívül hagyják, hogy mennyi memória van a gépben valójában:
- Általában a virtuálistól való megkülönböztetés.
-A programutasításoknak és adatoknak általában az operatív memóriában kell tartózkodniuk.
Virtuálisnál-> Éppen a végrehajtás alatt levők az operációs tárba atöbbi – program és adatok a háttértárolón találhatók
-A háttéregiszeterek tartalmának változtatása az op. Rendszer feladata volt.
1. 2 Áthelyezhető címzés:
-Az op.- rendszerek, amelyek-, amikor egyes részek csak akkor töltődtek be a memóriába, ha szükség volt rájuk – így a memória címtartomány végrehajtása során változik.
A megoldás: a fordítóprogram nem közvetlen fizikai címeket generált, hanem a prg. elejéhez relatív címeket, - ehhez csak azt kell tudni, hogy a memóriában, hol kezdődik a prg.
Kezdőcím (relatív) vagy logikai cím megkapjuk a kereset memória rekesz = fizikai címet ennek támogatása: Bázisregiszter
A memória műveleteknél a proci hozzáadja automatikusan a bázisregiszter tartalmát az utasításban szereplő címhez: Az így kapott összeg lesz a fizikai memória cím, amelyhez fordul.
Ki határozza meg a progi kezdőcímét:
Az op. Rendszer, mert ő tudja hol van szabad hely a memóriában.
Rajz 1.
Általános címzés.
Nagyobb progik esetén à úgy szervezték a programozók à nagyobb blokkokból álljanak
melyek külön külön elhelyezhetők
Átlapoló Ovrlay Technika – Átlagoló modul segítségével a programrészek között az átkapcsolást végző modulnak kell tartózkodni - egyike hol a másik rész megy a memóriában a többi a háttérben várakozik.
Rajz2. 170. old
3. Tárcsere (swapping)
Program futtatás: több felhasználó egy időben egymással függetlenül tudja végezni.
Minden felhasználó kap egy időszelepet ha felhasználja és az lejárt az operációs rendszer a háttértárba másolja és onnan betölti a köv. felhasználóhoz tartózó memóriatartalmat. Így mindegyik felhasználó úgy dolgozhat, mintha az egész memória az övé lenne. A memória tartomány ki és be másolását swapping-nak hívjuk.
A keletkezett csereállományt cserefájlnak nevezzük. (swapp file),
Hátránya: Lassú, ha az időszelet kicsi, akkor a másolgatással megy el az idő
Megoldása: ha az op. Rendszer okos –csak azokat a memóriarészeket mozgatja, amelyek változnak.- bonyolult folyamat
3.1 Állandó partíció
Ha a memóriaterületeket partíciókra osztjuk azaz egymástól független területe több progi tartható a memóriában.
Egy-egy partíció à egy őt birtokló folyamat számára mintha önálló lenne à partíción belül kell átlagoló vagy tárcsere technika alkalmazása.
Túl kicsi Mekkora egy partíció è
Túl nagy
Ha sok üres hely à belső elaprózódás (internal fragmentacion)
Partiucionált rendszer è
Rajz3. 172.old.
Ismerni kell a partíció méretét és annyi bázisregiszter háttérregiszter párt kell számontartani, vizsgálni, ahány partíció van.
Partíciók kijelölése: folyamatok számára, hiszen nem jönnek megfelelő sorrendben.
Az operációs rendszer döntheti el, hogy a progik közül melyik kapjon felosztott partíciót, vagy várakozási sor è rossz tárkihasználás
3.2 Rugalmas partíciók
Ha a partíciók számát nem rögzítjük, és nagyságát nem rögzítjük szigorúan akkor rugalmasan alakítjuk. Pl.: partíció méret 2 hátrány egész számú többszöröse (pl 2048)
itt egy új veszély è új folyamat memóriaigénye nagyobb mint a régié - igy nem tölthető be, ha kisebb akkor marad szabad hely è így lyukak alakulnak ki.
è külső elaprózódás (external fragmatation) è megoldás è tömörítő algoritmus fut è ez lassít è itt a felhasználó türelmetlen (reset gomb)
Rajz 174. old.
Rugalmas partíciók és a tömörítés
4. Lapozás (paging)
è programok folyamatos elhelyezése a memóriában. Osszuk fel a operatív memóriát területre: egyforma és viszonylag kisméretű egységekre, lapokra.
Elég, ha összességében van annyi hely, amennyit a folyamat igényel
Erre a célra: (laptáblák!)
Laptáblához è hozzárendel è fizikai lapot
Rajz 176. old.
5. Virtuális tárkeresés: háromféle probléma
-címzési kapacitás olyan nagy amekkorát ki nem akarunk kiépíteni.
-nincs szükség, hogy a programkód mindig a memóriában maradjon.
-betöltési, felfüggesztési műveletek felgyorsultak- virtuális tárkezelés