Интернет-журнал 'Домашняя лаборатория', 2007 №10 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
Чтобы загрузить программу в наибольший блок в конкретной области старшей памяти, задайте после параметра /L номер блока. Например, чтобы загрузить программу в наибольший блок конкретной области старшей памяти, задайте после параметра /L номер области. Например, для загрузки программы в наибольший свободный блок в области 2 нужно задать /L:2. (Список свободных областей выводится по команде MEM /F.)
После загрузки по параметру /L программа может использовать только заданную область памяти. Некоторые программы используют более одной области памяти. Для таких программ вы можете задать несколько областей. В этом случае номера блоков разделяются точкой с запятой, например /L:2;3. (Чтобы выяснить характер использования программой памяти, дайте команду МЕМ /М и задайте в качестве аргумента имя программы.)
LOADHIGH /L обычно загружает программу в UMB в заданной области только если эта область содержит блок UMB большего размера, чем загружаемый объем программы (который равен обычно объему выполняемого файла). Если при выполнении программе требуется больше памяти, чем при загрузке, то чтобы избежать загрузки программы в слишком маленький для нее блок, вы можете использовать параметр "мин_разм". При указании этого значения MS-DOS загружает программу в данную область, только если она содержит UMB, превышающий размер программы и значение "мин_разм".
Параметр /S сжимает при загрузке программы UMB до его минимального размера. Это делает использование памяти наиболее эффективным. Данный параметр обычно задается только программой MemMaker. Применять его можно только в сочетании с параметром /L. Он влияет только на те блоки UMB, для которых задан минимальный размер.
Параметр [диск: ][маршрут]имя_файла задает расположение и имя файла, который вы хотите загрузить.
"Параметры" задают необходимую программе информацию командной строки.
О загрузке в старшую память драйверов устройств рассказывается в описании команды DEVICEHIGH, а о программе MemMaker — в описании MEMMAKER.
Для использования команды LOADHIGH в файл CONFIG.SYS необходимо включить команду DOS=UMB. Кроме того, перед загрузкой программы в старшую память нужно установить администратор старшей памяти. В MS-DOS предусмотрена программа EMM386.EXE, которая управляет областями старшей памяти на компьютере с процессором 80386 или старше. Для установки EMM386, добавьте в файл CONFIG.SYS команду DEVICE. (Команде DEVICE для EMM386 должна предшествовать команда DEVICE для HIMEM.SYS.)
Когда вы используете команду LOADHIGH для загрузки программы, MS-DOS пытается загрузить ее в старшую память. Если там недостаточно места, то MS-DOS загружает программы в обычную память. (Чтобы определить, какие блоки UMB использует программа, дайте команду МЕМ /М и укажите имя программы в качестве аргумента.)
Команду LOADHIGH удобно включать в файл AUTOEXEC.BAT. (При использовании MemMaker это происходит автоматически.)
Приведем пример. Следующая команда загружает программу OPERS.EXE в область 1 и дает ей доступ к областям старшей памяти 5 и 6:
lh /L: 1;5;6 c: userprogsopers.exe
Команда МЕМ
Выводит на экран объем используемой и свободной памяти. Применяется для вывода информации о распределенных областях памяти, свободных областях и загруженных в память программах.
MEM [/CLASSIFY /DEBUG /FREE /MODULE имя_модуля] [/PAGE]
Для вывода состояния используемой и свободной памяти дайте команду МЕМ без параметров.
Параметр /CLASSIFY перечисляет загруженные в память программы и показывает, сколько используется обычной и старшей памяти. MEM /CLASSIFY подсчитывает также общий объем используемой памяти и выводит наибольшие свободные блоки. /CLASSIFY можно сократить до /С.
/DEBUG выводит список загруженных в память программ и внутренних драйверов. Показывает размер каждого модуля, адрес сегмента и тип модуля, подсчитывает общий объем используемой памяти и выводит другую полезную для программирования информацию. /DEBUG (сокращенно /D) можно использовать в сочетании с /PAGE, но не с другими параметрами МЕМ.
Параметр /FREE (сокращенно /F) выводит список свободных областей обычной и старшей памяти. MEM /FREE показывает адрес сегмента и размер каждой свободной области обычной памяти, а также наибольший свободный блок в каждой области старшей памяти. Суммирует используемую память.
/MODULE имя_модуля показывает, как использует память программный модуль (имя указывается обязательно). Выводит список областей памяти, выделенных данной программе, и их размеры. /MODULE можно сократить до /М.
Параметры /С, /F и /М можно использовать в сочетании с /PAGE, но не друг с другом.
Параметр /PAGE делает паузу после вывода каждого экрана. Чтобы автоматически добавить параметр /PAGE к команде МЕМ, можно использовать программу DOSKEY. Для этого включите в AUTOEXEC.BAT команды:
с: dosdoskey
doskey mem=mem.exe $* /р
О проверке памяти на диске рассказывается в описании команды CHKDSK.
MS-DOS выводит информацию о дополнительной памяти только при ее установке в системе. Состояния расширенной памяти показывается только при наличии расширенной памяти, согласующейся с версией 4.0 LIM EMS. Состояние старшей памяти MS-DOS выводит только при установке программы работы с блоками UMB (типа EMM386) и включении в CONFIG.SYS команды DOS=UMB. При выполнении Windows версии 3.0 состояние старшей памяти не выводится.
В выводимой командой МЕМ информации "Adapter RAM/ROM" представляет собой память в подключаемых платах (типа видеоадаптера). "Largest executable program size" — это наибольший непрерывный блок доступной для программы обычной памяти, "Largest free upper memory block" — наибольшая доступная для программы область старшей памяти. "MS-DOS is resident in the high memory area" указывает, что MS-DOS работает в первых 64К дополнительной памяти, а не в обычной памяти.
Некоторые программные модули, такие как WIN386, распределяют несколько областей памяти. Команда MEM /MODULE выводит все области, выделенные для конкретной программы, с их размерами и адресами сегментов. Для блоков старшей памяти MEM /MODULE показывает также номер области. В столбце Туре показывается, как программа использует конкретную область памяти. В графе "total size," выводится общий объем памяти, выделенной MS-DOS для программы.
Команда MEMMAKER
Запускает программу MemMaker, которая оптимизирует память компьютера путем перемещения драйверов устройств и резидентных программ в старшую память. Использовать MemMaker можно на машинах с процессором 80386 или 80486 и дополнительной памятью. Не применяйте эту команду во время работы Windows.
MEMMAKER [/В] [/BATCH] [/SESSION] [/SWAP: диск] [/T] [/UNDO]
[/W: n,m]
Параметр /В выводит MemMaker в черно-белом режиме. Используйте его, если MemMaker некорректно работает на монохромном мониторе.
/BATCH запускает MemMaker в автоматическом режиме. При этом MemMaker сам отвечает на все подсказки по умолчанию. В случае ошибок MemMaker восстанавливает предыдущее содержимое файлов CONFIG.SYS, AUTOEXEC.BAT и (если это требуется) SYSTEM.INI Windows. После завершения работы MemMaker вы можете просмотреть в файле MEMMAKER.STS сообщения о состоянии.
Параметр /SESSION используется исключительно MemMaker в процессе оптимизации.
/SWAP: диск задает буквенную метку и диск, который был загрузочным диском. Задайте после двоеточия букву текущего диска. Этот параметр необходим только в