Если бы у меня было 32 ГБ жесткого диска в 32-битной ОС, какой адрес памяти был бы наибольшим? и если 32-битный указатель может отображать до 4 ГБ памяти, как можно отобразить адрес выше 4 ГБ?
2 ответа
Нет прямого отображения между адресным пространством памяти и местоположением на жестком диске.
Инструкции для операционной системы о том, где найти необходимые данные, это больше Country->City->Street->Building
чем Latitude+Longitude
Подробнее читайте здесь: Википедия по файловым системам
Все зависит от вашей файловой системы. Память адресуется байтами, что приводит к ограничению в 4 ГБ (2 ^ 32). Файловые системы обычно адресуются кластерами размером более 1 байта. Если вы используете кластер 4 КБ, вы можете получить доступ к 4096 * 2 ^ 32 или примерно 4 ТБ на жестком диске. Вы по-прежнему имеете доступ только к 2 ^ 32 элементам, но каждый из них будет иметь размер 4 КБ, в результате чего общее количество будет намного больше, чем 4 ГБ.
Но ограничение 2 ^ 32 может отображаться в других местах - файловые системы, такие как NTFS, могут получить доступ к максимум 4 294 967 295 файлам на томе.