Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Dos7book

.pdf
Скачиваний:
75
Добавлен:
09.02.2015
Размер:
5.1 Mб
Скачать

Глава 5: Избранные драйверы для MS-DOS7

HIMEM.EXE – создан в рамках проекта FreeDOS и поставляется вместе с EMM386.EXE (примечание 4 к 5.04-02). Упомянутые здесь аналоги принимают различные перечни параметров, описанные в сопровождающих файлах.

Примечание 4: в MS-DOS8 драйвер XMS-памяти включен в состав загрузчика

IO.SYS, так что HIMEM.SYS для MS-DOS8 не нужен.

5.04-02 EMM386.EXE: драйвер отображаемой памяти и VCPI-сервер.

Драйверы EMM (= Expanded Memory Manager) первоначально были разработаны в 1982 – 1983 годах с целью управления доступом к дополнительной памяти на платах расширения для компьютеров IBM PC. Тогда роль драйверов EMM состояла в переключении банков памяти на платах расширения с тем, чтобы выборочно обращаться к любому из них через одно и то же "окно" адресного пространства (обычно E000 – EFFFh). Тогда же такой способ управления доступом

к банкам памяти на платах расширения был регламентирован спецификацией LIM EMS. В ней, помимо прочего, оговорено разделение выделенного "окна" адресного пространства на несколько страниц по 16 килобайт, независимо направляемых на адресацию того или другого банка памяти.

Позже появились компьютеры со встроенной памятью более 1 Мегабайта, а платы расширения с дополнительными банками памяти вышли из моды. Но совместимость с программами, использующими старую адресацию LIM EMS, необходимо было сохранить, и потому принцип действия драйверов EMM был радикально изменен. Они стали управлять не платами расширения, а механизмом табличного преобразования адресов, реализованным во всех процессорах начиная с модели 80386. С тех пор такие драйверы известны под именем EMM386. Они дают возможность обращаться через те же страницы "окна" адресного пространства к участкам расширенной памяти за пределами первого мегабайта.

Уместно вспомнить, что расширенной памятью за пределами первого мегабайта "распоряжается" драйвер HIMEM.SYS (5.04-01). Именно он выделяет участки расширенной памяти в пользование программам по их запросам. Поэтому драйвер EMM386 выступает в роли посредника: получив запрос от программы на доступ к памяти согласно спецификации LIM EMS, он обращается к драйверу HIMEM.SYS и получает в пользование участок расширенной памяти, а потом изменяет адреса в таблице преобразования TLB так, чтобы обеспечить запрашивающей программе

постраничный доступ к предоставленному участку расширенной памяти через "окно" адресного пространства. Когда в расширенной памяти нет свободного участка нужного размера, драйвер EMM386 способен удовлетворить запрос путем комбинирования адресации к нескольким участкам меньшего размера. Благодаря

процессорному механизму преобразования адресов возможно исполнение программного кода непосредственно в расширенной памяти.

– 121 –

Глава 5: Избранные драйверы для MS-DOS7

Миссию драйвера EMM386 дополнительно осложняет то, что механизм

табличного преобразования адресов в процессорах действует только когда процессоры работают в защищенном режиме. Поэтому драйвер EMM386 переключает процессор в режим виртуального 8086 (V86), являющийся вариантом защищенного режима, и обеспечивает исполнение программ DOS в этом режиме на третьем (низшем) уровне привилегий. Конечно, компьютер должен иметь процессор не древнее модели 80386, способный реализовать режим V86. Программы DOS получают разрешение на проведение операций ввода-вывода на низшем уровне привилегий, так что условия доступа к дискам и к портам сохраняются такими же, как в реальном режиме. Возможности, предоставляемые режимом V86, драйвер EMM386 использует не только для отображения участков расширенной памяти в страницы "окна" адресного пространства, но также для загрузки драйверов через свободные участки области 640 – 1024 кбайт и для координации действий программ, организующих работу в защищенном режиме.

Помимо драйвера EMM386.EXE, взять управление в защищенном режиме "на себя" пытаются программы-экстендеры (например, DOS4GW.EXE), программы- серверы DPMI (например, CWSDPMI.EXE), а также многозадачные операционные системы (например, Windows). Все они не могли бы выполнить свою миссию в защищенном режиме V86 на третьем (низшем) уровне привилегий, то есть на правах обычных прикладных программ. Чтобы передача управления не вызывала конфликтов, в 1989 году был согласован протокол VCPI (Virtual Control Program Interface), разработанный фирмами Phar Lap Software и Quarterdeck Office Systems.

Согласно протоколу VCPI программа, обслуживающая работу в режиме V86, должна взять на себя исполнение ряда дополнительных функций, включая переход по запросу из режима V86 в защищенный режим с нулевым (высшим) уровнем привилегий. Поскольку в MS-DOS7 роль такой программы играет драйвер EMM386.EXE, постольку его также называют VCPI-сервером. Некоторые из специфичных функций VCPI-серверов описаны в главе 8 (8.03-718.03-73).

Для загрузки драйверов в расширенную память возможность исполнения там программного кода необходима, но не достаточна. Дело в том, что обращения к драйверам производятся по фиксированным адресам, и исполняемый код драйверов не рассчитан на оперативное "перелистывание" страниц. Поэтому для загрузки драйверов и других резидентных программ драйвер EMM386 организует статичное отображение участков расширенной памяти на UMB-блоки, которые

могут быть размещены во всех свободных промежутках адресного пространства от 640 до 1024 кбайт. Если драйвер EMM386 уже загружен, и затем еще раз запущен на исполнение из командной строки (без параметров), то он покажет на экране, как распределено доверенное ему адресное пространство.

В комплекте поставки операционной системы Windows-95 имеется драйвер

EMM386.EXE версии 4.95 (6/12/1996, 125495 байт), который, однако, не предназначен для обслуживания автономной работы MS-DOS7. Драйвер версии

– 122 –

Глава 5: Избранные драйверы для MS-DOS7

4.95 передает вызовы исключений на исполнение обработчикам защищенного режима, устанавливаемым операционной системой Windows. А когда MS-DOS7 действует отдельно от системы Windows, вызовы исключений не находят исполнителя и обычно заканчиваются "зависанием" компьютера. Поэтому для автономной работы MS-DOS7 нужны драйверы EMM386.EXE более ранних версий 4.49 или 4.50. Варианты загрузки и параметры у них такие же. Версия 4.49 (31/05/1993, 120926 байт) имеется на сервере ftp://ftp.vgt.ru/dos/ в составе образа дискеты Dos622_1.img. Его надо записать на дискету с помощью программы IMG.EXE (6.06), а там файл EMM386.EX_ можно будет распаковать с помощью программы EXPAND.EXE (6.10). Версию 4.50 драйвера EMM386.EXE (30/04/1998, 119390 байт) из комплекта PC DOS 2000 фирмы IBM можно скачать с сервера ftp://ftp.eesnet.ru/dos/ в составе SFX-архива Pcdos2k.exe.

Только после активизации драйвера EMM386.EXE становится возможной загрузка в расширенную память командами LH (3.17), DEVICEHIGH (4.07) и всеми другими с окончанием ...HIGH. Но доступ к расширенной памяти согласно спецификации XMS должен быть предоставлен заранее, до загрузки драйвера EMM386.EXE. Поэтому драйвер EMM386.EXE нужно загружать командой DEVICE (4.06) из той строки файла CONFIG.SYS, которая следует за строкой загрузки драйвера HIMEM.SYS (5.04-01) и предшествует всем строкам с командами, имеющими окончание ...HIGH. Строка загрузки драйвера EMM386.EXE может выглядеть, например, так:

DEVICE=C:\DOS\DRV\EMM386.EXE RAM V

здесь:

C:\DOS\DRV\ – пример пути к драйверу EMM386.EXE

RAM

разрешить создание EMS-страниц и UMB-блоков (другой

 

 

пример использования параметра RAM показан ниже)

V

вывести сообщение о распределении EMS-страниц и

 

 

UMB-блоков.

Помимо перечисленных выше параметров, в этой строке файла CONFIG.SYS также могут быть указаны другие необязательные параметры, в частности:

OFF – отложить активизацию драйвера EMM386 до выдачи команды "EMM386.EXE ON" из командной строки. Если вместо OFF указать параметр AUTO, то отложенная активизация драйвера EMM386 может быть произведена как из командной строки, так и по запросам программ. Пока драйвер EMM386 не активизирован, загрузку других драйверов через область UMB он не обслуживает.

8196 – пример спецификации размера EMS-памяти в килобайтах, допускается от 16 кбайт до фактического размера свободной XMS-памяти, но не свыше 32768 кбайт. По умолчанию

– 123 –

Глава 5: Избранные драйверы для MS-DOS7

 

 

запрашивается вся доступная XMS-память, если только не

 

 

указан параметр NOEMS, при котором устанавливаемый по

 

 

умолчанию размер равен 0.

В любом случае

размер будет

 

 

округлен до величины, кратной 16 кбайт.

 

min=256 –

не устанавливать доступ к расширенной памяти согласно

 

 

спецификации EMS, если размер этой памяти не превышает

 

 

указанного минимального значения в пределах от 0 до

 

 

запрашиваемой величины (только когда не указан параметр

 

 

NOEMS).

 

 

 

 

 

W=ON

разрешить поддержку арифметического сопроцессора Weitek; по

 

 

умолчанию его поддержка отключена (OFF). Когда драйвер

 

 

EMM386 активизирован, он принимает из командной строки

 

 

команды

 

 

 

 

 

 

 

EMM386 W=OFF

 

 

 

 

 

 

EMM386 W=ON.

 

 

 

 

M4

пример спецификации начального сегментного адреса блока

 

 

памяти (кадра) для последовательного размещения четырех

 

 

EMS-страниц с номерами 0 – 3, по 16 кбайт каждая. Числа после

 

 

буквы М это коды (от 1 до 14), которым соответствуют адреса

 

 

1 = C000h;

2 = C400h;

3 = C800h;

4 = CC00h;

 

 

 

5 = D000h;

6 = D400h;

7 = D800h;

8 = DC00h;

 

 

9 = E000h; 10 = 8000h;

 

 

 

 

 

 

11 = 8400h; 12 = 8800h; 13 = 8C00h; 14 = 9000h

 

 

 

По умолчанию принимается начальный адрес E000h.

FRAME=CC00 –

пример

непосредственного задания того же самого

 

 

начального сегментного адреса. Другие адреса, кроме 14

 

 

показанных выше, не допускаются. Для запрета постраничного

 

 

доступа можно указать FRAME=NONE, это будет эквивалентно

 

 

параметру NOEMS.

 

 

 

 

/PCC00

еще один пример спецификации сегментного адреса кадра из

 

 

EMS-страниц 0 – 3. После параметра /P может быть задан один

 

 

из тех же самых 14 адресов.

 

 

 

P4=DC00–

пример спецификации

для добавления еще одной, пятой

 

 

EMS-страницы P4 к кадру CC00h – DBFFh, содержащему

 

 

EMS-страницы с номерами 0 – 3. Параметры "P" в строке можно

 

 

указывать несколько раз с номерами EMS-страниц от 4 до 14.

 

 

Указывать параметры "P" с номерами 0 – 3 тоже можно, но

 

 

только

если начальный

сегментный адрес кадра не задан

 

 

как-либо иначе, и если

последовательное

расположение

 

 

EMS-страниц 0 – 3 сохранено.

 

 

 

X=F000-FFFF –

пример

спецификации, запрещающей использовать

 

 

указанную область памяти в пределах диапазона адресов A000h

– 124 –

Глава 5: Избранные драйверы для MS-DOS7

– FFFFh. Указанные сегментные адреса будут округлены вниз до величины, кратной 4-м килобайтам.

I=BC00-BFFFпример спецификации, разрешающей использование указанного участка памяти для размещения UMB-блоков.

Указанные сегментные адреса будут округлены вниз до величины, кратной 4-м килобайтам. Когда параметры "I" и "X" задают перекрывающиеся диапазоны адресов, преимущество имеет параметр "X".

B=4000 – сегментный адрес (в пределах 1000h – 4000h) допустимой нижней границы области размещения EMS-страниц. По

 

умолчанию нижняя граница – 4000h.

L=256 – спецификация размера области памяти, резервируемой для

 

доступа согласно спецификации XMS (в килобайтах, по

 

умолчанию принимается 0).

A=7

число банков регистров, создаваемых для обслуживания

 

многозадачного доступа. Допускается от 0 до 254 банков, по

 

умолчанию принимается 7. Каждый банк регистров занимает

 

около 200 байт.

h=64

количество ссылок на участки расширенной памяти, которые

 

можно одновременно держать открытыми для доступа.

 

Допускается от 2 до 255 ссылок, по умолчанию принимается 64.

d=32

размер резервного буфера для обслуживания прямого доступа в

 

память (DMA). Допускается от 16 до 256 кбайт, по умолчанию

 

принимается 32.

RAM=C000-EFFF

пример спецификации границ области размещения

 

UMB-блоков и EMS-страниц. Если за параметром RAM не

 

следует спецификация сегментных адресов, то считается

 

разрешенным все доступное пространство памяти.

WIN=E000-EFFF

пример резервирования области памяти для

 

использования операционной системой WINDOWS.

ROM=F000-FFFF

загрузить копию кода BIOS в указанную область

 

памяти, если копирование не производится самой системой

 

BIOS. Копирование кода BIOS способствует повышению

 

быстродействия компьютера.

NOEMS – не создавать EMS-страниц, исключить доступ к расширенной

 

памяти согласно спецификации EMS, но использовать

 

пространство 640 – 1024 кбайт для создания UMB-блоков и для

 

загрузки драйверов.

NOHI

загрузить весь резидентный модуль драйвера EMM386 в

 

обыкновенную память, то есть ниже границы 640 кбайт.

NOMOVEXBDA

не копировать код BIOS в память по умолчанию.

– 125 –

Глава 5: Избранные драйверы для MS-DOS7

NOTR –

не искать сетевую карту компьютера (только для EMM386

 

версий 4.45 – 4.95)

NOVCPI –

не предоставлять службы VCPI (примечание 2) по запросам

 

других программ, не давать им прав "распоряжаться" памятью

по своему усмотрению. Параметр NOVCPI можно указывать только совместно с параметром NOEMS.

HIGHSCAN – запустить процедуру сканирования для поиска свободных участков памяти. Благодаря этой процедуре использование памяти становится более эффективным, но вместе с тем возрастает риск ошибок, из-за которых возможно зависание компьютера.

ALTBOOT – заменить обработчик перезагрузки компьютера. Этот параметр следует указывать только тогда, когда обычная комбинация CTRL-ALT-DEL перестает действовать после загрузки драйвера

EMM386.EXE.

NOBACKFILL – предотвратить создание UMB-блоков в обыкновенной памяти, когда драйвер EMM386.EXE загружается на компьютерах, у которых вся память меньше 640 кбайт.

Когда драйвер EMM386.EXE уже загружен и активизирован, ему можно послать из командной строки команды "EMM386 OFF" и "EMM386 AUTO". Но эти команды не будут исполнены, если к тому моменту через область UMB уже загружены другие драйверы, которые должны оставаться доступными.

Примечание 1: драйвер EMM386.EXE принимает запросы на исполнение операций от программ посредством прерывания INT 67 (8.03-578.03-74).

Примечание 2: службы VCPI предоставляются программам через прерывания INT 67\AX=DE00h-DE0Ch. Они дают шанс исполнить свою миссию тем программам, которым необходимо использовать особенности защищенного режима. Благодаря службам VCPI, в частности,

становится возможной последующая загрузка операционной системы Windows. Но в "окне DOS" операционной системы Windows службы VCPI недоступны, чтобы предотвратить операции, которые могли бы привести к дестабилизации.

Примечание 3: вариант драйвера EMM386.EXE, поставляемый в составе Windows-ME, не предназначен для обслуживания автономной работы MS-DOS8 и в такой роли с некоторыми модификациями процессоров вообще несовместим (вызывает "зависание" компьютера при загрузке).

Примечание 4: известны несколько аналогов описанного драйвера EMM386.EXE, пригодных для работы в среде MS-DOS7. Лучший из них драйвер JEMM386.EXE, разработку которого курирует Том Ехлерт (Tom Ehlert). В декабре 2007 года архив JEMM568.ZIP с версией 5.68

– 126 –

Глава 5: Избранные драйверы для MS-DOS7

этого драйвера был выложен на сайте http://japheth.de/ . Еще один аналог разрабатывался для проекта FreeDOS, его можно свободно скачать с сервера ftp://ftp.devoresoftware.com/downloads/ . Аналоги

намного компактнее оригинала и отличаются от него перечнем принимаемых параметров.

5.04-03 Оптимизация памяти: драйвер CHKSTATE.SYS

Файл CHKSTATE.SYS – это служебная резидентная программа для обслуживания оптимизации распределения памяти в MS-DOS6.22, но оказавшаяся вполне пригодной и для MS-DOS7. CHKSTATE.SYS загружается как драйвер командой DEVICE из первой строки файла CONFIG.SYS, причем эта строка вписывается автоматически оптимизационной программой MEMMAKER.EXE, и так же автоматически удаляется по завершении процедуры оптимизации. В процессе пробной загрузки CHKSTATE.SYS формирует временный файл отчета со сведениями об участках памяти, выделяемых каждому загружаемому драйверу.

Примечание 1: для проведения процедуры оптимизации распределения памяти основная программа MEMMAKER.EXE должна находиться в одном каталоге с файлами CHKSTATE.SYS, EMM386.EXE, HIMEM.SYS, MEMMAKER.HLP, MEMMAKER.INF и SIZER.EXE.

Все эти файлы входят в комплект поставки MS-DOS6.22, а также содержатся в файле архива OLDDOS.EXE, который можно

свободно скачать из сети Интернет с сервера ftp://ftp.microsoft.com/softlib/mslfiles/ .

Примечание 2: программа MEMMAKER.EXE неспособна правильно занести скорректированные параметры (3.17, 4.07) в файлы CONFIG.SYS и AUTOEXEC.BAT при наличии меню с несколькими вариантами конфигураций загрузки. Каждый вариант загрузки следует оптимизировать отдельно, и только по полученным таким образом

данным можно составлять конфигурационные файлы с несколькими оптимизированными вариантами загрузки.

5.04-04 UMBPCI.SYS – драйвер блоков UMB.

Чтобы открыть область UMB (C000h – EFFFh) для загрузки, драйвер EMM386.EXE (5.04-02) организует преобразования адресов через таблицы TLB и вынуждает платить за это переводом процессора в режим V86. Но когда необходимо оставаться в реальном режиме, доступ к области UMB может быть открыт путем перепрограммирования контроллера памяти, входящего в состав комплекта микросхем (чипсета) на материнской плате компьютера. Этот альтернативный вариант доступа реализован драйвером UMBPCI.SYS.

– 127 –

Глава 5: Избранные драйверы для MS-DOS7

Разработка драйвера UMBPCI.SYS имеет долгую историю с участием многих программистов. Сейчас ее продолжает Уве Зибер (Uwe Sieber). Свежая версия драйвера UMBPCI.SYS бывает выложена на сайте http://www.uwe-sieber.de/ , и ее можно свободно скачать в составе файла архива UMBPCI.ZIP с текстами на немецком языке или в составе файла архива UMBPCI_E.ZIP с текстами на английском языке. Ниже описана версия 3.66 драйвера UMBPCI.SYS, датируемая мартом 2006 года.

Конечно, UMBPCI.SYS не заменяет драйвер EMM386.EXE в части осуществления спецификации EMS, он выполняет только функции, оговоренные спецификацией XMS, но именно те, которые обычно возложены не на

HIMEM.SYS, а на EMM386.EXE (они перечислены в примечании 6 к A.12-3).

Для перепрограммирования контроллера памяти драйвер UMBPCI.SYS пользуется обработчиками прерываний BIOS, обслуживающими шину PCI (INT 1A\AH=B1h). Поэтому драйвер UMBPCI.SYS можно применять на компьютерах, которые имеют шину PCI и обеспечивают управление ею. Этим условиям удовлетворяют почти все AT-совместимые компьютеры, выпущенные после 1996 года. Исключение составляют компьютеры с процессорами AMD-K7: в них блоки UMB, организованные посредством UMBPCI.SYS, нельзя использовать для загрузки драйверов, обслуживающих платы расширения на шине PCI.

Физически UMBPCI.SYS задействует свободную часть области "теневой" памяти, которая предназначена для копирования кодов из более инерционных микросхем постоянной памяти BIOS. Не все комплекты микросхем (чипсеты) способны обеспечить прямой доступ (DMA) в эту область памяти, а он нужен контроллеру флоппи-дисков, драйверу SMARTDRV.EXE (5.06-01), и даже системе Windows, если потом надо будет ее загружать. Последствия ограничений на прямой доступ (DMA) к "теневой" памяти можно предотвратить с помощью дополнительных программ, поставляемых вместе с драйвером UMBPCI.SYS в тех же файлах архива. Там же даны рекомендации по преодолению проблем, специфичных для отдельных комплектов микросхем (чипсетов). Разумеется,

критичные особенности состава оборудования компьютера должны быть учтены в конфигурации загрузки.

Загружать драйвер UMBPCI.SYS надо командой DEVICE (4.06) из строки файла CONFIG.SYS, следующей за строкой загрузки драйвера HIMEM.SYS, но предшествующей всем командам загрузки в область UMB (имеющим обычно окончание ...HIGH). Строка загрузки драйвера UMBPCI.SYS может выглядеть, например, так:

DEVICE=\DOS\DRV\UMBPCI.SYS /I=D000–DFFF

Здесь

\DOS\DRV\

пример пути к драйверу UMBPCI.SYS

– 128 –

Глава 5: Избранные драйверы для MS-DOS7

/I=D000-DFFFнеобязательный параметр, предписывающий открыть часть адресного пространства для размещения UMB-блоков. Границы выделенной части области UMB должны быть кратны 16 килобайтам (то есть C800, CC00, D000, D400 и так далее).

Если указан параметр /I=, то UMBPCI.SYS не будет искать незанятые участки памяти для размещения UMB-блоков. Допускается наличие нескольких параметров /I= в одной командной строке, и тогда каждая предписанная часть области UMB получит свой порядковый номер. Команды DEVICEHIGH (4.07) и LH (3.17) принимают порядковый номер части области UMB после параметра /L:, и

благодаря тому можно загрузить любой конкретный драйвер в предназначенную для него часть адресного пространства. Последнее важно для драйверов, пользующиеся прямым доступом (DMA), потому что некоторые комплекты микросхем (чипсеты) – например, i430TX – обеспечивают DMA не во всей области UMB, а только в пределах сегментных адресов E000–EFFFh. Однако обычно параметр /I= указывать не приходится, так как наиболее распространенные комплекты микросхем (i815, i820, i845, i850, i855 и многие другие) не накладывают никаких ограничений на доступ к области UMB.

Примечание 1: в старых компьютерах, не имеющих шины PCI, доступ к области UMB может быть открыт с помощью драйвера HIRAM.EXE и сопровождающих его дополнительных программ. Весь этот комплект, написанный еще в 1993 году, можно скачать в составе одного файла архива http://www.uwe–sieber.de/files/hiram.zip .

5.05Драйверы RAM-дисков

Драйверы RAM-дисков используют часть оперативной памяти компьютера (RAM) для создания виртуального записываемого диска. Это дает возможность пользоваться записью на диск при восстановительных и настроечных работах,

когда физическое записываемое дисковое пространство может быть недоступно или когда оставлять какие-либо следы доступа на реальном диске нежелательно. Помимо прочего, виртуальные RAM-диски работают намного быстрее реальных дисководов. Поскольку содержимое RAM-дисков теряется при каждом выключении компьютера, постольку их целесообразно использовать для записи временных файлов и всего того, чем физические диски захламлять не хочется.

Общий недостаток многих драйверов RAM-дисков их неспособность

обеспечить присвоение заданного буквенного обозначения создаваемому виртуальному диску. DOS всегда назначает создаваемому диску первую свободную букву, которая заранее неизвестна. Одно решение, пример которого приведен в разделе 9.04-02, заключается в том, чтобы потом искать букву, назначенную именно RAM-диску. Другой выход это заранее обмануть DOS в отношении

– 129 –

Глава 5: Избранные драйверы для MS-DOS7

действительного количества имеющихся дисков с помощью драйвера фантомных дисков. Пример такого драйвера приведен в разделе 9.08.

5.05-01 Драйвер RAM-диска RAMDRIVE.SYS

Драйвер RAMDRIVE.SYS разработан фирмой Microsoft и поставляется в составе операционных систем WINDOWS-95/98/ME. При их стандартной установке этот драйвер находится в каталоге \WINDOWS.

Драйвер RAMDRIVE.SYS предназначен для загрузки командой DEVICE (4.06)

или DEVICEHIGH (4.07) из строки файла CONFIG.SYS:

DEVICE=C:\DOS\DRV\RAMDRIVE.SYS 16000 512 256 /E

здесь:

C:\DOS\DRV\ – пример пути к драйверу RAMDRIVE.SYS.

16000 – пример спецификации размера создаваемого RAM-диска в килобайтах, допускается от 4 до 32767 кбайт, по умолчанию принимается 64 кбайт.

512 – пример спецификации размера сектора в байтах; допускаются значения 128, 256 и 512 байт, по умолчанию принимается 512 байт. Если размер сектора указан, то размер RAM-диска должен быть указан тоже.

256пример спецификации максимального суммарного числа файлов

икаталогов в корневом каталоге RAM-диска, допускается от 2 до 1024, по умолчанию принимается 64. Если объем корневого

каталога указан, то размер сектора RAM-диска должен быть указан тоже.

/E – необязательный параметр, определяющий предпочтительное размещение RAM-диска в XMS-памяти, обеспечиваемой драйвером HIMEM.SYS. Вместо параметра /E можно указать параметр /A, задающий предпочтение использованию EMS-памяти, обеспечиваемой драйвером EMM386.EXE.

Чтобы создать несколько RAM-дисков, нужно добавить в файл CONFIG.SYS по одной строке загрузки драйвера RAMDRIVE.SYS на каждый диск.

Примечание 1: RAM-диски объемом до 2 Гб может создать драйвер RDISK.COM,

выложенный на сайте http://johnson.tmfc.net/dos/driver.html . Для этого драйвера необходим менеджер памяти, предоставляющий доступ к XMS-пространству до 4 Гб (примечание 3 к 5.04-01).

– 130 –

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]