Ce este paginarea?
Paginarea este un mecanism de stocare care permite sistemului de operare să recupereze procesele din stocarea secundară în memoria principală sub formă de pagini. În metoda paginării, memoria principală este împărțită în blocuri mici de dimensiuni fixe de adresă fizică, care se numesc cadre.
Dimensiunea unui cadru trebuie păstrată la fel ca cea a unei pagini pentru a avea o utilizare maximă a memoriei principale și pentru a evita fragmentarea externă. Paginarea este utilizată pentru un acces mai rapid la date și este un concept logic.
În acest tutorial, veți învăța
- Ce este paginarea?
- Ce este Segmentarea?
- Paginare vs. segmentare
- Avantajele paginării
- Avantajul segmentării
- Dezavantaje ale paginării
- Dezavantaje ale segmentării
Ce este Segmentarea?
Metoda de segmentare funcționează aproape similar cu paginarea, singura diferență dintre cele două este că segmentele au o lungime variabilă, în timp ce, în metoda de paginare, paginile sunt întotdeauna de dimensiuni fixe.
Un segment de program include funcția principală a programului, structurile de date, funcțiile de utilitate etc. Sistemul de operare menține o tabelă de hărți a segmentelor pentru toate procesele. De asemenea, include o listă de blocuri de memorie gratuite împreună cu dimensiunea, numerele de segmente și locațiile sale de memorie din memoria principală sau memoria virtuală.
DIFERENȚE CHEIE:
- O pagină are dimensiunea blocului fix, în timp ce un segment este de dimensiune variabilă.
- În paginare, hardware-ul decide dimensiunea paginii în timp ce dimensiunea segmentului este specificată de utilizator.
- Tehnica de paginare este mai rapidă pentru accesul la memorie, dar segmentarea este mai lentă decât metoda de paginare.
- În paginare, utilizatorul oferă doar un singur număr întreg ca adresă în timp ce în segmentare, există disponibilitatea multor spații de adrese independente
- Tabelul de pagini stochează datele paginii în timp ce Tabelul de segmentare stochează datele de segmentare.
Diferența dintre paginare și segmentare
Iată diferențele dintre modul de paginare și metoda de segmentare:
Paginarea | Segmentare |
O pagină are dimensiunea fixă a blocului. | Un segment este de dimensiune variabilă. |
Poate duce la fragmentarea internă. | Poate duce la fragmentarea externă. |
În paginare, hardware-ul decide dimensiunea paginii. | Dimensiunea segmentului este specificată de utilizator. |
Un spațiu de adrese de proces este împărțit în blocuri de dimensiuni fixe, care se numește pagini. | Un spațiu de adrese de proces este rupt în blocuri de dimensiuni diferite numite secțiuni. |
Tehnica de paginare este mai rapidă pentru accesul la memorie. | Segmentarea este mai lentă decât metoda de paginare. |
Tabelul de pagini stochează datele paginii | Tabelul de segmentare stochează datele de segmentare. |
Paginarea nu facilitează partajarea procedurilor. | Segmentarea permite partajarea procedurilor. |
Paginarea nu reușește să distingă și să securizeze procedurile și datele separat. | Segmentarea poate separa procedurile și datele sigure. |
Spațiul adreselor de paginare este unidimensional | În segmentare, există disponibilitatea multor spații de adrese independente |
În paginare, utilizatorul furnizează doar un singur număr întreg ca adresă, care este împărțit de hardware într-un număr de pagină și decalat. | În metoda de segmentare, utilizatorul specifică adresa în două cantități 1) numărul segmentului 2) offset. |
Avantajele paginării
Iată care sunt avantajele / avantajele utilizării metodei de paginare
- La nivel de programator, paginarea este o funcție transparentă și nu necesită intervenție.
- Cadrele nu trebuie să fie contigue.
- Algoritm de gestionare a memoriei ușor de utilizat
- Schimbarea este ușoară între pagini de dimensiuni egale și cadre de pagină.
Avantajul segmentării
Iată care sunt avantajele / avantajele segmentării:
- Simplu de mutat segmente decât întregul spațiu de adrese.
- Absența fragmentării interne ca fragmentare externă trebuie făcută.
- Tabelul de segmente are o dimensiune mai mică în comparație cu tabelul de pagini din paginare.
- Dimensiunea medie a segmentului este mai mare decât dimensiunea reală a paginii
- Oferiți protecție în cadrul segmentului
- Nu oferă fragmentare internă
- Tabelele de segmente utilizează memorie mai mică decât paginarea
- Deoarece oferă tabelul cu segmente mici, referința la memorie este simplă, ceea ce se pretează la partajarea datelor între procese.
Dezavantaje ale paginării
Iată, dezavantajele / dezavantajele paginării:
- Paginarea provoacă fragmentarea internă a sistemelor mai vechi.
- Timpi mai mari de căutare a memoriei în comparație cu segmentarea
- Poate provoca fragmentarea internă
- Algoritm complex de gestionare a memoriei
- Tabelele de pagini consumă memorie suplimentară.
- Paginarea pe mai multe niveluri poate duce la referința memoriei.
Dezavantaje ale segmentării
Iată, dezavantajele / dezavantajele segmentării:
- Dimensiunea neegală a segmentelor nu este bună în cazul schimbării.
- Portarea Linux către diferite arhitecturi este dificil de procesat, deoarece oferă suport foarte limitat pentru segmentare.
- Cere intervenția programatorului.
- Este greu să alocați memorie contagioasă partiției, deoarece are o dimensiune variabilă.
- Acesta este un algoritm costisitor de gestionare a memoriei.