Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Stronicowanie pamięci - Wikipedia, wolna encyklopedia

Stronicowanie pamięci

Z Wikipedii

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 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 zapisywania jej na dysk.

[edytuj] Zobacz też

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com