Szegmentált módon szervezi a virtuális memóriát
1. gyakorlati munka
A "Operációs rendszerek"
Témakör: "A virtuális memória szervezésének különböző módszereinek elemzése"
A munka előrehaladása:
1. Az elméleti információk megismerése.
2. Tanulmányozza a virtuális memória rendszer működését.
3. Adjon összehasonlító leírást a virtuális memória szervezet szegmentált és lapozott módszereiről.
4. Válaszolj a vezérlő kérdésekre.
Szegmentált, oldalas és szegmens-oldalas memóriaorganizáció
Szegmentált módon szervezi a virtuális memóriát
A szegmensnév sorszámának átalakítását a programozási rendszer végzi. Minden szegmens esetében a programozórendszer jelzi a hangerőt. Az operációs rendszernek ismernie kell, hogy a szükséges mennyiségű memóriát lefoglalhassa. Az operációs rendszer a szegmenseket a memóriába helyezi, és minden szegmens számára nyilvántartást vezet a szegmens helyéről. A memóriában lévő feladat szegmenseinek aktuális helyére vonatkozó összes információ általában egy szegmens táblájára van korlátozva, gyakrabban az ilyen táblázatot a feladatszegmensek leíró táblázataként hívják. Minden feladatnak saját szegmens táblája van. Ezeket a táblákat sokszor a szegmensek leíró tábláinak nevezik, mert a táblázatos elem természetesen leírja a szegmens helyét.
Keresés a szabad hely által használt egyik a fent említett memória vezérlő munka tudományok (alkalmazandó szabály „első-fit” és „nagyon helytelen” fragmentumok). Ha elegendő mennyiségű szabad memória töredékek nem, de mégis, az összeg a szabad fragmentumok meghaladja a memória követelményeket az új szakasz, elvileg akkor lehet alkalmazni „memória tömörítő” ebből már tárgyalt a „szakaszok rögzített határait” szakasz "Memóriaelosztás statikus és dinamikus partíciók segítségével".
Ideális esetben a szegmens mérete legyen kellően kicsi, hogy lehet helyezni egy random access memory felszabadult töredékek, de elég nagy ahhoz, hogy tartalmazza a teljes része a program logikáját annak érdekében, hogy minimálisra csökkentsék a szegmensek közötti kezelést.
A helyettesítési probléma megoldása (a szegmens meghatározása, amelyet külsõ memóriába kell áthelyezni vagy egyszerûen új helyére kell cserélni) a következõ tudományágakat használják:
- A FIFO szabály (First In First Out - az első, aki elsőként érkezik és kiesik);
- szabály LRU (legkevésbé használt - hosszabb, mint mások kihasználatlan);
- LFU szabály (leggyakrabban használt - kevésbé általánosan használt);
- véletlenszerű szegmens kiválasztása.
A multiprogramozási mód megszervezésében a legfontosabb probléma a memória védelme. Annak biztosítása érdekében, hogy a futó alkalmazások ne károsítsák magukat az operációs rendszert és más számítási eljárásokat, szükséges, hogy a szegmensek tábláihoz való hozzáférésük módosításuk céljából csak az operációs rendszer kódja számára legyen elérhető. Ehhez az operációs rendszer kódját bizonyos kiváltságos üzemmódban kell végrehajtani, amelyből a szegmensleírók manipulálhatók, míg a normál alkalmazási programon kívüli kimeneten lévő memória megszakad. Minden alkalmazott feladatnak csak a saját és az általános szegmensekhez kell hozzáférnie.
A virtuális memória szegmentált módszerével számos érdekes lehetőség jelenik meg.
Először is, amikor egy programot tölt be a végrehajtásra, akkor a memóriába nem teljesen, de "szükség szerint" helyezheti el. Sőt, mivel a legtöbb esetben az algoritmus által, amely a programkód fut, elágazó helyett lineáris, attól függően, hogy a kezdeti adatok, néhány része a programnak, elrendezett különálló szegmensek, nem lehet használni; így nem töltheti őket be a RAM-ba.
Másodszor, egyes szoftver modulok megoszthatók. Mivel ezek a szoftvermodulok szegmensek, viszonylag könnyű megszervezni az ilyen közös szegmensekhez való hozzáférést. A szegmens a megosztott kódot a memóriában tároljuk, egy példányban, és néhány asztal szegmens leíró mutatókat fogja végrehajtani feladatokat, mint megosztott szegmenseket.
Ezért a következő adatlöket módon memóriahelyen problémák már a módszer, amelyben az összes töredéket a probléma tekinthető egyenlőnek (azonos razmepa), és a fragmens hosszának ideális esetben többszöröse kettő valamely hatványa, annak érdekében, hogy az összeadást lehet cserélni konkatenáció műveletek (egyesítés). Ez egy oldalalapú módja a virtuális memória szervezésének. Ezt a módszert alaposabban megvizsgáljuk.