LINUX.ORG.RU

Почему на архитектуре >i386 доступно только 4 Гб вместо 1.8E19 байт ?


0

1

Немогу понять такой вещи.

В микропроцессорах архитектуры x86, начиная с i386, регистр сегмента и регистр смещения 32-х битные. Это значит, что адресоваться может 4294967296x4294967296=1.8E19 байт.

Почему же в современных операционных 32-х битных системах доступная память ограничена ущербными 4Гб, а после каких-то шаманств - жалкими 64Tб?

Если бы шина PCI не давала свои ограничения, возможна бы была адресация 1.8E19 байт или нет?

>регистр сегмента и регистр смещения

А оно разве не… эээ… плоское?

Deleted
()
Ответ на: комментарий от LongLiveUbuntu

> Читай про flat-модель памяти.

Ну в пределах одного процесса пускай будет flat на 4Гб. Почему в пределах операционки не 1.8E19 байт?

UPD 1:

Всё, понял. В i386 регистр сегмента остался 16-ти разрядным. От него откусили еще 2 бита на регуляцию уровня привелегий походу. Осталось у сегментного регистра 14 бит, а это 16384 возможных значений.

Умножаем 16384x4294967296 и получаем 64Тб.

UPD2:

А ограничение в 4Гб в современных 32-хбитных системах - это просто лень разработчиков ковыряться со страничной адресацией, они посчитали что 4Гб по модели flat хватит всем.

webhamster
() автор топика
Ответ на: комментарий от wxw

пук в лужицу. слава x86_64 и 8-гигабайтным планкам.

JFreeM ★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.