Физическая память и системы Windows

  1. Адресация памяти
  2. Почему только 4гб?
  3. Вы наверняка больше 4ГБ?
  4. Память и пользователь
  5. Список операционных систем вместе с максимальным объемом поддерживаемой памяти

В 50-х годах прошлого века, когда был создан первый компьютер с оперативной памятью (Random Access Memory), его создатели и пользователи не боролись с проблемой максимального объема памяти, поддерживаемого системой, или с тем фактом, что « это было бы полезно больше оперативной памяти для увеличения производительности . " Это также имело место в течение многих десятилетий, до революции Microsoft на рынке программного обеспечения и до того, как уже известные DIMM стали популярными. Оперативная память является одним из основных ресурсов компьютера, на котором хранятся временные данные. Производительность компьютера не зависит от самого количества, так как параметры его работы также очень важны. Что ж, казалось бы, этого достаточно, чтобы оснастить компьютер большим объемом памяти с высокими параметрами. Ничего более неправильного! Популярная архитектура 90-х годов не позволяет обрабатывать большие объемы оперативной памяти. Вероятно, многие пользователи столкнулись с проблемой того, что их система Microsoft Windows обнаружила меньше памяти, чем на компьютере. Почему это происходит? Есть какой-нибудь совет для этого?

Да, достаточно купить одну из 64-битных систем или даже Windows Server, которая может работать с 128 ГБ ОЗУ на 32-битной архитектуре! Невероятно? Мы представим механизмы, которые управляют памятью RAM, механизмы, которые были встроены в системы под логотипом Microsoft.

Адресация памяти

Оперативная память - это очень сложные электронные системы, возможно, не такие как процессоры или графические процессоры, но они также заслуживают внимания в структуре компьютера. Именно благодаря им наши компьютеры - разговорный - работают. С момента запуска операционной системы ее наиболее важные элементы переносятся в основную память и постоянно хранятся в ней, и только для того, чтобы мы могли комфортно работать на компьютере. На этом этапе вы должны упомянуть так называемую виртуальную память, полезную в меньшей или большей степени, если вашей физической памяти недостаточно.

Поэтому, если оперативная память является очень важным элементом, который играет важную роль в работе системы, давайте узнаем, как системы Windows справляются с этим. Нам нужно немного математики, чтобы понять все аспекты. Архитектура x86, или 32-разрядная, физически позволяет вам использовать от 2 до 32 единиц оперативной памяти. Конвертация ровно 4ГБ. В случае x64 - 64-битная архитектура - это уже 16TB.
Обе 32-разрядные системы Windows XP, Vista или Windows 7 - они могут обрабатывать 4 ГБ оперативной памяти, хотя некоторые из серверных версий предложений Microsoft могут легко обрабатывать размеры до 128 ГБ.

Мы проанализируем, как операционная система управляет ОЗУ, чтобы позже понять механизмы, обращающиеся к разным объемам памяти. Чтобы Windows могла точно указывать место хранения или чтения данных, вся область памяти была разделена на блоки, каждый из которых имеет свой физический адрес. Самый высокий адрес зависит от упомянутой архитектуры. Каждый компонент компьютера использует адресацию для обращения к соответствующим ячейкам памяти. Доступ к таким компонентам должен быть предоставлен для каждого процессора, независимо от операционной системы. Таким образом, было найдено решение, в котором наборы микросхем материнских плат отображают память компонентов на физические адреса от самых больших, то есть от 0xFFFFFFFF вниз - столько, сколько требуется. В то же время объявленная таким образом область физических адресов перестает быть доступной в ОЗУ, и поэтому Windows должна учитывать, что в любой момент может существовать прямая ссылка на этот диапазон адресов, что реализуется с помощью так называемой DMA (Direct Memory). Access). DMA - это метод, благодаря которому другие устройства (например, сетевая карта, звуковая карта) могут использовать оперативную память, не используя процессор. В 1997 году Intel выпустила процессор Pentium Pro, который обладал так называемым Режим PAE (расширение физического адреса), то есть способ увеличения диапазона адресации физической памяти. Он состоял из добавления 4 бит в адрес и в то же время включал поддержку 64 ГБ, однако материнские платы того времени еще не были подготовлены к этому. Метод PAE также связан с механизмом Windows DEP (предотвращение выполнения данных), который защищает память от сохранения другим кодом. Адресация в памяти невозможна с точностью до 1 бита, поскольку память делится на так называемые 4 КБ каждая. Когда были созданы процессоры Pentium II, технология PSE (Page Size Extension), известная как PSE-36, также стала доступной. Это предполагает работу с отдельными страницами 4 МБ вместо 4 КБ. Первой системой, которая поддерживала PAE / PSE, была Windows 2000, но сегодня они поддерживаются всеми 32-разрядными системами Microsoft.

Почему только 4гб?

Покупка слишком большого количества памяти может быть бессмысленной, потому что мы не сможем ее использовать. Мало кто уже использовал Windows 98, несмотря на то, что является 32-битной системой, способной обрабатывать только 768 МБ. Хотя иногда были проблемы с этим. Тем не менее, в те дни рекомендуемый объем памяти для Windows 98 составлял 32 МБ, так что никто не заботился об этом. Самые популярные 32-разрядные операционные системы Microsoft, такие как Windows XP или Windows 7, поддерживают уже описанные 4 ГБ, хотя теоретически они могут обрабатывать до 128 ГБ, аналогично Windows Server в выпуске Datacenter.
Почему это происходит? Объем поддерживаемой памяти был искусственно ограничен из-за обеспечения высочайшей надежности и стабильности, поэтому 4 ГБ - это самый большой доступный размер, который может быть учтен в стандарте x86. Упомянутые 4 ГБ разделены системой на две равные части. Первый предназначен для пользовательских приложений, а оставшиеся 2 ГБ выделены системе. Из которых 960 МБ занято базой данных PFN, и только 1 ГБ остается для карт ядра и структур данных системы. Описанная структура представлена ​​на графике ниже.

В свою очередь, в Windows Server 2003 большие изменения уже были внесены на уровне ядра. В противном случае, например, размер памяти или регистра был ограничен, что улучшило стабильность всей системы. В предыдущие годы требовалось не более 4 ГБ пользователей компьютеров. Этой суммы было достаточно для использования всех игр и компьютерных программ, доступных на рынке. В наши дни компьютеры с 4 ГБ памяти и более являются обычным делом, потому что для поддержки профессиональных графических программ или обработки видео в высоком разрешении иногда требуется более 4 ГБ. В тот момент, когда у нас есть 1 ГБ ОЗУ, сама Windows 7 «в начале» получает около 440 МБ, но если компьютер оснащен большим объемом ОЗУ, например 4 ГБ, система сохранит в памяти около 710 МБ данных, чтобы обеспечить более высокую производительность. Таким образом, мы видим, что Windows 7 является переменной при использовании значительных объемов памяти. Поэтому один из предшественников - Windows XP с пакетом обновления 2 (SP2) был первой системой, теоретически поддерживающей более 4 ГБ памяти. Однако на практике это выглядело иначе. Все доступные драйверы, особенно аудио и видео, и другие программы не могли адресовать больший объем памяти, чем 4 ГБ, поэтому было невозможно использовать больше доступной оперативной памяти.

Сегодня производители компьютерного оборудования предоставляют драйверы для 32- и 64-разрядных систем, которые могут использовать адреса более 4 ГБ. Системы семейства Microsoft Windows Server 2003 и 2008 годов позволяют обрабатывать гораздо больше памяти, чем упомянутая Windows XP. Конечно, мы говорим здесь о 32-битных системах, потому что в случае систем, разработанных для архитектуры x64, поддержка больших объемов оперативной памяти является обычным делом. Казалось бы, как Windows Server 2003, так и 32-разрядная версия Windows XP способны адресовать только 4 ГБ оперативной памяти. Редмондский гигант для серверных систем подготовил совершенно другие механизмы для обработки оперативной памяти, чем для систем, предназначенных для домашних пользователей.

Вы наверняка больше 4ГБ?

Мы упоминали, что системы Windows из семейства серверов могут обрабатывать большие объемы ОЗУ, значительно превышающие 4 ГБ. Конечно, это связано с механизмом, обсуждавшимся ранее, задачей которого является «умное» управление большими объемами оперативной памяти. Короче говоря, работа этого модуля основана на переключении между отдельными блоками адресуемой памяти. Этот принцип выделения памяти для карманных компьютеров не известен со вчерашнего дня. Потому что в первых микроконтроллерах от Intel знак обслуживания рабочих регистров состоял в переключении между их группами. Например, микроконтроллер 8051 имел 32 рабочих регистра, однако в данный момент можно было получить доступ к 8 выбранным. Когда нам нужно было использовать больше, мы изменили конфигурацию регистров, чтобы иметь возможность использовать следующие восемь. Говоря упрощенно, 32-разрядные системы семейства Windows Server управляют оперативной памятью настолько, что могут обрабатывать гораздо больше, чем 4 ГБ.

Память и пользователь

Мы знаем, как системы Windows управляют ОЗУ, давайте выясним, как мы - пользователи - можем контролировать работу ОЗУ.

В системном диспетчере задач Windows на вкладке « Производительность » вы можете контролировать использование памяти в данный момент. Если сразу после установки операционной системы она достигает 80-100%, это является тревожным сигналом для получения дополнительной оперативной памяти.

Если сразу после установки операционной системы она достигает 80-100%, это является тревожным сигналом для получения дополнительной оперативной памяти

Еще один способ контролировать использование памяти - использовать инструмент « Монитор надежности и производительности» . Он доступен на панели управления в группе « Администрирование ». Помимо контроля оперативной памяти, мы можем дополнительно контролировать работу процессора, жесткого диска или сети.

Третий и в то же время более профессиональный инструмент для мониторинга памяти - MemInfo. Эта программа подробно показывает данные ОЗУ, такие как:

  • объем физической памяти (то есть, именно от того, по какому адресу находится данная область),
  • количество страниц (пейджинг состоит в выделении блоков памяти, то есть страниц с англ. страниц - примерно определенного размера - 4 КБ каждая),
  • емкость.

страниц - примерно определенного размера - 4 КБ каждая),   емкость

Таким образом, как мы уже упоминали, 32-разрядные системы поддерживают стандартную 4 ГБ, а 64-разрядные системы - 16 ТБ ОЗУ. Если в будущем окажется, что доступного в настоящее время объема ОЗУ недостаточно, то эта проблема, вероятно, будет решена, поскольку производители уже работают над 128-разрядными процессорами, которые смогут обрабатывать гигантские объемы памяти. Пока это прототипы, так как даже 64-битные процессоры еще не используются в полной мере. Однако сегодня, в ситуации, когда мы хотим оснастить ПК значительным объемом оперативной памяти, лучшим и, вероятно, самым дешевым вариантом будет один из выпусков семейства Windows Vista или Windows 7, предназначенный для архитектуры x64.

Список операционных систем вместе с максимальным объемом поддерживаемой памяти

Операционная система.Редакциясистемы.Максимальный поддерживаемый размер
память для одного приложенияМаксимум поддерживается системой
объем оперативной памятиWindows 2000

Professional 4 ГБ Сервер 4 ГБ 4 ГБ Расширенный сервер 4 ГБ 8 ГБ Сервер ЦОД 4 ГБ 32 ГБ - если оборудование поддерживает PAE Windows XP Home 4 ГБ 4 ГБ Профессиональный 4 ГБ 4 ГБ 64-разрядная версия 2003 16 ТБ 128 ГБ Windows Server 2003 Стандартный 4 ГБ 4 ГБ Веб 4 ГБ 2 ГБ Предприятие 4 ГБ 32 ГБ - если оборудование поддерживает режим PAE Enterprise (64-разрядный) 16 ТБ 64 ГБ ЦОД 4 ГБ 128 ГБ - если оборудование поддерживает режим PAE Datacenter (64-разрядный) 16 ТБ 512 ГБ Windows Server 2003 SP1 Стандартный 4 ГБ 4 ГБ Интернет 4 ГБ 2 ГБ Enterprise 4 ГБ 64 ГБ - если оборудование поддерживает режим PAE Datacenter (64-разрядный) 16 ТБ 1 ТБ Windows Vista 32-разрядный * 4 ГБ 4 ГБ 64-разрядный * 16 ТБ 16 ТБ Windows 7 32-разрядный ** 4 ГБ 4 ГБ 64-разрядный ** 16 ТБ 16 ТБ

* - не относится к версиям Starter и Home Basic.
** - не относится к версии для начинающих.

Вы наверняка больше 4ГБ?
Почему это происходит?
Есть какой-нибудь совет для этого?
Невероятно?
Почему только 4гб?
Почему это происходит?
Вы наверняка больше 4ГБ?