Обзор команд и драйверов MSDOS 6.2
efcd5b7a

Файл HIMEM SYS



Файл HIMEM.SYS

HIMEM - это администратор дополнительной памяти, программа, координирующая использование дополнительной памяти вашего компьютера, включая старшую память (HMA), благодаря чему никакие прикладные программы и драйверы устройств не используют одновременно одну и ту же память.

Установить HIMEM вы можете с помощью команды DEVICE для HIMEM.SYS в файле CONFIG.SYS. Команды для HIMEM.SYS должны следовать перед другими командами, запускающими прикладные программы или драйверы устройств, использующие дополнительную память (например, EMM386.EXE). DEVICE=[диск:][маршрут]HIMEM.SYS [/A20CONTROL:ON OFF] [/CPUCLOCK:ON OFF] [/EISA] [/HMAMIN=m] [/INT15=xxxx] [/NUMHANDLES=n] [/MACHINE:xxxx] [/SHADOWRAM:ON OFF] [/TESTMEM:ON OFF] [/VERBOSE]

В большинстве случаев параметры командной строки задавать не требуется. Значения по умолчанию обеспечивают работу HIMEM.SYS на большинстве аппаратных средств.

Параметр [диск:][маршрут] задает расположение файла HIMEM.SYS. Его всегда следует размещать на том же диске, где содержатся файлы MS-DOS. Если файл HIMEM.SYS находится в корневом каталоге на системном диске, маршрут задавать не надо. Однако всегда нужно указывать полное имя файла (HIMEM.SYS).

Параметр /A20CONTROL:ON OFF определяет, должен ли HIMEM выполнять управляющие функции обработчика A20 (даже при включенном A20 при загрузке HIMEM. Обработчик A20 дает вашему компьютеру доступ к HMA. Если вы зададите /A20CONTROL:OFF, HIMEM берет на себя управления A20 только при выключенном обработчике A20. По умолчанию устанавливается /A20CONTROL:ON.

/CPUCLOCK:ON OFF определяет, должен ли HIMEM влиять на скорость часов вашего компьютера. Если после загрузки HIMEM скорость хода часов вашего компьютера изменяется, то /CPUCLOCK:ON поможет исправить проблему, однако данный параметр замедляет работу HIMEM. По умолчанию устанавливается /CPUCLOCK:OFF.

/EISA задает, что HIMEM должен распределять всю доступную память. Этот параметр необходим только для компьютеров с расширенной архитектуройEISA (Extended Industry Standard Architecture) и более 16 мегабайтами памяти. На других компьютерах HIMEM автоматически распределяет всю доступную дополнительную память.

/HMAMIN=m задает, сколько килобайт памяти должна затребовать у HIMEM прикладная программа для использования HMA. В каждый момент HMA может использовать только одна прикладная программа. HIMEM выделяет HMA первой программе, отвечающей заданным данным параметром требованиям к памяти. Вы можете задавать значение от 0 до 63. Задавайте объем памяти, необходимый прикладной программе. По умолчанию устанавливается нулевое значение - HIMEM выделяет HMA первой программе, которой это требуется, независимо от объема. При работе Windows в улучшенном режиме 386 параметр /HMAMIN не действует.

/INT15=xxxx резервирует заданный (в килобайтах) объем дополнительный памяти для интерфейса прерывания 15h. Некоторые старые прикладные программы вместо XMS (eXtended-Memory Specification), как это делает HIMEM, используют интерфейс для выделения дополнительной памяти прерывания 15h. Если вы используете эти программы, то можете с помощью установки xxxx на 64К больше объема, требуемого программе, обеспечить остаточно памяти.

Можно задавать значение от 64 до 65535, однако нельзя задать больше памяти, чем имеет система. Если вы зададите значение, меньшее 64, то оно становится нулевым.

/NUMHANDLES=n задает максимальное число блоков дополнительной памяти (EMB), которые могут использовать одновременно. Вы можете задавать значение от 1 до 128 (по умолчанию 32). Каждый дополнительный описатель требует 6 байт памяти.

При работе Windows в улучшенном режиме 386 параметр /NUMHANDLES не действует.

/MACHINE:xxxx задает тип используемого компьютера. Обычно HIMEM может распознавать тип компьютера, однако на некоторых типах компьютеров (например, Acer 1100, Wyse и IBM 7552) это сделать не удается. В таких системах HIMEM использует тип компьютера по умолчанию (IBM AT-совместимый). Если ваш компьютер имеет тип, не распознаваемый HIMEM, может потребоваться данный параметр. Значения xxxx приведены в следующей таблице:

Код Число Тип компьютера
at 1 IBM AT-совместимый
ps2 2 IBM PS/2
ptlcascade 3 Phoenix Cascade BIOS
hpvectra 4 HP Vectra (A и A+)
att6300plus 5 AT&T 6300 Plus
acer1100 6 Acer 1100
toshiba 7 Toshiba 1600 и 1200XE
wyse 8 Wyse 12.5 Mhz 286
tulip 9 Tulip SX
zenith 10 Zenith ZBIOS
at1 11 IBM PC/AT (альтерн.)
at2 12 IBM PC/AT (альтерн.)
css 12 CSS Labs
at3 13 IBM PC/AT (альтерн.)
philips 13 Philips
fasthp 14 HP Vectra
ibm7552 15 IBM 7552
bullmicral 16 Bull Micral 60
dell 17 Dell XBIOS

/TESTMEM:ON OFF определяет, будет ли HIMEM выполнять проверку память при запуске компьютера. По умолчанию HIMEM при каждом запуске компьютера проверяет надежность его дополнительной памяти. Этот тест может идентифицировать ненадежную память, которая может вызвать нестабильную работу системы или потерю данных. Проверка HIMEM - это не просто стандартная проверка памяти, которая выполняется на большинстве компьютеров. Она предусматривает некоторое расширенное тестирование. Чтобы запретить тестирование памяти, задайте /TESTMEM:OFF. Запрет проверки памяти ускорит процесс запуска. По умолчанию устанавливается /TESTMEM:ON.)

/SHADOWRAM:ON OFF определяет, следует ли запретить теневую оперативную память RAM (SHADOWRAM:OFF) или оставить выполняемый из RAM код ROM (SHADOWRAM:ON). На некоторых компьютерах с помощью "теневого" отображения кода ROM (ПЗУ) в RAM (ОЗУ) обеспечивается его более быстрое выполнение. При этом используется некоторый объем дополнительной памяти. На отдельных компьютерах с теневой памятью и менее 2 мегабайт оперативной памяти HIMEM обычно пытается запретить теневую память RAM, чтобы получить дополнительную память для использования ее Windows. (HIMEM может запретить RAM только на определенных типах систем.) При запрете HIMEM теневой RAM код ROM выполняется в более медленной памяти ROM, что несколько замедляет работу компьютера.

/VERBOSE задает вывод в HIMEM при загрузке сообщений о состоянии и ошибках. По умолчанию HIMEM не выводит сообщений, пока не обнаружит ошибку. /VERBOSE можно сократить до /V.

В версии 6.2 MS-DOS HIMEM.SYS включает в себя новое средство защиты. HIMEM при каждом запуске компьютера тестирует память, записывая в нее и считывая данные. Если считанные HIMEM данные отличаются от записанных, то память по данному адресу считается ненадежной. При этом выводится следующее сообщение: ERROR: HIMEM.SYS has detected unreliable extended memory at address XXXXXXXXh. (по адресу XXXXXXXXh HIMEM.SYS обнаружил ненадежную память)

Если получите такое сообщение, то память вашей машины должен проверить квалифицированный электронщик. Запрещать проверку памяти и работать дальше не рекомендуется.

В каждый момент времени старшую память (HMA) может использовать только одна программа. Если вы опустите параметр /HMAMIN=m или установите его в 0, HIMEM резервирует HMA для первой программы с соответствующим запросом. Чтобы обеспечить более эффективную работу с памятью, установите в /HMAMIN=m наибольший объем памяти, используемый такими программами.

Чтобы загрузить MS-DOS в старшую память (HMA), требуется загрузка HIMEM или другого драйвера XMS. MS-DOS загружается в HMA с помощью команды DOS=HIGH файла CONFIG.SYS.

Чтобы запустить HIMEM со значениями по умолчанию, достаточно включить в любое место CONFIG.SYS команду device=himem.sys. Например, чтобы запустить HIMEM со значениями по умолчанию, добавьте в файл CONFIG.SYS следующую командную строку: device=himem.sys



Содержание раздела