• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Page table, jak działa?

Object Storage Arubacloud
+1 głos
149 wizyt
pytanie zadane 31 lipca 2021 w Systemy operacyjne, programy przez Witut Początkujący (310 p.)
Czytając manuale Intela natrafiłem na termin Page Table. Trochę tam poszperałem po internecie, aby się dowiedzieć o co z tym chodzi. Przechodząc już do rzeczy, czy dobrze rozumiem, że ta tabela trzyma w sobie adresy fizyczne początku strony? Linear address jest dzielony na trzy części. Pierwsza z nich określa "katalog strony" a druga poprzez offset w tym "katalogu" określa właśnie Page Table. Ostatnia część natomiast określa offset w stronie przez Page Table.
1
komentarz 31 lipca 2021 przez Oscar Nałogowiec (29,290 p.)
Programisty aplikacyjnego to zupełnie nie interesuje. Tym zajmuje się wyłącznie system operacyjny. Jest to element pamięci wirtualnej - proces użytkowy nie pracuje na fizycznej pamięci, tylko na takiej wirtualnej, gdzie adres używany przez program nie jest równy adresowi pod którym dane dane są w fizycznej pamięci, a nawet może ich w ogóle nie być w tej pamięci, mogą być na dysku. Dodatkowo to odwzorowanie jest inne dla każdego procesu. Dzięki temu np. pamięci poszczególnych procesów są izolowane, bo ten sam adres w każdym procesie wskazuje na zupełnie inni obszar pamięci fizycznej, a obszar pamięci fizycznej jednego -procesu w ogóle nie ma odwzorowania w pamięci innego.

1 odpowiedź

+3 głosów
odpowiedź 1 sierpnia 2021 przez overcq Pasjonat (21,710 p.)
wybrane 7 sierpnia 2021 przez Witut
 
Najlepsza

Opisałeś sposób stronicowania tylko w jednym trybie: 32-bitowym (protected mode) przy 4 KiB stronach pamięci. Jest on ukazany w Intel® 64 and IA-32 Architectures Software Developer’s Manual w części 3 (Volume 3) w sekcji 4.3 32-Bit Paging, gdzie znajduje się rysunek 4-2 (Figure 4-2. Linear-Address Translation to a 4-KByte Page using 32-Bit Paging).

Poza tym sposobem stronicowania istnieje też tryb 4 MiB stron pamięci, w którym linear address jest dzielony na dwie części. Oraz tryb z włączonym PAE (Physical Address Extension), w którym jest dzielony na cztery części (rysunek 4-5: Figure 4-5. Linear Address Translation to a 4-KByte Page using PAE Paging).

Natomiast stronicowanie w trybie 32-bitowym jest przestarzałe. Systemy operacyjne używają trybu 64-bitowego (IA-32e), w którym linear address jest dzielony przy 4 KiB stronach pamięci na 4 lub 5 części, jak ukazane w sekcji 4.5 4-Level Paging and 5-Level Paging na rysunku 4-8 (Figure 4-8. Linear Address Translation to a 4-KByte Page using 4-Level Paging). Przy 2 MiB i 1 GiB stronach pamięci jest dzielony na odpowiednio mniej części, jak ukazane na rysunkach 4-9 i 4-10.

Dodam jeszcze, że wpisy w poszczególnych tabelach zawierają oprócz adresu kolejnej tabeli lub pamięci fizycznej także flagi, spośród których jedna jest następujaca: czy tabela lub strona jest w pamięci fizycznej (present) czy jej nie ma. A adres pierwszej tabeli jest przechowywany w rejestrze CR3.

Podobne pytania

0 głosów
1 odpowiedź 240 wizyt
pytanie zadane 30 grudnia 2021 w Inne języki przez TheDarkSide Użytkownik (930 p.)
0 głosów
2 odpowiedzi 244 wizyt
pytanie zadane 7 grudnia 2015 w SQL, bazy danych przez artimal Gaduła (4,800 p.)
0 głosów
1 odpowiedź 459 wizyt
pytanie zadane 24 czerwca 2015 w JavaScript przez artimal Gaduła (4,800 p.)

92,568 zapytań

141,424 odpowiedzi

319,630 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...