În sistemele de operare pentru computer, ce este un tabel de pagini?

Majoritatea computerelor au două forme de memorie, memorie virtuală și memorie fizică. Memoria virtuală, așa cum sugerează și numele, este doar o construcție care permite unui program să funcționeze ca și cum toate informațiile necesare pentru a-l rula sunt stocate în același loc. Fiecare informație stocată în memoria virtuală corespunde unei adrese de memorie fizică. Un tabel de pagini este structura de date pe care sistemul de operare al computerului o folosește pentru a ține evidența conexiunilor dintre memoria virtuală și memoria fizică. Procesul de corelare a memoriei virtuale cu memoria fizică se numește mapare.

Conceptul despre modul în care tabelul de pagini organizează cele două tipuri de memorie este cel mai bine înțeles folosind un exemplu familiar. Când un utilizator de computer creează o listă de redare într-un program de redare media, el sau ea poate prelua melodii din mai multe fișiere diferite de pe computer. Fișierele fizice nu sunt mutate, dar programul știe unde să meargă pentru a accesa pe rând fiecare melodie.

Lista de redare este ca memoria virtuală. Este un bloc contigu de informații ușor de accesat de către program. Fișierele individuale cu melodiile individuale în ele sunt ca memoria fizică. Acestea sunt stocate în multe locuri diferite de-a lungul computerului. Memoria fizică este stocată într-un tabel de pagini.

O bucată de hardware din computer primește solicitări din memoria virtuală și apoi accesează tabelul de pagini pentru a găsi locația din memoria fizică a datelor. Acest hardware este numit fie unitatea de gestionare a memoriei (MMU), fie unitatea de traducere dinamică a adresei (DAT). Pentru a face ca accesul la date să se întâmple cât mai repede posibil, MMU stochează un număr finit de hărți utilizate des într-un tabel numit buffer de traducere. Funcționând ca fila de favorite dintr-un browser web, buffer-ul de traducere permite computerului să treacă rapid la o locație de memorie folosită des.

Dacă adresa în cauză nu este una pe care computerul o solicită des, MMU va accesa direct tabelul de pagini. Scanează prin tabel până găsește adresa în cauză. Apoi returnează adresa în buffer-ul de traducere din care programul poate accesa informațiile.

Uneori computerul nu poate găsi adresa pe tabelul paginii. Acest lucru se poate întâmpla dacă nu există nicio hartă între memoria virtuală și memoria fizică. În acest caz, sistemul de operare va trimite un mesaj programului prin care îi va spune să se închidă. Căutarea poate eșua și dacă fișierul fizic a fost mutat, de exemplu dacă a fost pus pe un disc de rezervă și eliminat din sistem.