Команда DEVICEHIGH

Загружает заданный драйвер устройства в старшую память (> 640К). Это позволяет освободить обычную память для других программ. Если старшая память недоступна, то команда DEVICEHIGH работает аналогично команде DEVICE. Эту команду можно использовать только в файле CONFIG.SYS.


     DEVICEHIGH [диск:][маршрут]имя_файла [параметры]

Чтобы задать область памяти, в которую нужно загрузить драйвер устройства, используйте следующий синтаксис:


     DEVICEHIGH [[/L:область1[,мин_разм1][;область2[,мин_разм2]

                [/S]]=[диск:][маршрут]имя_файла [параметры]

[Диск:][маршрут]имя_файла задает расположение и имя загружаемого драйвера устройства. [Параметры] задают необходимую информацию командной строки драйвера устройства.

Параметр /L:область1[,мин_разм1][;область2[,мин_разм2]... задает одну или более областей памяти, в которые нужно загрузить драйвер. По умолчанию MS-DOS загружает драйвер в наибольший свободный блок в старшей памяти (UMB) и делает другие блоки UMB доступными для использования драйвером. Вы можете указывать параметр /L для загрузки драйвера устройства в заданную область памяти или задания областей памяти, которые может использовать драйвер.

Чтобы загрузить драйвер в наибольший блок в заданной области памяти, задайте после параметра /L номер области. Например, чтобы загрузить драйвер в наибольший свободный блок в области 4, следует набрать /L:4. (Чтобы вывести список свободных областей памяти, наберите в командной подсказке MEM /F.)

При загрузке с параметром /L драйвер устройства может использовать только заданную область памяти. Некоторые драйверы устройств используют более одной области памяти. Для таких драйверов вы можете задать области, разделив их точкой с запятой (;). Например, чтобы использовать блоки 2 и 3, наберите /L:2;3. (Чтобы определить, как драйвер использует память, дайте команду MEM /M и задайте в качестве аргумента драйвер устройства.)

Обычно MS-DOS загружает драйвер в UMB в заданной области, если эта область содержит UMB, больший чем размер загружаемого драйвера (который обычно равен размеру выполняемого файла программы). Если при работе драйверу требуется больше памяти, чем при загрузке, вы можете использовать параметр "мин_разм". Он обеспечивает, что драйвер не будет загружаться в UMB, который для него слишком мал. Если вы задает "мин_разм", MS-DOS загружает драйвер в эту область только если она содержит UMB, превышающий как размер загружаемого драйвера, так и "мин_разм".

Параметр /S сжимает при загрузке драйвера UMB до его минимального размера и обеспечивает наиболее эффективное использование памяти. Обычно данный параметр применяется только программой MemMaker, которая может анализировать использование драйвером устройства памяти и определять, можно ли применять параметр /S при загрузке этого драйвера. Этот параметр можно указывать только в сочетании с параметром /L. Он влияет только на блоки UMB, для которых задан минимальный размер.

О загрузке программ в старшие адреса памяти рассказывается в описании команды LOADHIGH, а о загрузке драйверов устройств в оперативную память - в описании команды DEVICE. Информацию о работе программы MemMaker вы найдете в описании команды MEMMAKER.

Чтобы использовать команду DEVICEHIGH, в файл CONFIG.SYS нужно включить команду DOS=UMB. Если вы не зададите эту команду, то все драйверы устройств будут загружаться в обычную память, как при задании команды DEVICE. См. описание команды DOS.

В MS-DOS 5 использовался синтаксис:


     DEVICEHIGH SIZE=разм_шест [диск:][маршрут] имя_файла

                [параметры]

Хотя в MS-DOS 6 такой синтаксис DEVICEHIGH будет работать, рекомендуется следовать новому синтаксису.

Для загрузки драйвера устройства в старшую память ваш компьютер должен иметь расширенную память. Сначала вы должны задать команду DEVICE для загрузки драйвера HIMEM.SYS, а затем указать ее снова для программы работы с UMB. Эти команды должны следовать в CONFIG.SYS до команды DEVICEHIGH. Если вы работаете на компьютере с процессором 80386 или 80486, то можете использовать в качестве администратора UMB EMM386.EXE. При другом процессоре нужно предусмотреть другую программу.

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

Приведем примеры. Следующие команды в CONFIG.SYS делают старшую память доступной для работы драйверов устройств и программ:


     device=c:\dos\himem.sys

     device=c:\dos\emm386.exe ram

     dos=umb

Команда devicehigh=drv.sys указывает MS-DOS на загрузку драйвера устройства с именем DRV.SYS в старшие адреса памяти компьютера 80386.

Назад | Содержание | Вперед