Stronicowanie pamięci - Google

Stronicowanie pamięci

Z Wikipedii

(Przekierowano z Stronicowanie)
Skocz do: nawigacji, szukaj

Stronicowanie jest jednym ze sposobów rozwiązania problemu zewnętrznej fragmentacji polegającym na dopuszczeniu nieciągłości logicznej przestrzeni adresowej procesu. Zostało wynalezione przez polskiego inżyniera Jacka Karpińskiego.

Podstawowa metoda stronicowania:

  • Pamięć fizyczna dzielona jest na bloki staÅ‚ej dÅ‚ugoÅ›ci zwane ramkami.
  • Pamięć logiczna dzielona jest na bloki staÅ‚ej dÅ‚ugoÅ›ci zwane stronami.
  • Rozmiary stron i ramek sÄ… identyczne.
  • Przy wykonywaniu procesu, strony z pamiÄ™ci pomocniczej wprowadzane sÄ… w dowolne ramki pamiÄ™ci operacyjnej.

W systemach komputerowych podział pamięci na mniejsze obszary o ustalonej lub zmiennej wielkości przydzielanie tym blokom adresów fizycznych lub logicznych.

Spis treści

[edytuj] Historia

Inż. Jacek Karpiński przy konstruowaniu komputera K-202 w latach 1970 - 1973, jako pierwszy w historii rozwiązał problem adresowania większej ilości pamięci poprzez stronicowanie. Inne porównywalne ówczesne komputery 16-bitowe dostępne na świecie mogły zaadresować jedynie 64 kilobajty (były to Super-Nova i Modular One). Dzięki owemu mechanizmowi komputer K-202 adresował do 8 megabajtów pamięci operacyjnej.

[edytuj] Stronicowanie pamięci fizycznej

Stronicowanie pamięci fizycznej wykonywane było z powodu ograniczenia przestrzeni adresowej procesora (stronicowanie fizyczne). Stronicowanie takie stosowano w systemach 8- i 16-bitowych, w których ilość zainstalowanej pamięci przekraczała możliwości adresowania procesora.

W pamiÄ™ciach Flash EEPROM zapis do pamiÄ™ci nastÄ™puje poprzez wypeÅ‚nienie bufora (strony) i nastÄ™pnie na wybrany rozkaz: bufor zostaje przeniesiony do pamiÄ™ci, co trwa od 1 ms do 10 ms.

[edytuj] Stronicowanie pamięci w systemie MS DOS

System MS DOS używa procesora 8086 lub jego nastÄ™pcy w trybie rzeczywistym. W trybie tym procesor może zaadresować 1 MB pamiÄ™ci. Na poczÄ…tku lat dziewięćdziesiÄ…tych pojawiÅ‚a siÄ™ koncepcja wykorzystania w MS DOS pamiÄ™ci w obszarze ponad 1 MB, pamięć ta byÅ‚a dzielona na bloki (strony) o wielkoÅ›ci 16 kB i w tej wielkoÅ›ci dostÄ™pna przez okienko o wielkoÅ›ci 64 kB w przestrzeni adresowej procesora. Patrz: pamięć EMS.

[edytuj] Stronicowanie pamięci w procesorach 80386

Procesory 80386 i nowsze pracujÄ…ce w trybie chronionym umożliwiajÄ… dowolne mapowanie adresów logicznych na adresy fizyczne – mechanizm ten nazywany jest stronicowaniem (ang. paging). Adresy logiczne obejmujÄ… całą przestrzeÅ„ adresowÄ… procesora, czyli 4 GB, niezależnie od tego, ile w rzeczywistoÅ›ci w komputerze zainstalowano pamiÄ™ci. Zadaniem systemu operacyjnego jest odpowiednie mapowanie adresów logicznych na adresy pamiÄ™ci fizycznej, co pozwala zwykÅ‚ym programom użytkowym przez caÅ‚y czas dziaÅ‚ania odwoÅ‚ywać siÄ™ do tych samych adresów logicznych.

JeÅ›li włączone jest stronicowanie, wówczas caÅ‚a pamięć (4 GB) dzielona jest na bloki – strony o rozmiarach 4 kB; w procesorach Pentium i nowszych możliwe jest także używanie stron o rozmiarach 4 MB. Gdy program odwoÅ‚uje siÄ™ do pamiÄ™ci, podaje adres wÅ‚aÅ›ciwej komórki pamiÄ™ci. Adres ten jest 32-bitowÄ… liczbÄ…, która skÅ‚ada siÄ™ z trzech części:

  1. indeks w katalogu stron (liczba 10-bitowa),
  2. indeks w tablicy stron (liczba 10-bitowa),
  3. przesunięcie w obrębie strony (liczba 12-bitowa).

Katalog stron zawiera wskaźniki do tablic stron, tablice stron przechowują adresy fizyczne stron. (System operacyjny może zarządzać wieloma katalogami i tablicami stron).

Zatem pierwsza część adresu wybiera z katalogu stron tablicę stron. Druga część adresu wybiera pozycję z tablicy stron, która wyznacza fizyczny adres konkretnej strony. Przesunięcie jest adresem lokalnym w obrębie wybranej strony. Zatem adres fizyczny, na który zamapowano adres logiczny, wyznaczany jest z dwóch składników: adresu fizycznego strony i przesunięcia.

Ponieważ uzyskiwanie dostępu do pamięci w celu odczytania informacji o stronie jest czasochłonne, dlatego procesory posiadają pamięć podręczną (ang. TLB, Translation Lookaside Buffer), w której pamiętane są ostatnio wyznaczone adresy fizyczne stron. TLB przechowuje 32, 64, 256 lub więcej pozycji.



Każda pozycja w tablicy stron przechowuje pewne dodatkowe informacje dotyczące strony pamięci, także te przydatne w realizacji pamięci wirtualnej:

  • Bit obecnoÅ›ci (ang. present) – mówi czy strona znajduje siÄ™ w pamiÄ™ci fizycznej. Gdy system operacyjny usuwa stronÄ™ z pamiÄ™ci, tzn. zapisuje jÄ… na dysk, zeruje ten bit. JeÅ›li program odwoÅ‚a siÄ™ do strony nieobecnej w pamiÄ™ci procesor generuje wyjÄ…tek i wówczas system operacyjny wczytuje z dysku uprzednio zapisanÄ… tam zawartość strony.
  • Bit użycia (ang. accessed) – jest ustawiany przez procesor, gdy nastÄ…pi odwoÅ‚anie do danej strony. System operacyjny zwalnia pamięć zapisujÄ…c nieużywane strony pamiÄ™ci na dysku. Wartość zerowa bitu użycia oznacza brak odwoÅ‚aÅ„ do strony i jest sygnaÅ‚em dla systemu, że może być przeniesiona na dysk. Ustawiony bit użycia może w pewnym stopniu zabezpieczać stronÄ™ przed przeniesieniem na dysk.
  • Bit modyfikacji (ang. dirty lub modified) – jest ustawiany podczas zapisu danych. Jeżeli dana strona jest usuwana z pamiÄ™ci, to w przypadku ustawienia bitu modyfikacji musi być zapisana na dysk. Wartość zerowa bitu modyfikacji oznacza, że strona w pamiÄ™ci oraz strona na dysku jest taka sama, wiÄ™c podczas usuwania strony z pamiÄ™ci nie ma koniecznoÅ›ci ponownego zapisywania jej na dysk.

[edytuj] Zobacz też


Nauczyciel polskiego zamordowany w Kirgistanie
W Kirgistanie zostaÅ‚ zamordowany Maciej Chowaniok – lektor jÄ™zyka polskiego na uniwersytetach w Biszkeku - poinformowaÅ‚y oficjalnie wÅ‚adze Uniwersytetu ÅšlÄ…skiego, z którym zwiÄ…zany byÅ‚ mÅ‚ody naukowiec.
"Taser: broń, która nie zabija?"
Film o Robercie Dziekańskim, polskim imigrancie śmiertelnie rażonym paralizatorem przez funkcjonariuszy kanadyjskiej policji, dostał nagrodę na Europejskim Festiwalu Czterech Ekranów w Paryżu. Czterominutowy obraz dostał główną nagrodę w kategorii produkcji powstałych za pomocą aparatu komórkowego.
Polacy w rękach piratów MSZ: trzeba czekać
- Porwanie tankowca to trudna kwestia, dlatego nie można spodziewać się natychmiastowych rozwiązań - powiedział szef MSZ Radosław Sikorski. Wcześniej rzecznik resortu potwierdził, że na statku porwanym przez somalijskich piratów jest dwóch polskich marynarzy. Tymczasem według operatora statku, "Sirius Star" dotarł już do wybrzeży Somalii.
Sikorski: tarcza bez nadmiernego pośpiechu
Radosław Sikorski jedzie do Waszyngtonu. Oficjalnie na uroczystości z okazji 90. rocznicy odzyskania przez Polskę niepodległości. Jednak w czasie zaplanowanych wizyt w Kongresie będzie rozmawiał o tarczy i zintensyfikowaniu polsko-amerykańskiej współpracy.
Obama popiera Saakaszwilego
Prezydent-elekt Barack Obama w telefonicznej rozmowie z prezydentem Gruzji Micheilem Saakaszwilim zapewnił go, że ma poparcie nowej amerykańskiej administracji - twierdzi Tbilisi.
Linki: Strona g³ówna