Pamięć wirtualna: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Paweł Ziemian BOT (dyskusja | edycje)
m Dodaję nagłówek przed Szablon:Przypisy
m →‎Segmentowana pamięć wirtualna: drobne merytoryczne, drobne redakcyjne
Linia 48:
Technikę segmentowanej pamięci wirtualnej wspierał jako dodatkową opcję procesor [[Intel 80286]] będący jednym z przodków wszystkich procesorów stosowanych we współczesnych komputerach PC, jednak nie była ona wykorzystywana w większości systemów operacyjnych.
 
Możliwe jest połączenie segmentacji pamięci ze stronicowaniem poprzez podzielenie każdego segmentu na strony. SystemyW systemach korzystającekorzystających z tej techniki, np. [[Multics]] czy IBM [[System/38]], pamięć wirtualna realizowana jest przez stronicowanie, zaś segmentacja wprowadza dodatkowy mechanizm ochrony. W procesorach [[IA-32]] oraz ([[Intel 80386]] wzwyż) segmenty znajdują się w 32-bitowej liniowej, stronicowanej przestrzeni adresowej: segmenty mogą być przenoszone z/do przestrzeni adresowej, zaś strony w obrębie przestrzeni adresowej mogą być przenoszone z/do [[Pamięć operacyjna|pamięci operacyjnej]]. Korzystają z tego jednak tylko nieliczne systemy – najczęściej stosowane jest wyłącznie stronicowanie pamięci.
 
Różnica pomiędzy pamięcią stronicowaną a segmentowaną nie polega wyłącznie na podziale pamięci na porcje o stałym i zmiennym rozmiarze. W tego typu systemach segmentacja jest często widoczna dla procesów użytkownika, w przeciwieństwie do przezroczystych stron, które nie wymagają od nich żadnego dodatkowego zaangażowania.
 
== Szamotanie procesów ==
Mianem '''szamotania''' określany jest stan procesu, w którym spędza on więcej czasu na oczekiwaniu na brakujące strony pamięci niż na faktycznym wykonywaniu obliczeń, co znacząco spowalnia jego działanie. Problem szamotania występuje we wszystkich implementacjach i objawia się przy zbyt dużym zapotrzebowaniu na pamięć ze strony procesów przy zbyt małej liczbie wolnych ramek. Problem może być częściowo rozwiązany przez poprawienie jakości programów, lecz na dłuższą metę jedynym skutecznym lekarstwemsposobem jest zainstalowanie większej ilości fizycznej [[Pamięć operacyjna|pamięci operacyjnej]] [[RAM]].
 
== Zobacz też ==
* [[adres fizyczny|adresowanie fizyczne]]
* [[architektura procesora]]
** [[Jednostka zarządzania pamięcią|memory management unit]]
** [[stronicowanie pamięci]]
** [[segmentacja pamięci]]