czwartek, 24 maj 2012
NEXT / Artykuły / NEXT 5/2008 / Artykuły z NEXT 5/2008 / Ponad czwartym gigabajtem
NEXT 5/2008 - okładka





Temat numeru:
Przejdź do innych artykułów:

NEXT 5/2008 - Ponad czwartym gigabajtem

Ponad czwartym gigabajtem - ikonka raport: bariera 4 GB pamięci fizycznej w 32-bitowych systemach

Data: 22 kwiecień 2008
Identyfikator: 080549

Pamięć RAM, zwłaszcza typu DDR2, jest obecnie bardzo tania. Nic dziwnego, że coraz więcej komputerów wyposażanych jest np. w dwa 2-gigabajtowe moduły. Radość z posiadania takiej ilości RAM-u często szybko mija, gdy się okazuje, że system operacyjny zamiast czterech gigabajtów melduje mniej więcej trzy.

Strona 1 z 5
< Poprzednia 1 2 3 4 5 Następna >
Ponad czwartym gigabajtem - rozkładówka

Zdaniem redaktora

Krzysztof Roszak
redaktor działów Software i Internet

Nieco z przekąsem mogę stwierdzić, że problem czterech gigabajtów mnie nie dotyczy. Powód jest prosty – odkąd mam 64-bitowy procesor, używam tylko takich systemów; głównie Kubuntu, choć w odwodzie jest jeszcze XP x64. I chociaż rozwiązania do 32-bitowych platform Microsoftu przeznaczonych do użytku domowego na razie nie widać, bo zostało ono sztucznie stłamszone przez producenta, uważam, że to właśnie analiza pochodzenia problemów z 36-bitowym adresowaniem pozwala zrozumieć, jak często decyzje podjęte w trybie „na teraz nam wystarczy” mszczą się ze zdwojoną siłą w przyszłości. W tym kontekście dziwi mnie małpi upór dostawców zestawów OEM, którzy sprzedają nowe pecety z 32-bitową edycją Visty w trosce o dobro klienta. Przecież 64-bitowe systemy mogą wciąż sprawiać kłopoty w grach. Ciekawa podejście. Ja mogę tylko zapewnić, że mój komputer problemów z działaniem podzespołów nie ma ani w 64-bitowym XP, ani Linuksie.

Taki scenariusz, mimo że dość często ostatnio spotykany, wciąż dla wielu użytkowników jest zaskoczeniem. Na licznych forach dyskusyjnych pojawiają się pytania, gdzie znika niemal (a czasem i ponad) gigabajt. Chociaż w większości przypadków odpowiedzi adresują poprawnie źródło problemu – osiągnięcie granicy 32-bitowego adresowania, fakty często mieszają się z mitami.

Można zatem przeczytać m.in. o tym, że jest to wina Windows XP, a problem rozwiązuje instalacja Visty; że 32-bitowe systemy nie widzą więcej niż 4 gigabajty pamięci; a także znaleźć rewolucyjne rozwiązania problemu, np. przez dezaktywację pliku wymiany (ang. swap space) w systemie operacyjnym.

Takie odpowiedzi biorą się oczywiście z niezrozumienia bardzo skomplikowanego zagadnienia, jakim jest obsługa pamięci w komputerze, a także z nieznajomości kilku faktów z historii informatyki. Warto przyjrzeć się sprawie dokładniej: z czego wynika bariera 4 GB, czy i jak można ją obejść, wreszcie – czy obsługa RAM-u to jedyny problem w tej kwestii.

Pamięć pamięci nierówna

Często używanym w dyskusjach zwrotem jest: system nie widzi pamięci. Jest ono ambiwalentne pod co najmniej dwoma względami. Pierwszy, co to znaczy, że system widzi pamięć – czy stanowi to tylko kwestię oprogramowania, czy może to sprzęt dyktuje systemom warunki pracy oraz czy widzenie jest tożsame z wykorzystywaniem? Drugi zaś, czym właściwie w tym kontekście jest pamięć?

Odpowiedź należy zacząć od wyraźnego wypunktowania, że rodzajów pamięci w systemach operacyjnych jest kilka. Zacznijmy od tego, co oczywiste – RAM-u, czyli pamięci fizycznej instalowanej na płytach głównych. Jej uzupełnieniem jest pamięć (lub plik) wymiany – wydzielony obszar dysku twardego pełniący rolę rozszerzenia RAM-u, w kategorii ilościowej. Obie pamięci razem wzięte tworzą obszar, w ramach którego system operacyjny i aplikacje mogą umieszczać potrzebne dane.

Pamięć wirtualna procesu

Każdy proces dysponuje własnym wirtualnym obszarem adresacji, a system operacyjny dokonuje mapowania tych adresów na konkretne fragmenty pamięci fizycznej.

Oczywistym jest, że miejsce przechowywania zapisywanych w nim informacji musi być jednoznacznie określone, tak aby system wiedział, do której komórki pamięci czy sektora dysku twardego sięgnąć w celu jej odczytu. Problem ten rozwiązuje użycie mechanizmu adresowania. Obszar całkowitej dostępnej pamięci jest dzielony na numerowane bloki, z których każdy ma własny adres.

32-bitowe adresowanie

Jest on oczywiście liczbą całkowitą z zakresu od zera do maksymalnej wartości, jaką może obsłużyć procesor. Ta zaś zależy wprost od liczby bitów używanych przez CPU do adresacji. Łatwo policzyć, że dla 32-bitowej jednostki jest to 232, co daje 4 G unikatowych adresów. Wszystko byłoby proste, gdybyśmy przyjęli założenie, że jedyną dostępną pamięcią jest RAM – i tylko jej dotyczy adresacja. Ponieważ tak nie jest, systemy operacyjne od dawna dysponują mechanizmami pozwalającymi obejść ten limit.

Te 4 miliardy adresów stanowią więc tzw. pamięć wirtualną, widoczną dla aplikacji. System operacyjny stosuje zaś algorytm mapujący każdy adres wirtualny z tego zakresu na fizyczny. Tym drugim może być zarówno komórka RAM-u, jak i sektor dysku objęty plikiem wymiany. Jak łatwo się przekonać, swap file w 32-bitowych systemach może być większy niż 4 GB. Nie można zatem zastosować np. dwóch osobnych wirtualnych przestrzeni adresowych, osobno dla RAM-u i swapa, bo w przypadku tej drugiej pamięci fizycznej również nie dałoby się użyć mapowania jeden do jednego. Trzeba użyć metody pośredniej.


Ocena: +++++    (aby ocenić, musisz się zalogować w serwisie)

< Poprzednia 1 2 3 4 5 Następna >

Podobne artykuły:

Komentarze:

Redakcja nie ponosi odpowiedzialności za treść komentarzy.
Komentarze wyświetlane są poczynając od najstarszych.

28.05.2008, 16:16
Profesjonalista

Ahhh jak miło się czytało! (czytałem 2 razy bo nie wszystko od razu zrozumiałem) Trudno znaleźć tego typu artykuły w innych czasopismach komputerowych. Temat dość głęboko przebadany i widać dużą wiedzę i orientacje autora na temat zarządzania RAM'em w komputerach.
Ciesze się, że Next publikuje artykuły także dla bardziej zaawansowanych czytelników! Tak trzymać!
Pozdrawiam!
ps. pewna rzecz w artykule jest nie jasno powiedziana: np. winxp sp2 obsługuje pda ale rezultat jest taki jakby go w ogóle nie było... moze sp4 do winxp zmieni tą sytuacje?
  windows_xp_2003 firefox
Niezalogowany

Aby mieć dostęp do niektórych części serwisu NEXT (np. forum dyskusyjnego, oceny numeru, newslettera), musisz posiadać konto w naszym serwisie. Zachęcamy do darmowej rejestracji!

Jeżeli posiadasz już konto w serwisie, to zaloguj się.