Софт

как освободить физическую память компьютера

Рейтинг: 4.7/5.0 (45 проголосовавших)

Категория: Windows

Описание

Как освободить или увеличить память компьютера? Часть 1

Здравствуйте, дорогие друзья!

Виртуальная память – это основа адекватной работы вашего “железа”! Именно благодаря объему памяти вы имеете возможность работать с программами, играть в игры, смотреть кино и тд. И если на вашей “железяке” стоит мало памяти, то работа компьютера будет соответствующая.

Понятие “мало памяти” означает, что объем (планка) памяти на вашем компьютере имеет от 128 до 512 Мб. Когда-то такой объем памяти считался гигантским, но те времена давно канули в лета.

Как освободить или увеличить память компьютера

Сейчас такой объем памяти считается чуть ли не сверхмалым, поскольку требования подавляющего количества современных игр подразумевают наличие минимум 1-1,5 гигабайт памяти!

Так что делайте вывод, друзья. Ну да ладно: мы отвлеклись от темы. Итак, у вас старенький компьютер (какой-то там “Pentium 3″), с объемом памяти всего в 256 или 512 Мб. Естественно, что во время использования программ и приложений количество памяти постоянно уменьшается: ведь с системой стартуют и некоторые системные приложения. А особенно много памяти жрет ваш браузер – факт!

Например, браузер “Firefox” “съедает” от 120 Мб памяти! И чем больше вы сидите в сети – тем больше памяти занимает браузер. В конце-концов, вы получаете системное сообщение о том, что виртуальная память заканчивается. В общем, как вы понимаете, друзья, памяти следует больше, чем 256 и 512 Мб. Но если нет такой возможности. Что делать?

Да, вы правы: память для старых “компов” и найти сложнее, да и стоит она довольно дорого. Например, планка DDR1, объемом в 1 гигабайт, может обойтись вам в 30 баксов! Для “старья” получается дорого. А если учесть, что вы не можете купить себе новый компьютер, то получается очень дорого!

Итак, что можно сделать? Как “отвоевать” у системы нужные пяди памяти? Как ни странно, но сделать это вполне реально. Конечно, сам по себе объем памяти не увеличится: объем памяти на планке останется прежним. Но вы можете кое-что изменить в “Редакторе реестра” и, таким образом, получите значительную часть освобожденной памяти. Сделать это просто: “Пуск” – “Выполнить”. В поле “Открыть” впишите команду regedit и нажмите “Ок”.

Также рекомендую изучить следующие уроки этого раздела: Хотите научиться пользоваться компьютером? Подпишитесь на бесплатные видеоуроки “Компьютер с нуля”! Хотите узнать, как вы сами сможете ускорить ваш компьютер всего за 15 минут? Хотите научиться самостоятельно создавать красивую именную открытку и радовать близких? Подпишитесь на бесплатные видеоуроки “Как создавать красивую именную открытку самому”!

НАЖМИТЕ КЛАВИШИ "CTRL" и "D" ОДНОВРЕМЕННО, чтобы быстро ПОМЕСТИТЬ АДРЕС ЭТОЙ СТРАНИЧКИ В ИЗБРАННОЕ и позже вернуться на нее.

Понравился урок - поделитесь с друзьями! (Для этого нажмите одну из кнопок ниже)

как освободить физическую память компьютера:

  • Ссылка 1
  • Альтернативный сервер
  • Другие статьи, обзоры программ, новости

    Как освободить виртуальную память компьютера?

    Как освободить виртуальную память компьютера?

    Я знаю несколько методов очистки виртуальной памяти:

    В вышедшем окне наберите secpol.msc и жмите Enter.

    На искомый файл кликните два раза мышкой. Откроется окошко «Локальные параметры безопасности».

    Выберите там «Параметры безопасности» далее «Локальные политики» и после «Параметры безопасности».

    Кликните «Завершение работы: очистка страничного файла виртуальной памяти» и поставьте статус «Включить». Жмите «ОК».

    2 «Пуск» следом «Настройка» потом «Панель управления» затем «Администрирование» выбираем «Локальная политика безопасности» ищем «Локальные политики» кликаем «Параметры безопасности».

    Находим «Завершение работы: очистка страничного файла виртуальной памяти», жмем правую кнопку мыши выбираем «Свойства» > «Включить». Жмите «ОК».

    После данных манипуляций надо перезагрузить компьютер. Очистка произойдет автоматически.

    Набираем regedit.exe и Enter.

    Находим: «HKEY_LOCAL_MACHINE» > «SYSTEM» > «CurrentControlSet» > «Control» > «Session Manager» > «Memory Management».

    Ищем файл «ClearPageFileAtShutdown». Выберите «Изменить».

    Выставляем 1 в поле «Значение». Нажимаем «ОК».

    система выбрала этот ответ лучшим

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

    Если на Вашем компьютере постоянно используются одни и те-же программы, то освобождение памяти поможет лишь на время.

    При малом количестве оперативной памяти, размер файла подкачки можно увеличить (учитывая, что сообщение выскакивает - у Вас ограничен объем не достаточным количеством).

    Изменить размер файла подкачки можно:

    Правой кнопкой по "Мой компьютер" - "Свойства" - "Дополнительные параметры" - "Быстродействие", "Параметры" - "Дополнительно" - "Виртуальная память", "Изменить". Здесь будет видно, на каком диске, сколько места для файла подкачки зарезервировано.

    Можете указать "размер по выбору системы" - тогда система будет его увеличивать, при необходимости. Но лучше ограничивать. При малом объеме оперативной памяти, файл подкачки может быть больше "оперативки" в трое, а то и в четверо, но очень большой его объем - минус для работы системы; так что лучше увеличивать объем оперативной памяти, а файл подкачки вообще отключить.

    в избранное ссылка отблагодарить

    Как освободить оперативную память

    Как освободить оперативную память

    Сегодня рассмотрим два способа, как можно освободить оперативную память на компьютере. Весь процесс достаточно прост, поэтому не займет много времени.

    Оперативная память – часть памяти компьютера, необходимая для временного хранения команд и файлов, используемых процессором во время работы. Обмен информацией с CPU производится либо напрямую, либо через кэш (возможен и вариант обмена через сверхбыструю память 0-го уровня). После выключения компьютера все данные в «оперативке» обнуляются, но выгрузить информацию можно и в процессе работы ПК. Такая процедура не тянет за собой удаление информации с жесткого диска и восстановление данных не потребуется, поскольку выгружаются только сведения из ОЗУ. Рассмотрим два варианта.

    Способ 1. С помощью «Диспетчера задач».

    Откройте «Диспетчер задач» операционной системы Windows, нажав нехитрую комбинацию клавиш Ctrl+Alt+Del. Далее перейдите в раздел «Процессы » и проанализируйте запущенные приложения. Перед тем, как освободить оперативную память, убедитесь, что «убив» тот или иной процесс. Вы не завершите тем самым важную системную задачу. Колонка слева вмещает имена всех процессов, которые в данный момент запущены на компьютере. Колонка справа отображает количество используемой памяти тем или иным процессом.

    Если Вы уверены, что какой-то из процессов уже давно закрыт, а в памяти он еще «висит» и потребляет ресурсы ПК, то произведите принудительную остановку данного процесса, выделив его в списке и нажав кнопку «Завершить процесс ».

    Способ 2. С помощью программы SysInfoMyWork

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

    Далее кликните по максимальному числу из выпавшего списка. Приложение SysInfoMyWork освободит некий объем оперативной памяти, если это возможно на уровне прав данной программы.

    Теперь Вы знаете два простых способа, как освободить оперативную память в системе. Если Вам известны другие варианты очисти «оперативки», то поделитесь этими знаниями в комментариях к статье.

    Освобождаем память

    Бывают такие неприятные моменты в жизни, когда память на вашем жестком диске заканчивается, а вам именно в этот момент нужно установить новую версию программы и т.д. В этой статье я расскажу вам о том, как освободить место на вашем жестком диске не удаляя нужных вам файлов.

    Что нам будет надо сделать для того, что бы освободить память? Рассмотрим сначала все более поверхностно, а потом перейдем к подробностям каждого пункта.

    1) избавиться от ненужных компонентов Windows.

    2) тщательно проверить ваш компьютер на наличие всевозможных паразитов (вирусов, троянов и т.д.)

    3) уменьшить объем отводимый под Корзину

    4) сократить место используемое утилитой Восстановление системы

    5) почистить жесткий диск с помощью встроенной в состав Windows утилиты Очистка диска

    Вот видите сколько, оказывается, есть способом, чтобы увеличить свободное место на жестком диске и оперативной памяти. Теперь, как и было обещано ранее, переходим к подробностям каждого пункта. Следует сказать, что в данной статье перечислены далеко не все способы освобождения памяти, а лишь несколько из них. Итак, приступим к делу.

    1) Избавляемся от ненужных компонентов Windows.

    Для этого нажимаем кнопку Пуск / Панель управления / Установка и удаление программ / Установка компонентов Windows. Перед нами появится Мастер компонентов Windows. Что здесь можно удалить? Конечно встроенные игры, что же еще. Для этого прокручиваем список до самого низа и видим пункт Стандартные и служебные программы. Выделяем этот пункт и нажимаем на кнопочку Состав. Перед нами откроется окно Стандартные и служебные программы. Там мы увидим опцию Игры и Стандартные. Сейчас нас интересуют именно программы, поэтому выделяем их и опять нажимаем, уже знакомую кнопку, - Состав. Теперь снимаем галочки с тех игр, которые мы не используем и они нам не нужны. Теперь два раза нажимаем кнопку ОК. Теперь остальное предлагаю выбрать вам самим ( я же не могу знать, что вы используете, а что нет). Но лично я удалил MSN Explorer, Windows Messenger и Outlook Express. Если вы используете Outlook Express для чтения и отправки электронной почты, то удалять ее разумеется не надо. После того, как выбор сделан – нажимаем кнопку Далее и после того, как мастер закончит свою работу, жмем кнопку Готово.

    2) Проверяем компьютер на наличие паразитов.

    Для этого рекомендую сначала скачать последние обновления (заплатки) операционной системы. Запускаем утилиту Windows Update. Для этого нажимаем Пуск / Все программы / Windows Update. Если обновления имеются – скачиваем их. Теперь начинаем шерстить весь компьютер антивирусами, антитроянами и антишпионскими программами. Я не буду перечислять долгий список таких программ, надеюсь вы уже с ними знакомы, так как безопасность вашего компьютера и информации хранимой на нем должна быть для вас всегда на первом месте. Я просто не понимаю людей, которые тщательно используют свой компьютер для серфинга в Сети и при этом не имеют даже бесплатного продукта антивирусного обеспечения. Это просто большая глупость. Ну ладно, не будем о грустном. Устанавливаем максимальное обнаружение вирусов и т.д. и запускаем по очереди все программы такого назначения, разумеется после того, как одна программа проведет полную проверку компьютера – запускаем другую. Надеюсь, что вам даже в голову не пришла идея запустить все программы одновременно. Вот видите после такой вот статьи вы и память освободите и заодно проверите полностью весь компьютер на наличие всякой нечисти. Не следует забывать, что вирусы не только приносят вред вашей информации и компьютеру, они еще и занимают место на диске и загружают оперативную память, собственно из-за этого мы сейчас в этой статье про них и говорим.

    3) Уменьшаем объем памяти отводимый под Корзину.

    Дело в том, что по умолчанию на Корзину отведено большее количество места на жестком диске, чем обычно нам необходимо. Сначала я объясню, что такое корзина фактически. А фактически корзина это скрытая от ваших глаз папка, которая есть на каждом разделе жесткого диска (диск С, диск D и т.д.) и когда вы что-нибудь удаляете – файл не стирается, а перемещается вот в такую папку ( при условии, что вы удаляете в корзину). Так вот на каждом томе есть такая секретно-невидимая папка, для которой отведен определенный объем места на жестком диске. Чтобы сократить количество отведенных мегабайт на каждую такую папку нажмите на Корзине правую кнопку мыши и выберите пункт Свойства. Перед вами появится окно Свойства: Корзина. Если вы хотите использовать одинаковый объем отводимого места для всех дисков – перейдите на вкладку Глобальные и поставьте галочку на опции Единые параметры для всех дисков. Теперь ползунком выберите нужный размер (очень жаль, что отведенный размер устанавливается в процентах). Но здесь не нужно быть заядлым математиком, чтобы понять, что если у вас том диска всего 40 Гбайт – то 10% от него будет равно 4 Гб. Я рекомендую ставить там не больше 3%, потому что если том диска вмещает под 30 Гб – это будет уже 3 Гб. Этого будет достаточно для хранения стертых файлов. Если вы поставили так, как я посоветовал – у вас получится 6 Гб отведенного места под Корзину.

    В случае если вы хотите установить различное количество отводимого места для каждого диска – отметьте опцию Независимая конфигурация дисков и теперь переходите на каждую вкладку по названию диска и выставляйте нужные вам параметры. Следует сказать и о дополнительных опциях. Не рекомендую включать опцию Уничтожить файлы сразу после удаления, не помещая их в корзину, потому что кто знает, понадобится вам что-нибудь из удаленного или нет (проверенно неоднократно – понадобится, вы уж поверьте). Для тех кто не понял, почему все так – дело в том, что каждый раз когда вы удаляете что-либо, то эти файлы попадают, как я уже говорил, в Корзину и если вам вдруг что-нибудь понадобится из удаленного – вы можете восстановить этот файл из корзины, а если вы удалите файлы минуя Корзину, то вы уже не сможете восстановить ничего. (конечно есть огромное множество программ для восстановления данных и в большинстве случаев они справляются с поставленными перед ними задачами). Так же обратите внимание на опцию Запрашивать подтверждение на удаление (прям стихи какие-то). Если снять галочку с этой опции – то файлы будут удаляться сразу после того, как вам захотелось и ни кто у вас не будет больше спрашивать: Вы действительно хотите отправить « имя файла» в корзину. После того, как все настройки сделаны – нажимаем Применить и потом ОК.

    4) Урезаем в правах утилиту Восстановление системы.

    Просто огромное количество свободно пространства использует утилита Восстановление системы. Как же так? А вас никто и не предупреждал? Безобразие какое-то. Караул! Впрочем незнание операционной системы не освобождает вас от ее использования. Я буду жаловаться! Теперь нам предстоит разобраться во всем этом. Кликаем правой кнопкой мыши на ярлыке Мой компьютер и в появившемся меню выбираем опцию Свойства. Переходим на вкладку Восстановление системы (она находится в самом верху). Сначала идет опция Отключить восстановление системы на всех дисках. Ни в коем случае не отмечайте эту опцию, она вам может пригодиться, да еще как. Дело в том, что если у вас на компьютере, что перестало ладиться – вы можете воспользоваться восстановлением системы. Как это работает? Следующим образом – ОС периодически создает контрольные точки восстановления ( то есть записывает всю конфигурацию системы на определенный период времени), вы сами можете тоже создавать такие точки и в любом момент восстановить состояние системы из этой точки.

    Более подробнее я напишу в одной из следующих статей. Мы не будем полностью отказываться от восстановления, мы просто ограничим количество таких точек восстановления и тем самим получим больше свободного места на диске, для чего мы здесь с вами и находимся собственно говоря. Теперь приступим к делу. Выделяем нужный вам диск и нажимаю на кнопку Параметры. Перед нами открывается окно Параметры диск, которого мы выбрали. Здесь также присутствует опция Отключить восстановление системы на этом диске, игнорируем ее и двигаемся дальше. А дальше нам предстоит передвинуть ползунок на нужный размер (здесь, в отличии от свойств Корзины, количество резервируемого места видно и процентах и в мегабайтах). Сколько ставить? Да ставьте сколько хотите. Я же ставлю 4% при диске в 40 Гб. Этого достаточно, чтобы хранить две точки восстановления. Нажимаем ОК и приступаем к следующему диску. Когда все настроено – традиционно нажимаем Применить и ОК.

    5) Приводим диск в порядок с помощью утилиты Очистка диска.

    Для этого нажимаем - Пуск / Выполнить, вводим команду cleanmgr /sageset:99 и нажимаем ОК. Перед нами появится окно Параметры очистки диска. Из предложенного нам списка выбираем те файлы, от которых мы хотим избавится. Внимание! Файлы под названием Temporary Internet Files – ускоряют работу Internet Explorer, а файлы под названием Файлы установки Office – отвечают за работу обновлений (если их удалить, то некоторые обновления пакета перестанут функционировать). После того, как выбор сделан – нажимаем ОК.

    Теперь запускаем саму утилиту. Для этого либо нажимаем Пуск / Все программы / Стандартные/Служебные / Очистка диска, либо два раза кликаем левой кнопкой по ярлыку Мой компьютер, потом выбираем нужный диск и щелкаем на нем правой кнопкой мыши, уже по традиции выбираем Свойства и в появившемся окне нажимаем Очистка диска. Запуститься утилита и через некоторое время диск будет очищен. После очистки нужно перезагрузить компьютер.

    Вот и все. Как я уже говорил, есть еще множество способов увеличить свободное место на диске (Очистка Реестра, Удаление временных файлов браузера и т.д), но моей задачей и не было написать о всех возможных способах. Пока хватит и пяти. Может вскоре я и напишу еще одну статью посвященную этой теме, а пока все. Дерзайте!

    Распределение оперативной памяти

    Распределение оперативной памяти

    Логическая структура памяти PC обусловлена особенностями системы адресации процессоров семейства х86. Процессоры 8086/88, применявшиеся в первых моделях PC, имели доступное адресное пространство 1 Мбайт (20 бит шины адреса). Эти процессоры использовали сегментную модель памяти, унаследованную и следующими моделями в реальном режиме. Согласно этой модели исполнительный (линейный) адрес вычислялся по формуле 4.1. Таким образом, обеспечивался доступ к адресному пространству Addr = 00000 – FFFFFh при помощи пары 16-битных регистров. Заметим, что при Seg = FFFFh и Offset = =FFFFh данная формула дает адрес 10FFEFh, но ввиду 20-битного ограничения на шину адреса эта комбинация в физической памяти указывает на 0FFEFh. Таким образом, адресное пространство как бы сворачивается в кольцо с небольшим «нахлестом».
    Начиная с процессора 80286 шина адреса была расширена до 24 бит, а впоследствии (386DX, 486 и выше) до 32 и даже 36 (P6).
    P6 – компьютеры, основанные на процессоре Pentium Pro и выше.
    В реальном режиме процессора, используемом в DOS, применяется та же сегментная модель памяти и формально доступен лишь 1 Мбайт памяти, что является недостаточным для большинства современных приложений. Однако выяснилось, что процессоры 80286 в реальном режиме эмулируют 8086 с ошибкой: та самая единица в бите А20, которая отбрасывалась в процессорах 8086/88, теперь попадает на шину адреса, и в результате максимально доступный линейный адрес в реальном режиме достигает 10FFEFh. За эту ошибку с радостью ухватились разработчики PC, поскольку дополнительные (64К – 16) байты оперативной памяти, адресуемой в реальном режиме, оказались подарком, позволяющим освободить дефицитное пространство оперативной памяти для прикладных программ. В эту область (100000h – 10FFEFh), названную «высокой памятью» High Memory Area (HMA), стали помещать часть операционной системы и небольшие резидентные программы.
    Однако для обеспечения полной совместимости с процессором 8086/88 в схему PC ввели вентиль линии А20 шины адреса – GateA20, который либо пропускает сигнал от процессора, либо принудительно обнуляет линию А20 системной шины адреса. Более старшие биты такой «заботы» не требуют, поскольку переполнение при суммировании 16-битных компонентов адреса по данной схеме до них не распространяется.
    Управление этим вентилем подключили к свободному программно-управляемому выходному биту 1 контроллера клавиатуры 8042, ставшего стандартным элементом архитектуры PC начиная с AT. Предполагалось, что этим вентилем часто пользоваться не придется. Однако жизнь внесла свои поправки, и оказалось, что переключение вентиля в многозадачных ОС, часто переключающих процессор между защищенным режимом, реальным режимом и режимом V86, контроллером клавиатуры выполняется слишком медленно. Так появились альтернативные методы быстрого переключения вентиля, специфичные для различных реализаций системных плат (например, через порт 92h). Кроме того, иногда использовали и аппаратную логику быстрого декодирования команды на переключение бита, поступающую к контроллеру клавиатуры. Для определения способа переключения в утилиту CMOS Setup ввели соответствующие параметры, позволяющие выбрать между стандартным, но медленным способом и менее стандартизованным, но быстрым, в зависимости от используемого ПО.
    32-разрядные процессоры позволяют организовать режим, иногда называемый «нереальным» или «большим реальным», в котором инструкции выполняются как в реальном, но доступны все 4 Гбайт памяти. Этот режим часто используется в игровых программах, целиком захватывающих все ресурсы компьютера, не заботясь о «правилах хорошего тона» по отношению к другим исполняемым программам.
    Основную часть адресного пространства занимает оперативная память. Объем установленной памяти определяется тестом POST при начальном включении (перезагрузке) компьютера, начиная с младших адресов. Натолкнувшись на отсутствие памяти (ошибку), тест останавливается на достигнутом и сообщает системе объем реально работающей памяти.
    Распределение памяти PC, непосредственно адресуемой процессором, приведено на рис. 1 и представляется следующим образом.
    00000h-9FFFFh – Conventional (Base) Memory, 640 Кбайт – стандартная (базовая) память, доступная DOS и программам реального режима. В некоторых системах с видеоадаптером MDA верхняя граница сдвигается к AFFFFh (704 Кбайт). Иногда верхние 128 Кбайт стандартной памяти (область 80000h-9FFFFh) называют Extended Conventional Memory.
    A0000h-FFFFFh – Upper Memory Area (UMA), 384 Кбайт – верхняя память, зарезервированная для системных нужд. В ней размещаются области буферной памяти адаптеров (например, видеопамять) и постоянная память (BIOS с расширениями). Эта область, обычно используемая не в полном объеме, ставит непреодолимый архитектурный барьер на пути непрерывной (нефрагментированной) памяти, о которой мечтают программисты.
    Рис. 1 - Распределение памяти ПК
    Память выше 100000h – Extended Memory дополнительная (расширенная) память, непосредственно доступная только в защищенном (и в «большом реальном») режиме для компьютеров с процессорами 286 и выше. В ней выделяется область 100000h-10FFEFh – высокая память, НМА, – единственная область расширенной памяти, доступная 286+ в реальном режиме при открытом вентиле Gate A20.
    Область памяти выше первого мегабайта в различных источниках называется по-разному. Ее современное английское название – Extended Memory – пересекается с названием одной из спецификаций ее использования – Extended MemorySpecification . Но название другой спецификации использования – Expanded Memory Specification – в прямом переводе на русский язык неотличимо от перевода предыдущего термина (и Extended и Expanded переводятся как «расширенный»). Будем придерживаться терминологии, укрепившейся в литературе, и область всей физической памяти, расположенной в адресном пространстве выше 1 Мбайта, будем называть дополнительной памятью. Ее объем у современных компьютеров указывается строкой Extended Memory xxxxx Kbyte в таблице, выводимой после прохождения теста POST, и в меню стандартной конфигурации CMOS Setup.
    Вышеприведенное разделение памяти актуально только для приложений и операционных систем реального режима типа MS-DOS. Для ОС защищенного режима (в том числе Windows 9x/NT/2000) доступна вся оперативная память, причем без каких-либо ухищрений вроде EMS и XMS, описанных ниже. Однако область UMA, сохраняемая ради совместимости, остается барьером на пути к единой однородной памяти.
    Для компьютеров класса АТ-286 с 24-битной шиной адреса верхняя граница оперативной памяти – FDFFFFh (максимальный размер 15,9 Мбайт). Область FE0000h-FFFFFFh содержит ПЗУ BIOS (ROM BIOS Area), обращение к этой области эквивалентно обращению к ROM BIOS по адресам 0E0000h-0FFFFFh. Для 386+ процессоров и 32-битной шины адреса теоретическая верхняя граница – 4 Гбайт, а для Р6 – 64 Гбайт (36-битная шина адреса). В компьютерах с 32-разрядной шиной адреса образ BIOS дополнительно проецируется в адреса FFFE0000h-FFFFFFFFh, хотя для процессоров Р6 это и необязательно. Однако иногда используется и проекция BIOS в область FE0000h-FFFFFFh, что не позволяет задействовать более 16 Мбайт ОЗУ, поскольку система воспринимает только найденную непрерывную область оперативной памяти. Если 32-разрядный компьютер имеет отображение области BIOS под границей 16 Мбайт, это отображение обычно можно запретить установкой соответствующего параметра CMOS Setup. Иногда для использования специфических адаптеров ISA, имеющих буфер с адресами в 16-м мегабайте памяти, предусматривают параметр Memory Hole At 15-16M. Его установка также не позволяет использовать оперативную память свыше 16 Мбайт.
    Реально современные системные платы позволяют установить до 512-2048 Мбайт ОЗУ, для мощных серверных платформ и это не предел. Обращение по адресам, превышающим границу установленной оперативной памяти (или максимально возможного объема), транслируется на шину PCI, которая имеет 32-битную адресацию.
    Компьютеры, использующие режим системного управления SMM (System Management Mode), имеющийся у большинства процессоров последних поколений, имеют еще одно адресное пространство памяти – SMRAM. Это адресное пространство «параллельно» пространству обычной памяти и при работе доступно процессору только в режиме обработки SMI. Память SMRAM может представлять собой часть физической оперативной памяти (DRAM), а может быть реализована и специальной микросхемой энергонезависимой памяти. Ее размер может варьироваться в диапазоне от 32 Кбайт (минимальные потребности SMM) до 4 Гбайт. SMRAM располагается, начиная с адреса SMIBASE (по умолчанию 30000h), и распределяется относительно адреса SMIBASE следующим образом.
    SMI# (System Management Interrupt). В режим SMM процессор может войти только по сигналу на входе SMI#. Сигнал SMI# для процессора является немаскируемым прерыванием с наивысшим приоритетом.
    FE00h-FFFFh (3FE00h-3FFFFh) – область сохранения контекста (распределяется, начиная со старших адресов по направлению к младшим). По прерыванию SMI сохраняются почти все регистры процессора, но сохранение регистров FPU не производится.
    8000h (38000h) – точка входа в обработчик (SMI Handler).
    0-7FFFh (30000h-37FFFh) – свободная область.
    Память SMRAM должна быть схемотехнически защищена от доступа прикладных программ. Процессор генерирует специальный выходной сигнал SMIACT# во время обработки SMI, который и должен являться «ключом» доступа к этой памяти. Если SMRAM не является энергонезависимой, то системная логика должна обеспечить возможность ее инициализации (записи программного кода обработчика) процессором из обычного режима работы до разрешения появления сигнала SMI#.

    Стандартная память – Conventional

    Стандартная память является самой дефицитной в PC, когда речь идет о работе в среде операционных систем типа MS-DOS. На ее небольшой объем (типовое значение 640 Кбайт) претендуют и BIOS, и ОС реального режима, а остатки отдаются прикладному ПО. Стандартная память распределяется следующим образом:
    00000h-003FFh – Interrupt Vectors – векторы прерываний (256 двойных слов);
    00400h-004FFh – BIOS Data Area – область переменных BIOS;
    00500h-00xxxh – DOSArea область DOS;
    00xxxh-9FFFFh – User RAM память, предоставляемая пользователю (до 638 Кбайт); при использовании PS/2 Mouse область 9FC00h-9FFFFh используется как расширение BIOS Data Area, и размер User RAM уменьшается.

    Верхняя память – UMA

    Верхняя память имеет области различного назначения, которые могут быть заполнены буферной памятью адаптеров, постоянной памятью или оставаться незаполненными. Раньше эти «дыры» не использовали из-за сложности «фигурного выпиливания» адресуемого пространства. С появлением механизма страничной переадресации (у процессоров 386 и выше) их стали по возможности заполнять «островками» оперативной памяти, названными блоками верхней памяти UMB (Upper Memory Block). Эти области доступны DOS для размещения резидентных программ и драйверов через драйвер EMM386, который отображает в них доступную дополнительную память.
    Стандартное распределение верхней памяти выглядит следующим образом:
    A0000h-BFFFFh – Video RAM, 128 Кбайт – видеопамять (обычно используется не полностью).
    C0000h-DFFFFh – Adapter ROM, Adapter RAM ,128 Кбайт – резерв для адаптеров, использующих собственные модули ROM BIOS или (и) специальное ОЗУ, разделяемое с системной шиной.
    E0000h-EFFFFh – свободная область, 64 Кбайт, иногда занятая под System BIOS.
    F0000h-FFFFFh – System BIOS, 64 Кбайт – системная BIOS.
    FD000h-FDFFFh – ESCD (Extended System Configuration Data) – область энергонезависимой памяти, используемая для конфигурирования устройств Plug and Play. Эта область имеется только при наличии PnP BIOS, ее положение и размер жестко не заданы.
    В области UMA практически всегда присутствует графический адаптер. В зависимости от модели он занимает следующие области:
    MDA RAM – B 0000h-B0FFFh;
    CGA RAM – B8000h-BBFFFh;
    EGA ROM – C0000h-C3FFFh/C7FFFh;
    VGA ROM – C0000h-C7FFFh;
    EGA, VGA RAM – A0000h-BFFFFh, в зависимости от видеорежима используются следующие области:
    Graphics – A0000h-AFFFFh;
    Color Text – B8000h-BFFFFh;
    Mono Text – B0000h-B7FFFh.
    Также распространенным потребителем UMA являются расширения ROM BIOS, расположенные на платах дисковых контроллеров и микросхемы удаленной загрузки (Boot ROM) на платах адаптеров ЛВС. Обычно они занимают область C8000h – CBFFFh/C9FFFh/C8FFFh (для дисковых контроллеров), но могут и перемещаться при конфигурировании адаптеров.
    Размер области, занимаемой системной ROM BIOS, колеблется от 8 Кбайт у PC/XT до 128 Кбайт, однако разумное значение – 64 Кбайт. Большая область использовалась «на радостях» от появления микросхем ROM и флэш-памяти объемом 1 Мбит (128Кх8), но при этом размер доступной UMA сократился. Тогда стали микросхемы того же (и большего) объема отображать только на область FOOOOh-FFFFFh (64 Кбайт), а иногда и меньшую. Это оказалось возможным, поскольку не все содержимое микросхемы ROM BIOS должно быть доступно одновременно. Таким способом удалось примирить интересы пользователей UMB с необходимостью расширения объема BIOS, связанной с усложнением технических средств.
    Видеопамять графического адаптера является особой областью памяти, к которой во время непрерывного процесса регенерации экрана интенсивно обращаются и центральный процессор, и графический акселератор (если таковой имеется). Видеопамять традиционно является физически выделенной памятью сравнительно (по сравнению с ОЗУ) небольшого объема, и для нее разными способами обеспечивают максимальную производительность – увеличивают разрядность до 128 бит, повышают частоту, применяют специализированные, в том числе и двухпортовые, микросхемы памяти. Это, конечно же, приводит к удорожанию компьютера. Для современных графических акселераторов требуется доступ к большому объему памяти, причем с высокой производительностью. Вместо предоставления локальной памяти адаптера была предложена архитектура унифицированной памяти UMA (Unified Memory Architecture). Здесь для видеопамяти (и других нужд акселератора) выделяется область в общем пространстве единой физической оперативной памяти. За этот способ снижения стоимости приходится расплачиваться снижением производительности как видеосистемы, так и основной памяти. Архитектура UMA применяется в чипсетах системной платы с интегрированной графикой для недорогих компьютеров. При этом может предоставляться возможность установки и дополнительного специализированного модуля видеопамяти, позволяя за дополнительные деньги отказаться от UMA. Если с графического адаптера AGP убрать локальную память, этот высокопроизводительный адаптер вырождается в систему с UMA.
    Accelerated Graphic Port, ускоренный графический порт.

    Отображаемая и расширенная память – спецификации EMS и XMS Отображаемая память EMS (Expanded Memory Specification) – программная спецификация использования дополнительной памяти DOS-программами реального режима. Спецификация LIM EMS –соглашение фирм Lotus, Intel, Microsoft на использование EMS. С помощью специальных аппаратных или программных средств любая область дополнительной памяти может быть отображена на небольшие страницы, расположенные в области UMA. В первоначальном варианте можно было использовать 4 страницы по 16 Кбайт, примыкающие друг к другу, обычно начиная с адреса D0000h (положение страниц можно менять в пределах свободных областей UMA). Обращение прикладных программ к памяти EMS осуществляется через диспетчер памяти, вызываемый по прерыванию Int 67h. Программа, нуждающаяся в дополнительной памяти, должна сначала запросить выделение области, указав ее размер в 16-килобайтных страницах. В ответ на этот запрос (если имеется свободная память) диспетчер сообщает программе номер дескриптора EMS (EMS handler), по которому программа в дальнейшем будет ссылаться на выделенную ей область при управлении отображением. Далее программа через диспетчер назначает отображение требуемой логической страницы из выделенной ей области дополнительной памяти на выбранную физическую страницу, расположенную в области UMA. После этого любые программные обращения процессора к физической странице, расположенной в пределах первого мегабайта, будут в действительности работать с логической страницей дополнительной памяти, расположенной выше первого мегабайта, причем без переключения в защищенный режим. Для работы с иной логической страницей требуется вызов диспетчера для переназначения отображения. В EMS 4.0, эмулируемой на процессорах 386+, появилась возможность увеличения числа доступных физических страниц и отображения дополнительной памяти не только на фиксированные области UMA, но и на любые области памяти.
    Для поддержки EMS поначалу требовались специальные аппаратные средства. В компьютерах на процессорах 386 и выше появилась возможность программной эмуляции EMS, которую в MS-DOS 5+ выполняет драйвер EMM386.EXE.
    Система EMS в основном предназначена для хранения данных – для исполняемого в данный момент программного кода она неудобна, поскольку требует программного переключения страниц через каждые 16 Кбайт. EMS используется в основном старым ПО, фирма Lotus продвигала эту спецификацию для хранения своих больших электронных таблиц. Ее используют для создания виртуальных дисков, хранения очередей заданий для печати, а также и для хранения данных и даже программного кода некоторых резидентных программ (в целях экономии стандартной памяти).
    Расширенная память XMS (extended Memory Specification) – иная программная спецификация использования дополнительной памяти DOS-программами, разработанная компаниями Lotus, Intel, Microsoft и AST для компьютеров на процессорах 286 и выше. Эта спецификация позволяет программе получить в распоряжение одну или несколько областей дополнительной памяти, а также использовать область НМА. Распределением областей ведает диспетчер расширенной памяти – драйвер HIMEM.SYS. Диспетчер позволяет захватить или освободить область НМА (65 520 байт, начиная с 100000h), а также управлять вентилем линии адреса А20. Функции собственно XMS позволяют программе:
    • определить размер максимального доступного блока памяти;
    • захватить или освободить блок памяти;
    • копировать данные из одного блока в другой, причем участники копирования могут быть блоками как стандартной, так и дополнительной памяти в любых сочетаниях;
    • запереть блок памяти (запретить копирование) и отпереть его;
    • изменить размер выделенного блока.

    В ответ на запрос выделения области диспетчер выдает номер дескриптора блока (16-битное число XMS handler), по которому выполняются дальнейшие манипуляции с этим блоком. Размер блока может достигать 64 Мбайт. Спецификация XMS позволяет программам реального режима устраивать «склады» данных в дополнительной памяти, которая им непосредственно недоступна, копируя в нее и из нее данные доступных областей первого мегабайта памяти. Доступ к диспетчеру XMS осуществляется через прерывание Int 2Fh. Заботу о переключении в защищенный режим и обратно для получения доступа к дополнительной памяти берет на себя диспетчер. По умолчанию HIMEM.SYS позволяет использовать до 32 дескрипторов блоков, но это число можно увеличить, задав параметр /NUMHANDLES=xx в строке загрузки драйвера HIMEM.SYS.
    Кроме работы с дополнительной памятью спецификация XMS определяет пару функций и для работы с блоками UMB – захватить блок требуемого размера (или определить максимально доступный блок) и освободить его.
    Как видно, спецификации EMS и XMS отличаются по принципу действия: в EMS для доступа к дополнительной памяти выполняется отображение (страничная переадресация) памяти, а в XMS – копирование блоков данных. На компьютерах с процессорами 386+ эти спецификации мирно сосуществуют при использовании драйвера HIMEM.SYS, поверх которого может быть загружен и драйвер EMM386.EXE, пользующийся памятью XMS для эмуляции EMS-памяти. Память, доступная EMS и XMS, может выделяться динамически из числа дополнительной. Ключ NOEMS в строке запуска EMM386 запрещает выделение памяти под использование по спецификации EMS. Теневая память – Shadow ROM и Shadow RAM

    В области верхней памяти UMA обычно располагаются устройства с медленной памятью: системная BIOS (System ROM BIOS), расширения BIOS на графическом адаптере (Video ROM BIOS), на контроллерах дисков и интерфейсов (Adapter ROM), ПЗУ начальной загрузки на сетевой карте (Boot ROM), видеопамять (Video Memory Buffer). Они, как правило, реализованы на 8- или 16-битных микросхемах с довольно большим временем доступа. Обращение к полноразрядному системному ОЗУ выполняется гораздо быстрее. Для ускорения обращений к памяти этих устройств применяется теневая память (Shadow Memory) – подмена ее системным ОЗУ. Теневая память появилась на развитых моделях АТ-286, где она была реализована аппаратно. Процессоры класса 386+ позволяют ее реализовать программно, с помощью страничной переадресации. Затенение ОЗУ и ПЗУ выполняется по-разному.
    При инициализации теневого ПЗУ (Shadow ROM) содержимое затеняемой области копируется в ОЗУ, и при дальнейшем чтении по этим адресам подставляется ОЗУ, а запись в эту область блокируется.
    При использовании теневого ОЗУ (Shadow RAM) запись производится одновременно в физическую память затеняемой области и в системное ОЗУ, наложенное на эту область. При чтении затененной области обращение идет только к системной памяти, что происходит гораздо быстрее. Особенно велик эффект от затенения видеопамяти старых графических адаптеров, которая по чтению бывает доступна только во время обратного хода развертки, и процессору приходится долго ждать этого момента. Однако затенение областей разделяемой памяти, модифицируемых со стороны адаптеров, недопустимо – эти изменения не будут восприняты процессором. К разделяемой относится буферная память сетевых адаптеров, видеопамять адаптеров с графическими сопроцессорами (акселераторами). Из этого следует, что затенение видеопамяти применимо только к примитивным графическим картам, устанавливаемым в слот ISA, и то не во всех режимах.
    Обычно теневая память включается через CMOS Setup отдельными областями размером по 16 Кбайт или более крупными, и для каждой области указывают режим затенения (Shadow ROM или Shadow RAM). Возможно ее включение и драйверами ОС (например, драйвером EMM386). На современных системных платах затенение области системной BIOS выполняется всегда, на старых платах затенением этой области можно было управлять. Затенение BIOS видеоадаптера (Video BIOS Shadowing) для работы в среде Windows с «родными» драйверами графического адаптера может и не давать прирост производительности.