Интернет-журнал "Домашняя лаборатория", 2007 №10
Шрифт:
Параметр /S сжимает при загрузке программы UMB до его минимального размера. Это делает использование памяти наиболее эффективным. Данный параметр обычно задается только программой MemMaker. Применять его можно только в сочетании с параметром /L. Он влияет только на те блоки UMB, для которых задан минимальный размер.
Параметр [диск: ][маршрут]имя_файла задает расположение и имя файла, который вы хотите загрузить.
"Параметры" задают необходимую программе информацию командной строки.
О загрузке в старшую память драйверов устройств рассказывается в описании команды DEVICEHIGH, а о программе 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: \user\progs\opers.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 команды:
с: \dos\doskey
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: диск задает буквенную метку и диск, который был загрузочным диском. Задайте после двоеточия букву текущего диска. Этот параметр необходим только в том случае, если буквенная метка диска после запуска компьютера изменилась. В противном случае MemMaker не сможет найти системных файлов. При использовании программ Stacker 2.0, SuperStor или Microsoft DoubleSpace данный параметр указывать не нужно.