Memory megosztása

Az egyetlen feladat, a fő memória két részre oszlik: egyik része - az operációs rendszer (rezidens monitor, kernel), és a második - az éppen futó programot időben. A multitasking rendszerek, a „felhasználó” része a memória kell lefoglalni, hogy több folyamat. Ezt a feladatot az elosztó az operációs rendszer dinamikusan, és ismert, mint a memória kezelése (memória kezelése).







Hatékony memória kezelése létfontosságú többfeladatos. Ha a memória csak egy kis számú folyamatok, a legtöbb időt, ezeket a folyamatokat képes lesz várni a befejezését IOPS, és a CPU használat alacsony. Így előnyösen az effektív memória kiosztás, amely képes befogadni az ott annyi folyamatokat.

Ha figyelembe vesszük a különböző mechanizmusok és stratégiák kapcsolatos memória kezelése, hasznos, hogy emlékezzen a követelményeknek kell megfelelniük:

Egy többfeladatos rendszerben, hozzáférhető fő memória van osztva több eljárásra. Jellemzően a programozó nem tudja előre, hogy milyen programokat lesz rezidens a fő memóriában, míg a program ők fejlesztették. Ahhoz, hogy maximalizálja a CPU kívánatos, hogy számos folyamat végrehajtásra kész, amihez képes betölteni az aktív folyamatok a fő memóriát. Az a követelmény, hogy a program kirakott újra betölteni ugyanazon a helyen, hol található, és a munka, nem lenne túl erős a kényszer. Nagyon kívánatos, hogy lehet mozgatni (áthelyezni) a memória másik területre. így nem lehet tudni, hogy pontosan hol a program felkerül. Ezen túlmenően a program lehet mozgatni egyik tároló helyről a másikra, ha csere.

A modulok hozhatók létre és összeállított egymástól függetlenül minden linkeket a modult a második a rendszer felbontása a futás során.

Különböző modulok lehet kapni különböző fokú védelmet (csak olvasható, a teljesítmény esetén) miatt igen mérsékelt fölött.

Lehet, hogy a használata a mechanizmus a közös modulok különböző folyamatok. A fő előnye a megosztás a modulban szint „, hogy azok nem felelnek meg a kilátást a programozó a feladatra, és ezért könnyebb-e vagy sem szeretne osztani egy adott modult.

Eszköz, amely a legjobban megfelelnek ezeknek a követelményeknek a szegmentáció, ami lesz szó ebben a fejezetben többek között a memória kezelési technikák.







Számítógép memória osztozik legalább két szintje van: primer és szekunder. A fő memória gyors hozzáférést biztosít a viszonylag magas ár; továbbá, hogy illékony, azaz Nem nyújt hosszú távú tárolására. Másodlagos memória lassabb és olcsóbb alapanyagok és általában nem illékonyak. Következésképpen, a másodlagos háttértároló lehet használni hosszú távú tárolására programok és adatok, a fő memória a kapacitás - tárolására programok és adatok jelenleg használatban.

Ebben a kétszintű rendszer struktúráját válik a fő probléma a szervezet közötti információáramlás az elsődleges és másodlagos memória. A felelősség ezek a folyamatok hozhatók külön programozó, de nem praktikus és nem kívánatos az alábbi okok miatt:

- A fő memória nem elegendő a program és annak adatait.

- A multitasking környezetben, a programozó nem ismeri a tervezési program, hogy mennyi hely lesz elérhető, hogy a program, és ahol a memória található.

Így nyilvánvaló, hogy a probléma az elmozdulás a két információtároló réteget kell rendelni az operációs rendszer. Ez a probléma a memória kezelése entitás.

A mikroprocesszor i80x86 nincs két, hanem négy szintje jogosultságokat. Gyakran privilégium szintek elnevezése gyűrűk védelmet, mert néha segít megmagyarázni a működési elve a mechanizmus; így mondja egyes részein a program modul „lefut a biztonsági gyűrűt egy ilyen számot.”

A fő rendszer tárgyak a processzor kezelni, amikor működő biztonságos módban, leírók. szegmens leíró információkat tartalmaznak a jogosultsági szintet a megfelelő kód szegmens vagy adat. Privilege szinten végrehajtott feladatok által meghatározott kiváltságokat területén található, a leíró a jelenlegi kódot szegmensben. Emlékezzünk, hogy minden egyes szegmensben leíró (lásd. A 3.3 ábrát) van egy mező a byte DPL hozzáférési jogok, amely meghatározza a jogosultsági szinten kapcsolódó szegmensét is. Így a mező DPL lesz az aktuális kódot szegmens mező C PL2. Ha telefonál, hogy minden szegmensben a megfelelő kiválasztó jelzi a kért szintje RPL3 jogosultságokat (lásd. Ábra. 3.4).

Egy-egy feladat a szegmensek különböző szintű kiváltságok és bizonyos pillanatokban időt kerülnek végrehajtásra vagy feldolgozott szegmensek a megfelelő szintjének jogosultságokat. Mechanizmus, hogy ellenőrizze a kiváltsága dolgozó helyzetben, hogy lehet nevezni szegmensek közötti átmeneteket (fellebbezést). Ez az adatokhoz való hozzáférés szegmens vagy verem szegmens A szegmensek közötti átviteli vezérlő esetében a megszakítás (és kivételek) a CALL utasítás, a JMP, INT, IRET, RET. Az ilyen szegmensek közötti fellebbezések bevonásával két szegmens: a célszegmentum (amelyre utalunk), és az aktuális kódot szegmens, ahol fennáll a fellebbezés.

Az első lépés létre egy aktív folyamat, egy olyan program, betöltve a fő memóriába és a folyamat kialakítása képet. Az alkalmazás áll számos összeállított, vagy össze modulokat a tárgykód formájában. Ezek a modulok vannak kapcsolva, hogy megoldja az összes a köztük lévő kapcsolatok, valamint felhívja a könyvtári rutinok (amely lehet ágyazni a program vagy megosztható kód által benyújtott operációs rendszer). A fő funkciója a hozzáférés és elosztási rendszer memória használt rakodógépek és kapcsolókat. Feladatuk, hogy megszervezze a kapcsolatot az elhelyezés és egy külön alkalmazás modul (folyamat).

Memory megosztása




Kapcsolódó cikkek