Biztonságos processzor működési mód

Védett mód tervezték multitasking, amely megköveteli a védelem a források egy probléma lehetséges hatásait az egyéb (részfeladatok jelentette az alkalmazás és az operációs rendszer feladatot).

A fő forrás védett memória.

Memória védelem alapul szegmentáció, attribútumok és kiváltságokat.

Szegmens - egy blokk a memóriát. A maximális szegmens méret - 4 GB. A memória szegmensek kiosztott feladatokat az operációs rendszer, de a valós módban, bármilyen feladat felülírhatja a szegmens regiszterek meghatározó pozícióját a szegmensben a memóriát, és „mászni” a másik adatterület vagy kódot. A védett módban, a szegmensek is elosztott operációs rendszer, de az alkalmazás Csak engedélyezett neki memória szegmensek, kiválasztja azokat a választókat az előre kialakított szegmens leíró táblákat.

memória védelem alkalmazásával szegmentálás nem engedi meg:

# 159; szegmenseket alkalmazunk más célokra (például, hogy megpróbálja értelmezni az adatterület, mint az utasítás kódok);

# 159; jogait sérti hozzáférés (hogy módosítsa a szegmens csak olvasható, lásd a szegmens, amely nem elegendő jogosultsággal, stb ...);

# 159; módosítani a tartalmát a leíró táblázat (azaz paraméterei szegmensek), nincs kielégítő mennyiségű jogosultságokat.

Négy hierarchikus kiváltság rendszert úgy tervezték, hogy ellenőrizzék a használatát privilegizált utasítások és a leírók elérése. hozzáférési szintek vannak számozva 0-3, a nulla szint felel meg a maximális (korlátlan) hozzáférést képességek és fenntartott az operációs rendszer kernel. Level 3-nak a korlátozott jogokkal és általában az alkalmazás.

Jellemzők és asztalok

Global asztal (GDT) tartalmaz leírásokat elérhető az összes feladatot. Ez tartalmazza az összes fajta leírásokat, kivéve fogantyúk megszakítások és a csapdákat. A nulla eleme ebben a táblázatban nem használja fel a processzor.

A helyi asztal (LDT) lehetnek magán az egyes feladatokhoz, és tartalmazza szegmens leíró csak a problémák és kihívások átjárók. Szegmens érhető el a feladatot, ha a leíró jelenleg nem sem a GDT bármely LDT.

Ábra 3.10- adatszegmens leíró

Az attribútumok területén szegmensek a következő funkciókat:

# 159; A (Accessed) - kezelést. A = 0, hogy a szegmens nem volt kezelés A = 1- kiválasztó betöltve a szegmens vagy szegmens regiszter parancsot végzett vizsgálatokat ezekhez;

# 159; W (írható) - Felbontás (W = 1) vagy letiltja (W = 0), az adatok írása a szegmens;

# 159; E (Nagyítás Le) az E meghosszabbítási irányban = 0-ig, E = 1- lefelé kiterjesztés (verem, amelyben a kiszorított nagyobbnak kell lennie, mint a határérték);

# 159; DPL (Descriptor jogosultsági szint) -privilegii szegmens;

# 159; P (Present) - jelenléte a memóriában. Ha P = 1 szegmens leképezve fizikai memória P = 0 Nincs kijelzés;

# 159; B - határozza meg a felső határa a szegmens, B = 0-64 Kbyte, B = 1 maximális szegmens mérete 4 GB.

Kód szegmens leíró ábrán látható 3.12. Limit pontot az utolsó bájt, attribútum bitek értékei a következők:

# 159; C (megfelelésű, vagy alárendelés konformalitása). C = 1 a parancsot lehet végrehajtani, ha a jogosultsági szint (CPL) nem alacsonyabb leíró jogosultsági szint (DPL), C = 0 (koordináta szegmens), hogy ellenőrizzék a szegmens csak akkor lehet továbbítani, ha CPL = DPL;

# 159; R (olvasható) - felbontású (R = 1) vagy letilthatja (R = 0) olvasni szegmens.

Mert többfeladatos és többfelhasználós operációs rendszerek, fontos az a képesség, hogy a processzor a gyors váltást a feladatokat. Működés kapcsolási processzor feladatait (Task Switch Operation) megmenti az állam a processzor és a kapcsolat az előző feladatot, az új feladat betölti az állam, és elkezdi annak végrehajtását.

Task kapcsolás végzi szegmensek közötti ugrás utasítás (JMP) vagy (CALL) szerint a hardver és szoftver megszakítások és kivételek.

TSS leíró pont a szegmens, amely a teljes processzor állapotban (ábra 3.12).

Leíró probléma átjáró tartalmaz egy választó mutató leíró TSS.

Minden egyes feladat egy TSS. TSS szegmensek tartalmaznak processzor regiszterek képek, izolált verem a pointereket az hozzáférési szintek 0, 1 és 2, valamint a visszatérő összeköttetés TSS választó okozott problémákat. TSS szabad területen lehet használni belátása szerint az operációs rendszer. Az utolsó elem kell byte TSS OFFh

Lapozott memória kezelése

Oldal menedzsment (személyhívó) egy eszköz a virtuális memória lapozható kérelmet (Demand lapozható virtuális memória), és működik a memória, mint egy sor azonos méretű oldalakat. A kezelési idő az oldalon lehet jelen a fizikai memóriában, ki lehet engedni a külső (lemez) memória. Amikor hivatkozva a kisütött oldal memória a processzor kivételt állít #PF - oldalhiba és szoftver kivételkezelőt elvégzi a csere - „pumpáló” a hiányzó oldalt a lemezről. Pages nincs közvetlen kapcsolat a logikai felépítése az adatok vagy programok.

Lapozott memória kezelése lehetővé teszi, hogy egyszerre több feladatot a korlátozott mennyiségű memóriát, mert bármikor a memóriában kell tartani csak néhány oldalt az aktív feladat elvégzésére csere szükséges.

Biztonságos processzor működési mód
3.12 - Segment feladat állapota

processzor be fordítást elkerülő puffert TLB (Translation Look félre Buffer), amely rendelkezik intenzíven használt táblák sorokat.

A feldolgozók TLB gépelés egy négy asszociatív cache 32 vonalak átalakító táblázatok. Egy ilyen felbontású tárolhat információt sugárzott 128 Kbyte memóriával, amely lehetővé teszi, hogy a cache találati arány 98% -os, azaz mindössze 2% -a memória-hozzáférések igényel további utalásokat táblázatokat. A Pentium processzor külön TLB az utasítások és adatok, és a P6 puffer méret szerint elválasztjuk, és még mindig kiszolgált oldalak (4k + 2 Mbyte / 4 MB).

31 12 11 9 8 7 6 5 4 3 2 1 0