Потому что 4 ГБ - это системное ограничение адресации 32-битных систем. Последний гигабайт был отведен под драйвера. Поскольку шина памяти едина для системной памяти и для драйверов, т.е. адресное пространство едино, то каждый конкретный адрес (например, равный 3,5 ГБ) может принадлежать только одному устройству - либо оперативке, либо аппаратному устройству. Соответственно, в Винде при установке драйверов адресация к оперативе с теми же адресами, что используются драйверами отключено. Конкретные адреса устройств заложены производителями аппаратных устройств. Анализировать каждый раз занятые железом адреса, чтобы, к примеру, от 3,1 до 3,2 ГБ отдать некоему аппаратному устройству, от 3,2 до 3,3 - оперативке, от 3,3 до, скуажем, 3,45 - другому аппаратному устройству и т.д - сложно. Поэтому ОС определяет самый нижний адрес аппаратных устройств и блокирует для памяти всё, что выше.
Кстати, в DOS было аналогично: 384 кБ было отведено для ПЗУ (БИОСа) и картриджей (в первых IBM PC можно было устанавливать картриджи с программами, записанными в ПЗУ, например, аппаратный Бейсик; впоследствии это позволило использовать видеоадаптеры с EGA и VESA: ПЗУ видеокарт с БИОСом для EGA подключались с использованием механизма подключения картриджей). В результате даже с himem.sys и emm386.exe для оперативки могли использоваться только первые 640 кБ и область свыше 1 МБ - 384 кБ, отведенные для драйверов, использовать было невозможно (только отдельными окнами по 64 МБ, отображавшими логические адреса на другие физические.
И, т.к. архитектура IBM PC не менялась, то даже при современной гигабайтной памяти если и можно использовать "дыры" в 4-м гигабайте, то также окнами по 64 МБ. А, учитывая, что для современных программ 64 МБ - это ничто, потребовалось бы для отображения верхней памяти использовать слишком много окон, получалась бы сильная дефрагментация памяти и, как следствие, тормоза.
Тем более, как и в эпоху IBM PC XT, когда Билл считал, что:
при разработке Windows 95 и Windows NT также посчитали, что «3 ГБ должно быть достаточно для каждого» и с отображением в верхнюю память (от 3 до 4 ГБ) заморачиваться не стали.
Еще раз отмечу, что 4 ГБ - это лимит 32-битовой версии, он такой же и в Windows 7 (и Windows 8).