Czy limit 4 GB pamięci RAM w systemach 32-bitowych wpływa również na przestrzeń wymiany?

11

Powszechnie wiadomo, że systemy 32-bitowe mogą obsłużyć jedynie 4 GB jako maksymalną ilość pamięci RAM.

Czy w Linuksie ten limit dotyczy również partycji wymiany? Jeśli moja pamięć RAM + swap przekroczy 4 GB, czy zostanie w pełni wykorzystana?

Jeśli odpowiedź brzmi „nie, nie dotyczy wymiany”, dlaczego?

Sekhemty
źródło
3
To oświadczenie o ograniczeniu pamięci fizycznej nie jest prawdziwe na wszystkich platformach ... ”Rozszerzenie adresu fizycznego (PAE) to funkcja umożliwiająca 32-bitowym centralnym procesorom x86 (CPU) dostęp do fizycznej przestrzeni adresowej (w tym pamięci o swobodnym dostępie i pamięci mapowanej urządzenia) większych niż 4 gigabajty. ” en.wikipedia.org/wiki/Physical_Address_Extension
f1assistance
1
@ pakiety Nie myl go już. Naprawdę musi najpierw zapoznać się z podstawowymi pojęciami, takimi jak wirtualne adresowanie i stronicowanie.
David Marshall
1
Bez problemów, nie boję się uczyć.
Sekhemty

Odpowiedzi:

12

Nie, wyobraź sobie, że RAM jest jak biurko, a zamiana przestrzeni / pamięć wirtualna jest jak szafka na dokumenty. Możesz umieścić wiele informacji w szafce na akta, ale dostęp do nich jest trudny. Wszelkie dokumenty, których chcesz użyć, musisz wyciągnąć i położyć je na biurku; Problem polega na tym, że biurko może pomieścić tylko tyle dokumentów jednocześnie.

Komputery 32-bitowe mogą mieć tylko biurko o wielkości 4 GB (2 ^ 32 lub około 4 miliardów bajtów), ale wciąż mogą mieć prawie nieograniczoną liczbę szaf na dokumenty. Muszą tylko „wymieniać” papiery, gdy biurko jest pełne, i muszą spojrzeć na kolejną stronę w szafce na dokumenty.


Powodem, dla którego nie ma zastosowania do zamiany, jest to, że dostęp do zawartości pamięci RAM lub wykonywanie z niej kodu jest ograniczony do wielkości liczb, z którymi może współpracować. Pomyśl o tym, jakbyś mógł mieć tylko 4 miliardy słów na biurku, ponieważ jest to tak wysokie, jak możesz policzyć, i musisz pracować bezpośrednio ze słowami. „Słowo 3 547 jest błędnie zapisane. Zmień słowo 3 452 780 na„ Cześć ”. Usuń słowo 6”.

Teraz każda strona może zawierać 4000 słów. Haczyk polega na tym, że gdy odwołujesz się do przestrzeni wymiany, nie odwołujesz się do niej słowem, a tylko stroną. Możesz więc liczyć tylko do 4 miliardów, ale możesz policzyć do 4 miliardów stron. 4 miliardy stron zawiera 16 trylionów słów - znacznie, dużo więcej, niż można policzyć.

Komputery 64-bitowe mogą po prostu liczyć wyżej, dzięki czemu mogą umieścić wszystkie strony na biurku jednocześnie, jeśli mają wystarczająco duże biurko. Nawet jeśli umieścisz super duże biurko w 32-bitowej maszynie, nadal możesz policzyć tylko do 4 miliardów, więc nie możesz odwoływać się do wszystkich dodatkowych słów na biurku.

Darth Android
źródło
Więc próbujesz mi powiedzieć, że przestrzeń wymiany działa jak indeks pamięci RAM? A w konsekwencji pojedynczy GB swapu reprezentuje znacznie więcej pamięci niż pojedynczy GB RAM? W każdym razie nadal nie rozumiem, dlaczego system nie może zarządzać więcej niż 4 GB pamięci RAM, ale zamiast tego może wymieniać. Dlaczego więc wszyscy nie używamy wymiany zamiast pamięci RAM?
Sekhemty
1
Przestrzeń wymiany przypomina pamięć „nieobciążoną” i jest przywoływana w znacznie większych porcjach. 1 GB pamięci RAM to 1 GB swapu, ale pamięć RAM jest adresowana na bajt, a zamiana jest adresowana na porcję. Innym przykładem może być myślenie o pakowaniu orzeszków ziemnych. Ile orzeszków do pakowania możesz trzymać w dłoniach? Może 100 przed próbą podniesienia więcej powoduje, że niektóre wyskakują między palcami? Ile orzeszków do pakowania można pomieścić, jeśli włożymy je do skrzynek? Tysiące? Zamiana jest trochę jak pudełka. Możesz zarządzać danymi w większych porcjach, ale nie możesz uzyskać dostępu do samych danych.
Darth Android
1
@Shemhemty: Na twoje drugie pytanie, dlaczego ciągle używamy wymiany - Plik wymiany istnieje na dysku twardym, a szybkość, z jaką komputer może uzyskać dostęp do danych na dysku twardym, zależy od prędkości dostępu do dysku (i następnie trochę). Ale nawet najszybsze dyski twarde są znacznie wolniejsze niż fizyczna pamięć RAM. To kwestia prędkości. Obecna architektura x86 i tak na to nie pozwala (brak pamięci RAM; tylko zamiana). Plik wymiany to koncepcja systemu operacyjnego, o której system nie ma świadomości.
bobbyalex
10

Mylisz pamięć fizyczną i wirtualną.

RAM to pamięć fizyczna. Przestrzeń wymiany może zawierać wiele wirtualnych przestrzeni adresowej 4 GB.

David Marshall
źródło