Extras din notiță
Final: (2)
1. Paginarea la Pentium
-REZOLVARE:
Asa cum s a discutat in capitolul 4, segmentarea cu paginare pare a fi cea mai eficienta metoda de gestiune a memoriei in sistemele multitasking. Avantajul oferit de paginare consta in dimensiunea uniforma a paginii, fapt ce faciliteaza operatiile de incarcare evacuare. Desigur, spre deosebire de segmente, paginile nu sunt legate de logica programului, deci nu este obligatorie existenta simultana a tuturor paginilor in memoria fizica.
Proiectantii sistemului mentionat au folosit doua niveluri de tabele pentru conversia adresei liniare (produsa de mecanismul de segmentare) in adresa fizica. Aceste tabele sunt numite Page directory (director de pagini) si page table (tabel de pagini). Realizarea mecanismului de paginare foloseste registrul de comanda CR3, care contine adresa baza pentru directorul de pagini. Acest tabel contine un numar de pina la 1024 intrari (210) de cate 32 biti, indicand adresa baza a unuia din cele maximum 1024 tabele de pagina ce pot fi manipulate de catre sistem. Numele tabelului de pagina continind locatia de memorie la care se face referirea este continut in cei 10 biti mai semnificativi (31 22) ai adresei liniare.
O data stabilit tabelul de pagina, numele paginii in cadrul acestuia este indicat de urmatorii 10 biti (21 12) ai adresei liniare de 32 biti. In locatia de 32 biti astfel indicata a tabelului de pagina se afla adresa fizica de inceput a paginii de memorie fizica in discutie. Cum paginile au dimensiunea fixa de 4 kocteti (212 octeti), cei mai putin semnificativi 12 biti ai adresei de inceput a uinei pagini din memoria fizica sunt 0. Adresa fizica a locatiei adresate se obtine adunind la adresa fizica de inceput a paginii offsetul de 12 biti in cadrul paginii, offset continut in cele 12 pozitii mai putin semnificative (11 0) ale adresei liniare.
Cuvintele continute de catre directorul de pagina au formatul din fig. 6.5a, iar fig. 6.5b prezinta formatul informatiilor din tabelul de pagini. Bitii A (accessed) si P (present) au semnificatiile descrise anterior. D (dirty "murdarit") este facut 1 inaintea unei operatii de inscriere in memoria alocata paginii respective. U/S indica functionarea in mod utilizator (user) sau supervizor (supervisor), modul utilizator fiind caracterizat de nivel al privilegiului egal cu 3. R/W defineste drepturile de acces in modul utilizator: R/w = 1 permite citirea/inscrierea, pe cand R/W = 0 permite doar citirea paginii referite.
Fig. 6.4 Mecanismul de paginare utilizat in sistemul iAPX 386
31 12 11 9 8 7 6 5 4 3 2 1 0
|Adresa in tabelul |Rezervat pt.|0|0|D|A|0|0|U/S|R/W|P|
|de pagina |sist. op. | | | | | | | | | |
a. Cuvint din directorul de pagini
31 12 11 9 8 7 6 5 4 3 2 1 0
|Adresa de inceput |Rezervat pt.|0|0|D|A|0|0|U/S|R/W|P|
|a paginii |sist. op. | | | | | | | | | |
2. Alinierea structurilor de date uzuale
REZOLVARE:
Adresarea memoriei este bazata pe conceptul de segmentare, intregulspatiu de adresare fiind compus din segmente a caror lungime variaza intre 1 koctet si 64 kocteti. Numarul maxim permis de segmente este de 16 in modul real si de 16 K (214) in modul protejat.
Preview document
Conținut arhivă zip
- SMP - Subiecte Partial si Final.doc