Оптимизация работы оперативной памяти
В архитектуре компьютеров, построенных на основе традиционной архитектуры и системы команд процессоров фирмы Intel, первый мегабайт оперативной памяти занимает особое положение. Не случайно 640 Кбайт оперативной памяти, входящие в этот мегабайт и доступные для программ, называются основной или базовой (basic) памятью компьютера. Часть этой памяти занимают системные программы, остальное — прикладные программы. Не редко от оставшейся части зависит работоспособность этих программ. Некоторые прикладные программы требуют для своей работы не менее 600 Кбайт свободной базовой памяти. При отсутствии необходимой базовой памяти такие программы отказываются функционировать, инициируя вывод сообщений о недостаточном объеме памяти. И что особенно важно, все это происходит в системе, несмотря на наличие в компьютере большого объема оперативной памяти, кстати, свободный размер которой много больше потребностей подобных программ. Однако следует отметить, что этот большой объем свободной оперативной памяти не может компенсировать недостаточную величину базовой памяти, размер которой не может быть более 640 Кбайт. Это связано с тем, что, за исключением первого мегабайта, весь объем оперативной памяти представлен памятью типа extended, за счет которой нельзя ни заменить, ни увеличить размер базовой памяти.
Одним из основных способов оптимизации работы оперативной памяти в условиях
использования системы Windows 9x — применение драйверов, специально написанных
для данной системы. Такие драйверы работают в защищенном режиме. При этом
следует избегать, по возможности, использования драйверов, работа которых
требует режима совместимости с MS-DOS — реального режима. Это связано
с тем, что такие драйверы загружаются в первый мегабайт памяти, уменьшают
размер свободной области базовой памяти и, таким образом, способствуют
снижению производительности компьютера и ограничивают работу программ,
требующих большого размера базовой памяти.
Выявить драйверы, работающие в реальном режиме, в Windows 95 можно с помощью выполнения, например, следующих действий:
1. Нажмите кнопку Пуск.
2. Выберите команду Настройка | Панель управления.
3. В появившемся окне переместите указатель на значок Система и дважды щелкните кнопкой мыши.
4. В диалоговом окне Свойства: Система перейдите на вкладку Быстродействие.
В появившимся списке будут перечислены драйверы, работающие в реальном режиме. Дополнительные данные об этих драйверах можно получить, если нажать на кнопку Сведения.
Для программ, запускаемых в системе Windows 9x в режиме совместимости с MS-DOS, могут потребоваться драйверы, требующие реального режима. Для обеспечения работы таких драйверов их необходимо описать соответствующим образом в конфигурационных файлах Autoexec.bat и Config.sys. Драйверы, работающие в реальном режиме и помещенные в базовую память, уменьшают величину ее свободной части. Для экономии базовой памяти и увеличения производительности компьютера целесообразно попытаться переместить часть таких драйверов в верхнюю память, расположенную между 640 Кбайт и 1 Мбайт. Для этого в конфигурационный файл Config.sys необходимо добавить строчки, содержащие следующие атрибуты:
DOS=HIGH, UMB
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS HIGHSCAN
Затем для помещения необходимых программ в верхнюю память следует использовать соответственно команды DEVICEHIGH в Config.sys и LH или LOADHIGH в Autoexec.bat.
Оптимизировать расположение системных программ, размещенных в первом мегабайте памяти, и увеличить размер свободной части базовой памяти для прикладных программ можно с помощью специальной программы-утилиты MemMaker. Данная утилита, входящая в состав пакета MS-DOS, начиная с версии 6.0, в процессе своей работы изменяет конфигурационные файлы Config.sys и Autoexec.bat. Эти файлы совместно с системным SETUP определяют конфигурацию и работу аппаратно-программного обеспечения компьютера. В результате выполнения MemMaker драйверы устройств и другие резидентные программы, постоянно находящиеся в оперативной памяти, оптимально используют объем базовой памяти. При этом MemMaker так же, если это возможно средствами данной утилиты, обеспечивает загрузку резидентных программ в UMB-блоки. Все это увеличивает свободную часть базовой памяти для прикладных программ — программ пользователя, например, для игр, программ обучения, бизнеса, обработки информации средствами мультимедиа и т. д.
Следует отметить, что программа-утилита MemMaker работает только на компьютерах с процессорами 386 и выше, что в настоящее время является легко выполнимым условием.
Перед запуском программы MemMaker необходимо:
1. Убедиться в корректности работы аппаратных средств системы, в частности, оперативной памяти.
2. Завершить работу всех активных программ, например, Windows xx, MS-DOS Shell, NC;
3. Запустить все драйверы и резидентные программы, которые обычно используются в составе аппаратно-программных средств.
При запуске утилиты MemMaker пользователю предоставляется возможность выбрать режим работы: Express Setup (стандартная установка) или Custom Setup (выборочная установка).
Следует отметить, что далее в этом разделе рассматривается ряд вопросов, которые целесообразно учитывать при выполнении процесса оптимизации базовой памяти с целью максимального увеличения ее свободной части. И хотя для достижения поставленной цели приведенного описания в большинстве случаев будет вполне достаточно, для облегчения работы с MemMaker рекомендуется в дополнение к представленному материалу ознакомиться с фирменной документацией на MS-DOS.
Режим Express Setup
Для использования утилиты MemMaker в режиме Express Setup:
1. Необходимо запустить программу MemMaker. Для этого в командной строке нужно набрать MemMaker и нажать клавишу <Enter>. Отобразится первое окно. Для продолжения следует выбрать опцию Continue, нажав клавишу <Enter>.
2. Поступит предложение выбрать режим работы. Для работы в стандартном режиме необходимо выбрать Express Setup, нажав клавишу <Enter>. Затем указать, требуется ли EMS-память.
3. Если ни одна программа не требует наличия EMS-памяти или нет уверенности в этом, следует выбрать значение No, нажав клавишу <Enter>. Если же пользователем используются программы, требующие EMS-памяти, то следует выбрать значение Yes, нажав клавишу <Space>, а затем клавишу <Enter>. Поступит предложение перезапустить компьютер, чтобы протестировать загрузку всех драйверов устройств и резидентных программ.
4. После этого утилита MemMaker оптимизирует конфигурацию памяти. Закончив анализ, она внесет необходимые изменения в файлы Config.sys и Autoexec.bat. Затем снова предложит перезапустить компьютер с новой конфигурацией. Для перезагрузки следует нажать клавишу <Enter>. Далее последует запрос о корректности работы системы.
5. Если в процессе работы с утилитой не было никаких сообщений об ошибках и система работает нормально, следует выбрать опцию Yes, нажав клавишу <Enter>. Если есть сомнение в нормальной работе системы, необходимо нажать клавишу <Space> для выбора опции No. Далее — следовать инструкциям, приведенным на экране.
6. Если было подтверждено, что компьютер работает правильно, то MemMaker выведет на экран таблицу, в которой будет показано количество свободной памяти каждого типа до и после ее оптимизации.
Режим Custom Setup
Если при работе утилиты MemMaker возникли проблемы из-за какого-либо драйвера устройства или программы, перезагрузите компьютер и выберите режим Custom Setup, а затем ответьте Yes на вопрос Specify which drivers and TSRs to include in optimization? (Указывать, какие драйверы и резидентные программы следует включать в оптимизацию?).
Режим Custom Setup достаточно похож на режим Express Setup. Он отличается тем, что после запроса EMS-памяти появится окно Advanced Options. Значения опций данного окна определяют, каким образом MemMaker будет конфигурировать память компьютера в процессе оптимизации.
Если необходимо, пользователь может изменить значения опций окна Advanced Options. Перемещаться по опциям можно с помощью клавиш <t> (стрелка вверх) и <4> (стрелка вниз). А изменять их значения с помощью клавиши <Space>. Для получения информации о какой-либо опции необходимо нажать клавишу <F1>.
Для продолжения работы утилиты следует нажать клавишу <Enter>. Программа MemMaker может вывести на монитор компьютера какие-либо вопросы или предложения. В этом случае необходимо просто правильно отвечать на них и следовать инструкциям. Затем MemMaker предложит перезапустить компьютер, чтобы протестировать загрузку всех драйверов устройств и резидентных программ.
Дальше все будет происходить так, как и в режиме стандартной установки.
Программа MemMaker изменяет конфигурацию памяти системы, корректируя команды в файлах Autoexec.bat, Config.sys и иногда в System.ini. Перед изменением файлов MemMaker создает их резервные копии обычно с теми же именами, но с расширениями umb. Если в процессе оптимизации возникли какие-либо проблемы, то можно отменить изменения и восстановить предыдущие версии этих файлов. Можно отменить изменения даже после выхода из утилиты MemMaker. Для этого необходимо:
1. Завершить работу всех активных программ.
2. Запустить утилиту, набрав в командной строке Memmaker /undo. В результате появится сообщение, предлагающее либо восстановление исходного вида измененных файлов, либо выход из утилиты MemMaker.
3. Для восстановления — нажать клавишу <Enter>. Поступит предложение перезапустить компьютер.
4. Нажать клавишу <Enter>.