Tema 10. O organizare a paginilor. Segmentarea organizației. Organizația din segmentul de pagini. Organizarea de pagini pe două niveluri
Organizarea segmentată a memoriei virtuale
Dinamica paginii de organizare a memoriei este o organizare a paginii RRP cu alocare dinamică a paginilor de proces în funcție de cererile lor (Intel 386 - dimensiune pagină 4 Kbytes)
- Cantitatea maximă de programe care rulează, simplitatea programării lor.
- Reducerea semnificativă a fragmentării timpului, utilizarea maximă a RRP și nivelul maxim de multiprogramare.
- Partiționarea arbitrară a procesului în pagini nu ia în considerare localitatea programelor și nu elimină complet fragmentarea temporară și, de asemenea, creează dificultăți în partajarea și protejarea programelor și a datelor comune.
- Complexitatea gestionării memoriei, a cheltuielilor de stocare a tabelelor de afișare a paginilor. Cu seturi de pagini și dimensiuni ale paginilor suboptimale, este posibilă alunecarea proceselor ("schimb continuu").
Pentru a rezolva problema alunecării paginilor, un rol important îl are nu numai strategia de ejecție, ci și dimensiunea paginii.
Următorii factori influențează alegerea dimensiunii optime a paginii:
1. O mărime mică duce la o creștere a tabelului de cartografiere a paginilor, numită fragmentare a tabelei.
2. O dimensiune mare a paginii conduce la faptul că în OP sunt plasate comenzi și date, la care nu s-au efectuat apeluri.
3. I / O va fi eficient pentru dimensiuni mari de pagini.
4. Proprietatea localității este distribuită, de regulă, unor părți mici de programe.
5. Pentru mărimea paginilor mici, pierderea fragmentării interne este redusă.
Concluzie: nevoia de dimensiuni mici ale paginilor.
Rezultatele experimentale ale comportamentului programului în VS cu organizarea paginii de prezentare VP:
1. Când începe procesul, acesta se referă la un procent mai mare din paginile sale.
2. Cu volumul constant al OD alocat ca mărimea paginii crește, numărul de întreruperi crește datorită lipsei paginii cerute.
3. Cu creșterea numărului de blocuri alocate procesului (cadre pagini), numărul de întreruperi ale paginilor scade, totuși, atunci când procesului îi este alocat un număr suficient de blocuri, scăderea întreruperilor se stabilizează (efect de saturație).
4. Numărul de comenzi executate pe pagină înainte de transferul controlului către o altă pagină este de obicei mic.
Într-un sistem cu o organizație de memorie segmentată, se elimină o restricție privind mărimea blocului fix și se realizează partajarea arbitrară corespunzătoare a AP-ului procesului în segmente.
Segmentul este o unitate de partiționare logică a programelor (procedură, modul, zonă de date), care are o dimensiune și nume variabile. Amintiți-vă că o pagină este o unitate fizică de memorie.
Organizarea pe segmente oferă o separare simplă și firească a segmentelor comune între mai mulți utilizatori și protejarea segmentelor prin legarea drepturilor de acces, împărțită în:
și diferitele combinații ale acestora.
În organizarea segmentului, toate segmentele de dimensiuni diferite pot fi amplasate în secțiunile non-contigue ale RRP.
1. Reducerea fragmentării timpului, deoarece localitatea programelor este în mod natural luată în considerare.
2. Combinați cu ușurință cu utilizarea proceselor comune, deoarece datele și programul se află într-un singur bloc.
3. Abilitatea de a oferi un control clar al accesului la segment din partea proceselor comune și de protecție completă a acestora.
1. Managementul și protecția mai complexă a PO. Nu există suficiente perechi de registre de frontieră, dar sunt necesare chei pentru protejarea segmentelor individuale de memorie.
2. Poate exista o fragmentare temporară pentru dimensiuni mari de proceduri și date.
S este numărul segmentului; P- numărul paginii; d este offsetul.
Avantajele unei organizații de segment de pagină:
- O organizație combinată este eficientă pentru programe mari (proceduri) care au o localitate proprie.
- Este mai eficientă utilizarea colectivă a segmentelor partajate (partajate), deoarece rândurile din diferite tabele de segmente vor indica un tabel de pagini al segmentului partajat.
O organizație de pagini pe două niveluri este formată din hiper-pagini denumite în mod tradițional segmente, care, la rândul lor, sunt împărțite în pagini.
Un exemplu. CE seria 2 și IBM PC
Paginile 2 - 4 kb; hiperpoziție 64 - 1024 kb
În general, informațiile sunt în mod constant la un nivel inferior al structurii ierarhice a memoriei, iar mecanismul de gestionare a ierarhiei asigură că informațiile cele mai susceptibile de a fi procesate sunt transmise la nivelul superior. În acest caz, stratul superior acționează ca o memorie cache în raport cu nivelul inferior. Inițial, ideea a fost luată în considerare doar pentru memorie între CPU și OP, apoi răspândită într-un sens general la ierarhia memoriei.