Фигурнов В. Э. Ф49 ibm pc для пользователя. Изд. 7-е, перераб и доп

Вид материалаКнига

Содержание


Devices: \exe\msdos\emm386. ехе 2048 ram frame=none
Device=c: \exe\scsi\asp18dos. sys
С: \exe\msdos\mscdex. exe /d: cddriv01
Device=c: \exe\scsi\asp18dos. sys
Smaptow. f-'xe
Часть 8. Настройка конфигурации MS DOS
Глава 40. Настройка конфигурации DOS
Подобный материал:
1   ...   56   57   58   59   60   61   62   63   ...   87
Глава 40. Настройка конфигурации DOS


Однако часто всего этого можно избежать. Дело в том, что окно обмена с EMS-

памятью для функционирования драйвера EMM386.ЕХЕ не нужно. Оно требуется

только для совместимости со старыми диспетчерами EMS-памяти, которые работали с

настоящей EMS-памятью, расположенной на специальных платах расширения в ком-

пьютере. Большинство программ, работающих с EMS-памятью, в само окно обмена не

лезут и работают независимо от того, есть оно или нет. Поэтому можно попробовать

совсем убрать окно обмена с EMS-памятью указанием параметра FRAME=NONE , напри-

мер:


^ DEVICES: \EXE\MSDOS\EMM386. ЕХЕ 2048 RAM FRAME=NONE

DEVICE=C:\EXE\MSDOS\EMM386.EXE RAM FRAME=NONE


Если используемые Вами программы, работающие с EMS-памятью, не виснут, значит,

все в порядке. В противном случае уберите параметр FRAME=NONE.


3мп"ч:1нпя^ 1. Вы можете также использовать параметр FRAME=ac)pec для задания в ше-

стнадцатеричном виде адреса сегмента "окна" дополнительной памяти (например,

FRAHE=EOOO).


2. Возможность преобразования расширенной памяти в EMS-память в MS DOS 6.0 была

усовершенствована. До этого (в MS DOS 5.0) созданная драйвером EMM386 EMS-память

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

Ясно, что это было очень неудобно.


40.8. Доступ к устройствам хранения данных


Почему здесь нужны

лрлинсры


Доступ

к компакт-лискам


BIOS компьютера содержит программы для доступа только к таким устройствам хра-

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

либо иные устройства хранения данных: дисководы для компакт-дисков, магнитоопти-

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

драйверами или программами. Без этих драйверов или программ данные устройства

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

Поэтому на жесткий диск компьютера необходимо записать драйверы и программы,

обеспечивающие доступ к таким устройствам хранения данных, и включить в файлы

CONFIG.SYS и AUTOEXEC.BAT команды для вызова этих программ и драйверов. Ка-

кие именно драйверы здесь необходимы, зависит от устройств и их контроллеров, по-

этому обычно драйверы и рекомендации по их установке поставляются вместе с уст-

ройствами или контроллерами.


Организация данных на компакт-дисках отличается от принятой для жестких дисков и

дискет, поэтому программы работы с дисками, записанные в BIOS компьютера, не

умеют читать компакт-диски. Формат хранения информации на компакт-дисках стан-

дартизирован, поэтому для его обработки в MS DOS имеется стандартная программа

MSCDEX.EXE. А вот драйверы, обеспечивающие физический доступ к компакт-диску,

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

весьма отличаться друг от друга. Таким образом, для обеспечения работы с дисководом

для компакт-дисков в DOS необходимо подключить:


Х драйвер (или драйверы), обеспечивающие физический доступ к компакт-диску;


Х программу MSCDEX.EXE, которая позволяет пользователю и программам работать

с компакт-диском так же, как с большой дискетой (только с защитой от записи).


Например, для SCSI-дисководов, подключаемых к SCSI-контроллеру фирмы Adaptec,

необходимо наличие двух драйверов: ASPInDOS.SYS (где п Ч цифра или буква, зави-

сящая от версии контроллера) и ASPICD.SYS. Первый из этих драйверов обеспечивает

интерфейс ASPI доступа к SCSI-устройствам, а второй непосредственно отвечает за

доступ к компакт-дискам. Эти драйверы содержатся в комплекте программ EZЧSCSI,

поставляемом вместе со SCSI-контроллерами фирмы Adaptec. Формат их вызова в

файле CONFIG.SYS может быть таким (вместо команды DEVICE может использовать-

ся DEVICEHIGH):


^ DEVICE=C: \EXE\SCSI\ASP18DOS. SYS

DEVICE=C:\EXE\SCSI\ASPICD. SYS /D: CDDRIV01


Здесь предполагается, что драйверы находятся в каталоге С: \ ЕХЕ \ SCSI, а дисководу

компакт-дисков присваивается имя CDDRIV01 (это имя понадобится при вызове драй-

вера MSCDEX, см. ниже). Обычно для присвоения имени используется параметр /D.


Часть 8. Настройка конфигурации MS DOS


Доступ к съемным

дискам


А команда вызова программы MSCDEX.EXE обычно вставляется в файл

AUTOEXEC.BAT. Эта команда может быть такой:


^ С: \EXE\MSDOS\MSCDEX. EXE /D: CDDRIV01


Здесь предполагается, что программ находится в каталоге C:\EXE\MSDOS, а

CDDRIV01 Ч то самое имя, которое было присвоено дисководу при вызове драйвера,

обеспечивающего физический доступ к компакт-диску.


Доступ к съемным дискам, отличным от компакт-дисков (магнитооптическим, lornega,

SyQuest, флоптическим и т.д.), осуществляется проще, чем к компакт-дискам Ч ведь

данные на них обычно организованы так же, как на жестких дисках. То есть программ

типа MSCDEX.EXE, обеспечивающих расшифровку формата хранения данных на дис-

ке, здесь не требуется. Однако драйвер для доступа к съемным дискам нужен, он обра-

батывает смену дисков и другие особенности данных устройств.


Например, для дисководов для съемных дисков, подключаемых к SCSI-контроллеру

фирмы Adaptec, необходимо наличие двух драйверов: ASPInDOS.SYS (где п Ч цифра

или буква, зависящая от версии контроллера) и ASPIDISK.SYS. Первый из этих драй-

веров обеспечивает интерфейс ASPI доступа к SCSI-устройствам, а второй отвечает за

обработку особенностей съемных дисков. Формат их вызова в файле CONFIG.SYS

может быть таким (вместо команды DEVICE может использоваться DEVICEHIGH):


^ DEVICE=C: \EXE\SCSI\ASP18DOS. SYS

DEVICE=C: \EXE\SCSI\ASPIDISK. SYS


/D


Здесь предполагается, что драйверы находятся в каталоге С: \ EXE \ SCSI.


40.9. Кэширование дисков


Зачем это нужно


Виды кэширования


Кэширование

записи


Многие программы в ходе своей работы производят весьма интенсивный обмен данны-

ми с жестким диском, поэтому Вы можете значительно ускорить их выполнение за

счет кэширования диска и правильной его настройки. Кэширование Ч это использова-

ние специального буфера (кэша), в котором хранятся наиболее часто используемые

участки дисков. Использование кэша обеспечивает практически мгновенный доступ к

наиболее часто используемым участкам диска, за счет чего средняя скорость операций

ввода-вывода может увеличиться в несколько раз. Кроме того, при этом продлевается

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


Кэширование бывает программное и аппаратное. При программном кэшировании на

компьютере запускается специальная программа, которая организует в оперативной

памяти компьютера кэш-буфер (обычно размером в несколько Мбайт) и управляет

этим кэш-буфером. При аппаратном кэшировании кэш-буфер и управляющая им про-

грамма находятся на плате контроллера дисков. Такие контроллеры, естественно, до-

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

использовании не требуется отводить часть оперативной памяти под кэш-буфер. Уве-

личение скорости ввода-вывода при одинаковом объеме кэш-буфера при программном

и аппаратном кэшировании приблизительно одно и то же, но при аппаратном кэширо-

вании несколько меньше нагрузка на процессор. Кроме того, никакое зависание ком-

пьютера не способно повлиять на работу аппаратного кэша. Поэтому в серверах ло-

кальных сетей и RAID-контроллерах часто используют именно аппаратное кэширова-

ние.


В дальнейшем мы рассмотрим только вариант программного кэширования (он гораздо

более распространен).


Многие программы кэширования могут обеспечивать не только кэширование операций

чтения, но и операций записи на диски. Это делается следующим образом: при выпол-

нении операций записи на диск данные не записываются сразу на диск, а помещаются

в кэш. После этого программе, осуществляющей запись, сообщается об окончании за-

писи, и она продолжает работу. А уж затем, в наиболее удобные моменты (скажем,

при паузах в работе остальных программ), данные сбрасываются из кэша на диск. Это

ускоряет работу программ, позволяет оптимизировать операции записи на диск и даже,

как правило, уменьшить их количество. Так, при записи на дискету множества не-

больших файлов кэширование ускоряет запись в несколько раз.


Глава 40. Настройка конфигурации DOS


Прогрэмм1,1 дня

>'.. "/."-;< Ч'Н;'Ч1ИЯ ^l;"i.')f!


..Запуск ! 1Н(И1.),1МЛ.1'.1

^ SMAPTOW. F-'XE


Параметры


Режимы кэширорания

ОТДР^ЬНЫХ дисков


Однако кэширование записи не вполне безопасно: при зависании компьютера или от-

ключении электропитания данные из кэша могут оказаться не записанными на диск,

что может привести к повреждению файловой системы на дисках (скажем, если ис-

правления в системных областях диска были записаны на диск лишь частично). По-

этому кэширование записи применяется не всегда. Обычно рекомендуется при исполь-

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

(UPS) Ч это значительно уменьшит вероятность повреждения данных на диске.


Программы для кэширования дисков входят в DOS, а также поставляются различными

фирмами. Например, в MS DOS входит программа SmartDrive (SMARTDRV.EXE), в

Norton Utilities Ч Norton Cache (NCACHE2.EXE) и т.д. Наиболее часто применяется

входящая в MS DOS программа SMARTDRV.EXE, использование которой мы и рас-

смотрим в этом параграфе.


При запуске программа SMARTDRV.EXE устанавливает себя резидентно в оператив-

ной памяти, включает кэширование дисков и позволяет задать параметры кэша. Кэш

эта программа размещает в расширенной памяти.


Обычно команда для первого запуска программы SMARTDRV.EXE включается в файл

AUTOEXEC.BAT. Упрощенный формат команды:


^,nуmь-к-npoгpaммe'\)S^Лfi^nJDF^\/CB(E')

(размер-кэша {размер-кэша-под-Windows^} (/X]


Здесь путь-к-программе указывает путь к файлу SMARTDRV.EXE.

Размеры кэша задаются двумя параметрами:


размер-кэша Ч указывает размер кэша (в Кбайтах) при работе в DOS;

размер-кэша-под-Windows Ч указывает размер кэша (в Кбайтах) при работе в

Windows.


Параметр /X , если он задан, запрещает кэширование операций записи со всеми дис-

ками, кроме тех, для которых оно явно включено (параметром буква-даска+, см. ни-

же).


Примеры Ниже предполагается, что файл SMARTDRV.EXE находится в каталоге C:\EXE\MSDOS.


C:\EXE\HSDOS\SHARTDRV.EXE 2048 1536 Ч размер кэша 2048 Кбайт (2 Мбайта) при работе в

DOS, 1536 Кбайт (1,5 Мбайта) при работе в Windows.


. C:\EXE\MSDOS\SMARTDRV.EXE /X Ч размер кэша устанавливается по умолчанию, кэширование

1 записи запрещено.


Замечания. 1. Для кэширования дисков программой SMARTDRV необходимо, чтобы ком-

пьютер был оснащен расширенной памятью и чтобы диспетчер расширенной памяти

(например, HIMEM.SY^) был загружен до запуска программы SMARlDRV. Для кэширова-

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

SMARTDRV.


2. По моему опыту, обычно хорошие результаты обеспечивает указание размера кэша рав-

ным одной четвертой объема оперативной памяти компьютера, но не более 8 Мбайт. Мож-

но вообще воздержаться от указания размеров кэша Ч предлагаемые по умолчанию разме-

ры кэша вполне разумны.


3. Сжатые диски, созданные программами DriveSpace и DoubleSpace, программой

SMARTDRV на самом деле не кэшируются, вместо них кэшируются диски, на которых рас-

положены файлы, содержащие информацию этих дисков.


4. Программа SMARTDRV.EXE может вызываться повторно для управления кэшированием,

сброса содержимого кэша на диск (это может быть неооходимо перед выключением компь-

ютера), получения справок о параметрах и эффективности кэширования. Для сброса со-

держимого кэша на диск программа вызывается SMARTDRV /С , для получения отчета Ч

SHARTDRV /S или просто SHARTDRV .


5. Графическая оболочка Windows 95 сама осуществляет кэширование дисков, поэтому при

работе в Windows 95, а также при запуске DOS-программ из-под графической оболочки

Windows 95, программа SMARTDRV.EXE не нужна. Но при работе без графической обо-

лочки Windows 90, то есть в режиме "единственного приложения MS DOS" или при за-

грузке Windows 95 без запуска графической оболочки, программа SMARTDRV.EXE нужна,

для чего она и присутствует в составе Windows 95.


При необходимости Вы можете задать режимы кэширования для отдельных дисков:

кэширование чтения и записи, только чтения или отмена кэширования. Это можно

сделать как при первом запуске программы SMARTDRV, так и впоследствии, вызвав

программу SMARTDRV из командной строки DOS. Режимы кэширования для дисков

задаются следующими параметрами:


^ Часть 8. Настройка конфигурации MS DOS


буква-диска+

буква-диска-

буква-диска


кэшировать операции чтения и записи с диском;

отменить кэширование указанного диска;

кэшировать операции чтения с указанным диском, а операции

записи Ч нет.


Примеры


/'^ч<"^^нi^^Х^

'.^уф<'l.nХ13iir^и;-^


Пример


^),шf.'Х<,.^
д11ска(,+\-~) , то этот режим (режим по умолчанию) устанавливается следующим образом.

Диски, доступные по локальной сети, а также электронные диски, не кэшируются вовсе.

Дисководы для дискет и компакт-дисков кэшируются только по чтению. А жесткие диски

кэшируются и по чтению, и по записи, а если Вы задавали параметр /X Ч то только по

чтению.


SHARTDRV /X D+ Ч установить кэширование дисков с размером кэша и другими параметра-

ми по умолчанию, кэширование записи отменить для всех дисков, кроме диска D: .

SHARTDRV А- Ч отменить кэширование для диска А:.

SMARTDRV А+ Ч установить кэширование чтения и записи для диска А:.


Некоторые устаревшие контроллеры жестких дисков не могут выполнять операции

ввода-вывода с жесткими дисками, если буфера ввода-вывода располагаются не в

обычной, а в верхней памяти. Программа SMARTDRV имеет параметр /L, при котором

ее буфера располагаются в обычной памяти, но это приводит к большому расходу

обычной памяти (около 16 Кбайт). Более экономное решение Ч использование двой-

ной буферизации, при котором в обычной памяти располагается специальный буфер

обмена с диском, а небольшой драйвер при выполнении операций ввода-вывода пере-

сылает данные из буферов кэша в буфер обмена с диском и наоборот. При этом расхо-

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


В MS DOS версий 6.0Ч6.22 для включения задания двойной буферизации следует

включить в файл CONFIG.SYS следующую строку:


DEVICE=Cnt/mb-K-^auee^\DSMARTDRV.EXE /DOUBLE_BUFFER


В MS DOS 7.0 следует включить в файл MSDOS.SYS параметр Dout)leBuffer=1 или

вставить в файл CONFIG.SYS строку:


DEVICE=Cni/mt,-K-(3pauecpt/\jDBLBUFF.SYS

Ниже предполагается, что файл SMARTDRV.ЕХЕ находится в каталоге C:\EXE\MSDOS.


DEVICE=C:\EXE\HSDOS\SMARTDRV.EXE /DOUBLE BUFFER Ч включение двойной буферизации в

файле CONFIG.SYS. Версия MS DOS Ч от'6.0 до 6.22.


З.мсчппи^. Чтобы узнать о том, используется ли на самом деле двойная буферизация или

нет, можно ввести команду SMARTDRV. Она отобразит на экране таблицу Disk Caching

Status. Если в столбце Buffering этой таблицы для всех дисков (строк таблицы) стоит No,

значит, двойная буферизация не используется, и вызов драйвера двойной буферизации

можно убрать.


40. 10. Рекомендации по написанию файла CONFIG.SYS


Назначение


Формат файла

CONFIG.SYS


В предыдущих параграфах этой главы мы уже рассказывали о назначении и формате

файла CONFIG.SYS и давали рекомендации о командах, которые желательно помес-

тить в файл CONFIG.SYS. Ниже мы подытожим эти сведения и рекомендации, а также

расскажем о "технических" командах файла CONFIG.SYS, описывающих характери-

стики внутренних структур DOS.


Файл CONFIG.SYS содержит команды, используемые при начальной загрузке DOS.

Эти команды задают параметры DOS, а также указывают, какие драйверы (то есть про-

граммы, расширяющие возможности операционной системы), необходимо загрузить в

оперативную память. Файл CONFIG.SYS должен находиться в корневом каталоге дис-

ка, с которого загружается DOS. Если файл CONFIG.SYS там отсутствует, то парамет-

ры DOS будут установлены по умолчанию.


Замечание. При изменении файла CONFIG.SYS соответствующие параметры конфигура-

ции системы изменятся только после перезагрузки DOS.


Файл CONFIG.SYS должен представлять собой текстовый файл. Большинство строк

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

строки имеют вид:


имя-команды = значение


^ Глава 40. Настройка конфигурации DOS


Выполнение файла

CONFIG.SYS


Команды файла


CONFIG.SYS .

Загрузка драйверов


и программ


Примеры


Кроме того, в файле CONFIG.SYS могут содержаться следующие строки:


Х комментарии Ч строки, игнорируемые при начальной загрузке DOS. Строки ком-

ментариев начинаются либо с символа ";", либо с символов "REM" (в любом реги-

стре) с последующим пробелом;


Х заголовки блоков Ч строки, в которой приводится (начиная с первой колонки)

имя блока в квадратных скобках. Заголовок блока предваряет строки с командами,

относящимися к данному блоку. Команды из блока могут выполняться или не вы-

полняться, в зависимости от выбора пользователя в стартовом меню (см. ниже).


Если в файле CONFIG.SYS нет заголовков блоков, то команды этого файла выполня-

ются по очереди, в том порядке, в котором они указаны в файле CONFIG.SYS. Строки

комментариев игнорируются.


Если же в файле CONFIG.SYS имеются заголовки блоков, то в блоке [MENU] должно

задаваться стартовое меню, выводимое в начале выполнения файла CONFIG.SYS.

Пользователь должен выбрать один из пунктов этого меню, после чего DOS начинает

выполнение файла CONFIG.SYS, но выполняются лишь команды из блока, соответст-

вующего выбранному пользователем пункту меню, а также из блока [COMMON]. Содер-

жимое остальных блоков игнорируется (как и строки комментариев). При выполнении

блока его команды выполняются по очереди. Команды для организации стартового ме-

ню, а также примеры их применения, приведены в параграфе 40.14.


Зямгчцния. 1. Если в команде файла CONFIG.SYS перед знаком "=" поставить знак во-

проса, то при выполнении файла CONFIG.SYS DOS выведет команду на экран и спросит,

надо ли ее выполнять "(Y/Nl ?". Подробнее это изложено в параграфе 40.15.


2. Начиная с версии MS DOS 6.20, команды файла CONFIG.SYS можно выполнять с под-

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

DOS сообщения "Starting MS-DOS" надо нажать {HQ или (Ctrl) (7^). Подробнее это описа-

но в главе 15.


3. Если в начале файла CONFIG.SYS нет заголовка блока, считается, что там стоит заголо-

вок [COMMON], то есть строки файла CONFIG.SYS до первого заголовка блока выполня-

ются всегда.


4. Если в файле CONFIG.SYS нет блока [MENUl, то в нем выполняются только блоки

ICOMMONT


Ниже мы перечислим наиболее часто используемые команды файла CONFIG.SYS.


Очень важная группа команд файла CONFIG.SYS служит для загрузки драйверов и

резидентных программ:


DEVICE = имя-файла-драйвера ^параметры] Ч загрузка драйвера в обычную па-

мять;

DEVICEHIGH = имя-файла-драйвера ^параметры) Ч загрузка драйвера в верхнюю


память (то есть в память с адресами от 640 Кбайт до 1 Мбайта);


INSTALL = полное-имя-программы ^параметры) Ч установка резидентной програм-

мы.


Замечания. 1. Команда DEVICEHIGH позволяет указать регион верхней памяти, в кото-

рый загружается драйвер. Однако обычно этот режим вручную не указывается, а задается

программами оптимизации файлов CONFIG.SYS и AUTOEXEC.BAT типа MemMaker.


2. Для загрузки драйвера в верхнюю память необходимо, чтобы в файле CONFIG.SYS был

запущен драйвер верхней памяти (типа EMM386) и содержалась строка OOS=UMB или

DOS=HIGH,UHB.


3. Загрузка резидентной программы с помощью команды файла CONFIG.SYS Install отлича-

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

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

мять, но приводит к несовместимости: не все программы могут быть установлены с помо-

щью команды Install.


4. К сожалению, команда Install позволяет загружать резидентные программы только в

обычную память. Аналог команды Install Ч InstallHigh, Ч позволяющий загружать рези-

дентную программу в верхнюю память, появился только в MS DOS 7.0. Поэтому команда

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

файла AUTOEXEC.BAT командой LH (LoadHigh).


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

гаем, что файлы MS DOS находятся в каталоге C:\EXE\MSDOS):


DEVICE=C:\EXE\MSDOS\HIHEH.SYS /TESTMEM:OFF Ч загрузка драйвера расширенной памяти

HIMEM.SYS (см. п. 40.7), проверка расширенной памяти при запуске драйвера отключе-

на: