Определить адресность, зная адресное пространство
Если мы знаем адресное пространство, можем ли мы вычислить адресную способность компьютера? Например, если адресное пространство машины составляет 2^6 битов, какой будет адресная способность машины?
2 ответа
В современной ОС пространство памяти для каждого процесса является виртуальным. Система может манипулировать гораздо большими объемами памяти, чем размер адресного пространства. По сути, адресность теперь имеет смысл только для одного процесса, который ограничен размером адресного пространства с вычитанием некоторых зарезервированных областей.
Например, в Windows 32bit у вас есть грубое 3,5 Гб адресного пространства в распоряжении процесса.
Мы не можем определить размер виртуальной памяти, доступной для процесса, по размеру адресного пространства, поскольку размер зарезервированных областей зависит от конкретной ОС.
Аппаратная адресуемая память и размер виртуального адресного пространства - это две разные вещи. В большинстве процессоров диапазон адресуемой аппаратуры значительно меньше размера виртуальных адресов. В некоторых процессорах (обычно с использованием некоторой сегментации) диапазон адресуемой аппаратной части больше размера виртуального (или программируемого) адресного пространства.