Cunoaște Intuit, curs, organizarea fizică și logică de spațiu de adrese
Microprocesorul poate funcționa în două moduri: reale și protejate.
Acest mod este utilizat în mod tipic la etapa inițială de pornirea calculatorului pentru a comuta în modul protejat.
Segmente ale microprocesorului. care rulează în modul protejat. caracterizat printr-un număr mare de parametri. Prin urmare, de uz general, microprocesoare pe 32 de biți de informații sunt stocate în segmente
8-byte structura de date special numit un descriptor. și pentru registrele de segment fix funcție principală - identificarea tag-ul de locație.
Structura descriptorul segmentului este prezentat în Fig. 3.3.
Fig. 3.3. Structura Descriptor Segment
Am o structură va lua în considerare, mai degrabă decât descriptorul de format, deoarece trecerea de la microprocesor i286 la locația de IP pe 32 de biți de câmpuri individuale descriptorului a pierdut armonia și a devenit să ia parte sub forma de „patch-uri“, cu scopul de a stabili o creștere mecanică în exercitarea acestor domenii.
Elementul de valoare controlată de un bit al descriptorul atribut G (Granularitate - granularitate sau granularitate.):
Astfel, un segment poate avea o dimensiune de până la 1 octet în intervalul de la 1 octet până la 1MB (la G = 0). Când pagina ecran 2 12 = 4 octeți poate fi setat volumul segmentului de până la 4 GB (la G = l):
acces Byte definește regulile de bază pentru manipularea segmentului.
Un câmp DPL din două cifre (Descriptor Level Privilege) indică una din patru posibile (0 la 3) niveluri descriptor privilegiu. stabilirea accesului la un segment dintr-un alt tip de program (nivel 0 este cel mai înalt nivel de privilegii).
Tratamentul biții A (Accesată) este setat la „1“ pentru orice adresa segmentului. Sistemul de operare folosește pentru a ține evidența segmentelor. la care cea mai lungă inactivitate.
Să presupunem, de exemplu, fiecare al doilea sistem de operare 1 descriptorilor toate segmentele resetează biți A. În cazul în care după un anumit timp pentru a încărca în memorie un nou segment, locul pentru care nu este de ajuns, sistemul de operare determină „candidați“ pe pentru a șterge o parte din RAM printre acele segmente în care Și până la acest moment nu a fost stabilit biții descriptorilor „1“, adică, la care nu a existat nici un tratament pentru ultima oară.
câmp de tip Byte determină atribuirea de acces și utilizare segment. Dacă bitul S (System - 4 biți de acces octet) este egal cu 1, atunci acest descriptor descrie segmentul de memorie reală. În cazul în care S = 0. că acest descriptor descrie un obiect special de sistem. care poate sau nu poate fi un segment de memorie, de exemplu, un gateway de apel utilizat la comutarea sarcinilor sau descriptorii locali LDT tabel descriptor. atribuirea biți <3. 0> acces tip segment octet este determinat (fig. 3.4).
Fig. 3.4. Formatul unui câmp de acces de tip octet
Segmentul de cod. biți subordonare sau coordonare, C (Conformarea) definește norme suplimentare pentru manipulare care protejează segmentele de software. Când C = 1, acest segment este un segment de cod slave. În acest caz, el a lipsit în mod deliberat de protecția privilegiu. Acest instrument este convenabil pentru organizarea, de exemplu, rutine care ar trebui să fie disponibile pentru toate rulează în tava de sistem. Când C = 0 - un segment de cod obișnuit; citirea de biți R (citibil) determină dacă este posibil să se aplice segmentului numai pentru performanța sau performanță și citire, de exemplu, constante ca date prin prefixul segmentului de înlocuire. Când R = 0 permis numai din comanda de eșantionare segment pentru a le efectua. Când R = 1 este permis să citească date din segmentul.
segment de cod de intrare este interzisă. Orice încercare de a scrie o întrerupere software-ul apare.
Segmentul de date:
- ED (Expand Jos) - direcția de extensie biți. Când ED = 1, acest segment este un segment al stivei și compensate în segmentul trebuie să fie mai mare decât dimensiunea segmentului. Când ED = 0 - segment este datele reale (offset trebuie să fie mai mică sau egală cu dimensiunea segmentului);
- bit a scrie permite W (inscriptibil). Când W = 1 este permisă schimbarea segmentului. În cazul în care W = 0 segment de intrare este interzisă, atunci când încearcă să scrie la întrerupere software-ul de segment are loc.