Различие 32-битных и 64-битных операционных систем
Из-за особенностей индексирования памяти 32-битной операционной системой, единственным решением проблемы вылета игрового клиента может служить только переустановка операционной системы на 64-битную. Для этого вам потребуется новый дистрибутив Windows (как правило, при приобретении коробочной версии этой операционной системы в комплекте сразу идут два диска – один с 32-битной версией и один с 64-битной).
Почему 32-битные операционные системы видят до 4Гб.
Каждая ячейка ОЗУ (1 байт) имеет адрес и в 32-х битной системе он записывается в виде двоичного кода длиной в 32 символа.
2^32=4294967296 байт = 4 ГБ. То есть, в 32-битной системе, ячейки памяти условно расположенные за пределом 4ГБ просто не получат адреса и не будут использоваться. Если использовать 64-х битную систему, то размер адресуемой памяти 2^64= 18446744073709551616.
Почему тогда объем доступной памяти меньше 4Гб (3-3,5Гб)
Это происходит из-за того, что существенная часть адресного пространства используется в нуждах установленных периферийных устройств (основной потребитель – видеокарты), при этом сама оперативная память никоим образом ими не используется. Конкретная цифра доступного адресного пространства зависит от чипсета, особенностей BIOS и конфигурации конкретного ПК (например, эта величина зависит от интерфейса и количества видеокарт, но никоим образом не зависит от того, каким количеством модулей и какого объёма у вас получен такой общий объём памяти). Ту часть ОЗУ, адреса которой совпадают с адресами устройств, необходимо отключать, чтобы избежать конфликта между ОЗУ и памятью соответствующего устройства — например, видеоадаптера.
Оперативная память заполняет адреса, начиная с нулевого, а устройствам, как правило, отводятся адреса в четвертом гигабайте. Пока размер ОЗУ не превышает двух-трех гигабайт, конфликты не возникают. Как только верхняя граница установленной памяти входит в ту зону, где находятся адреса устройств, возникает проблема: по одному и тому же адресу находятся и ячейка оперативной памяти, и ячейка памяти устройства (того же видеоадаптера). В этом случае запись данных в память приведет к искажению изображения на мониторе и наоборот: изменение изображения — к искажению содержания памяти, то есть программного кода или данных (скажем, текста в документе). Чтобы конфликты не возникали, операционной системе приходится отказываться от использования той части ОЗУ, которая перекрывается с адресами устройств. Такой отказ может сопровождаться либо переносом части данных в файлы подкачки, с соответствующим резким замедлением работы приложения, либо возникновением внутренней ошибки операционной системы и принудительным завершением работы приложения.
Надеемся, что эта информация оказалась полезной!