Что я понимаю о 32-битных ОС, так это то, что адрес выражается в 32 битах, поэтому самое большее ОС может использовать 2 ^ 32 = 4 ГБ памяти.
Максимум, что может адресовать процесс - это 4 ГБ. Вы потенциально путаете память с адресным пространством. Процесс может иметь больше памяти, чем адресное пространство. Это совершенно законно и довольно часто встречается в обработке видео и других приложениях, интенсивно использующих память. Процесс может быть выделен десятки ГБ памяти и поменять его в адресном пространстве и из него по желанию. В адресное пространство пользователя одновременно может входить только 2 ГБ.
Если у вас есть гараж на четыре автомобиля в вашем доме, вы все равно можете иметь пятьдесят автомобилей. Вы просто не можете держать их всех в своем гараже. Вы должны иметь вспомогательное хранилище где-то еще, чтобы хранить как минимум 46 из них; какие автомобили вы держите в своем гараже, а какие - на парковке вниз по улице - решать только вам.
Означает ли это, что в любой 32-разрядной ОС, будь то Windows или Unix, если на компьютере имеется файл ОЗУ + файл подкачки на жестком диске более 4 ГБ, например, 8 ГБ ОЗУ и файл подкачки 20 ГБ, "память никогда не будет израсходована"?
Абсолютно это не значит. Один процесс может использовать больше памяти, чем это! Опять же, объем памяти, который использует процесс, практически не связан с количеством виртуального адресного пространства, которое использует процесс. Так же, как количество автомобилей, которые вы держите в своем гараже, совершенно не связано с количеством автомобилей, которыми вы владеете.
Более того, два процесса могут совместно использовать не частные страницы памяти. Если все двадцать процессов загружают одну и ту же DLL, все процессы совместно используют страницы памяти для этого кода. Они не разделяют адресное пространство виртуальной памяти, они разделяют память.
Моя точка зрения, если неясно, что вы должны перестать думать о памяти и адресном пространстве как об одном и том же, потому что это совсем не одно и то же.
Если этот 32-разрядный компьютер с ОС имеет 2 ГБ ОЗУ и файл подкачки 2 ГБ, увеличение размера файла подкачки не повлияет на производительность. Это правда?
У вас пятьдесят машин, гараж на четыре машины и стоянка на 100 машин по улице. Вы увеличиваете размер парковки до 200 мест. У вас быстрее получается, что у вас есть 150 дополнительных парковочных мест вместо 50 дополнительных парковочных мест?