Vom discuta câteva diferențe între Paging și segmentare cu ajutorul diagramei de comparație de mai jos.
Diagramă de comparație
Bazele comparației | paginare | Segmentarea |
---|---|---|
De bază | O pagină are o dimensiune bloc fixă. | Un segment este de mărime variabilă. |
fragmentarea | Pagingul poate duce la fragmentarea internă. | Segmentarea poate duce la fragmentarea externă. |
Adresa | Adresa specificată de utilizator este împărțită de un procesor într-un număr de pagină și un offset. | Utilizatorul specifică fiecare adresă cu două cantități un număr de segment și offset (Segment limit). |
mărimea | Hardware-ul decide dimensiunea paginii. | Dimensiunea segmentului este specificată de utilizator. |
Masa | Căutarea pe pagini implică un tabel de pagini care conține adresa de bază a fiecărei pagini. | Segmentarea implică tabelul de segmente care conține numărul de segment și offset (lungimea segmentului). |
Definiția Paging
Paging este o schemă de gestionare a memoriei . Paging permite ca un proces să fie stocat într-o memorie într-o manieră non-contiguă . Procesul de stocare într-o manieră necontinuă rezolvă problema fragmentării externe .
Pentru a implementa paginarea, spațiile de memorie fizică și logică sunt împărțite în aceleași blocuri cu dimensiune fixă. Aceste blocuri de dimensiuni fixe de memorie fizică sunt numite cadre, iar blocurile de dimensiuni fixe de memorie logică sunt numite pagini .
Când un proces trebuie executat, paginile de proces din spațiul de memorie logică sunt încărcate în cadrele spațiului de adrese al memoriei fizice. Acum adresa generată de CPU pentru accesarea cadrului este împărțită în două părți, respectiv numărul paginii și offsetul paginii .
Definiția Segmentation
Ca și Paging, segmentarea este, de asemenea, o schemă de gestionare a memoriei . Acesta acceptă viziunea utilizatorului asupra memoriei. Procesul este împărțit în segmentele de mărime variabilă și încărcat în spațiul de adrese al memoriei logice.
Spațiul logic al adreselor este colecția de segmente de dimensiuni variabile. Fiecare segment are numele și lungimea . Pentru execuție, segmentele din spațiul de memorie logică sunt încărcate în spațiul de memorie fizică.
Diferențe cheie între paginare și segmentare
- Diferența de bază între paginare și segmentare este că o pagină are întotdeauna o dimensiune fixă a blocului, în timp ce un segment este de mărime variabilă .
- Pagingul poate duce la fragmentarea internă deoarece pagina este de dimensiune fixă a blocului, dar se poate întâmpla ca procesul să nu obțină întreaga dimensiune a blocului care va genera fragmentul intern din memorie. Segmentarea poate duce la fragmentarea externă, deoarece memoria este umplută cu blocurile cu dimensiuni variabile.
- În paginare, utilizatorul oferă doar un întreg întreg ca adresă care este divizată de hardware într-un număr de pagină și Offset . Pe de altă parte, în segmentare utilizatorul specifică adresa în două cantități, adică numărul segmentului și offsetul .
- Mărimea paginii este decisă sau specificată de hardware . Pe celelalte mâini, dimensiunea segmentului este specificată de utilizator .
- În paginare, tabela de pagini hartă adresa logică la adresa fizică și conține adresa de bază a fiecărei pagini stocate în cadrele spațiului de memorie fizică. Cu toate acestea, în segmentare, tabelul segmentului hartă adresa logică la adresa fizică și conține numărul de segment și offset (limita segmentului).
Concluzie:
Pagingul și segmentarea ambelor sunt schemele de gestionare a memoriei . Paging permite ca memoria să fie împărțită în bloc de dimensiuni fixe, în timp ce segmentarea împarte spațiul de memorie în segmente ale mărimii blocului variabil . Atunci când pagingul duce la fragmentarea internă, segmentarea duce la fragmentarea externă .