Почему 32-битная ОС поддерживает 4 ГБ ОЗУ? - PullRequest
27 голосов
/ 13 июля 2009

Просто читая некоторые заметки в лекции о ОС , где написано:

Программа видит память как массив байты, которые идут от адреса 0 до 2 ^ 32-1 (от 0 до 4 ГБ-1)

Почему 4 ГБ?

Ответы [ 12 ]

0 голосов
/ 13 июля 2009

Как ранее заявили другие пользователи, 32-разрядные ОС Windows используют 32-разрядные слова для хранения адресов памяти.

На самом деле, большинство 32-битных чипов в наши дни используют 36-битную адресацию, используя модель Intel Physical Address Extension (PAE). Некоторые операционные системы поддерживают это напрямую (например, Linux).

Как указывает Раймонд Чен, в Windows 32-разрядное приложение может выделить более 4 ГБ памяти, и для этого не требуется 64-разрядная система Windows . Или даже PAE.

В этом отношении 64-разрядные микросхемы не поддерживают все 64-разрядное пространство памяти. Я считаю, что в настоящее время они ограничены 42-разрядным пространством ... 36-разрядным пространством, которое использует PAE, плюс 8-разрядные верхние адреса

0 голосов
/ 13 июля 2009

4 ГБ = 2 ^ 32 байта. Но помните, что его максимальные 4 ГБ выделяются 32-битной ОС. На самом деле ОС будет видеть меньше, например после выделения VRAM.

...