Глава 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), проверка расширенной памяти при запуске драйвера отключе-
на: Глава 40. Настройка конфигурации DOS Команды для
установки различных
режимов DOS Пример файла
CONFIG.SYS SWITCHES /F /N Ч пропуск двухсекундной паузы после сообщения "Starting MS-
DOS" в процессе начальной загрузки DOS и блокирование возможности обхода
выполнения команд файлов CONFIG.SYS и AUTOEXEC.BAT с помощью клавиш
(И) и (183. Замечания. 1. Команда SWITCHES имеет и другие возможности. 2. Даже при указании команды файла CONFIG.SYS SWITCHES /F /N возможность обхода
выполнения команд файлов CONFIG.SYS и AUTOEXEC.BAT остается, если Вы используете
драйверы сжатых дисков, созданных программами DriveSpace или DoubleSpace. Действи-
тельно, при нажатии во время начальной загрузки помощью комбинаций клавиш [Ct rl ] (Т^Г)
или (сгг1)(ТГ) можно пропустить не только загрузку драйверов сжатых дисков, но и выпол-
нение файлов CONFIG.SYS и AUTOEXEC.BAT. Чтобы заблокировать и эту возможность,
надо поместить в файл DRVSPACE.INI (или DBLSPACE.INI) команду SWITCHES /N . Следующая группа команд файла CONFIG.SYS служит для установки различных ре-
жимов DOS: Break = on или Break = off Чустановить или отменить для программ DOS режим
проверки нажатия клавиш ( Ctrl] [Break) или [Ctrl) (С) при операциях ввода-вывода
с диском. Это позволяет прерывать выполнение программ, которые иначе бы вы-
полнялись до своего завершения. Изменить данный режим можно и впоследствии
командами DOS: BREAK ON и BREAK OFF ; Country = кoд-cmpaны.,кoдoвaя-cmpaнuцa,noлнoe-l^.мя-фaйлa-COlJNTRY.SYS Ч
настройка на принятые в стране правила для отображения времени, даты и де-
нежных сумм, перевода прописных букв в строчные и обратно и т.д. (см. п. 40.7).
В MS DOS, начиная с версии 6.2, предусмотрены установки для России: код
страны 007, кодовая страница 866. В предыдущих версиях DOS наиболее подхо-
дящим являются кода страны 049 и кодовая страница 437. Пример:
count ry=007, 866,c:\exe\msdos\country. sys ; Numlock = on или Numlock = off Ч включает или отключает фиксацию цифровой
клавиатуры (т.е. режим "Nurn Lock", отображаемый световым индикатором "Num
Lock" клавиатуры). В заключение параграфа мы приведем пример файла CONFIG.SYS с комментариями.
Мы будем предполагать, что компьютер имеет процессор 80386 или старше, файлы MS
DOS находятся в каталоге C:\EXE\MSDOS, а файлы драйверов дисков находятся в
каталоге C:\EXE\SCSI. ; Установка размеров внутренних структур DOS
BUFFERS=10
FILES=50
LASTDRIVE=J
FCBS==4,0
STACKS=9,256 ; Настройка на соглашения, принятые в России
COUNTRY=007,866,C:\EXE\MSDOS\COUNTRY. SYS
; Увеличение размера области окружения
SHELL=C:\COMMAND.COM /Е:512 /Р
; Задание прочих режимов
BREAK=ON
NUMLOCK=OFF : Загрузка драйверов расширенной и верхней памяти
DEVICE=C:\EXE\MSDOS\HIMEM. SYS /TESTMEM:OFF
DEVICE=C:\EXE\MSDOS\EMM386. EXE NOEMS ; Загрузка DOS в HMA, разрешение использования верхней памяти
DOS^HIGH, UMB ; Подготовка к переключению на кодовую страницу 866
DEVICEHIGH=C:\EXE\MSDOS\DISPLAY. SYS CON=()
; Загрузка драйверов для доступа к дискам (см. п. 40.8)
; ASP18DOS.SYS Ч ASPI-драйвер для контроллера Adaptec 2940
DEVICEHIGH^C: \EXE\SCSI\ASP18DOS. SYS /D
; ASP18DOS.SYS Ч драйвер для доступа к компакт-дискам
DEVICEHIQH=C: \EXE\SCSI\ASPICD. SYS /D: MSCDOO
; ASPIDISK Ч драйвер для доступа к магнитооптическим
; и другим съемным дискам (SyQuest, lomega и др.)
DEVICEHIGH=C:\EXE\SCSI\ASPIDISK. SYS /D
Часть 8. Настройка конфигурации MS DOS ; Загрузка драйвера DRVSPACE.BIN в верхнюю память (см. п. 40.10)
DEVICEHIGH=C: \EXE\MSDOS\DRVSPACE. SYS /MOVE 3:1М("1:>пия. i. Разумеется, драйверы для доступа к дискам (устройствам хранения данных)
на Вашем компьютере, скорее всего, будут другими. Например, если Ваш компьютер осна-
щен только жестким диском и дискетами, то драйверы для доступа к дискам, как правило,
вообще не нужны. 2. Последняя строка файла (вызов драйвера DRVSPACE.SYS) нужна только при использо-
вании сжатых дисков программы DriveSpace. 40. 1 1. Написание файла AUTOEXEC.BAT Назначение Формат файла Установка списка
каталогов, в которых
производится поиск
программ Рекомендации по
использованию Пример Установка формата
приглашения DOS При начальной загрузке DOS после завершения выполнения файла CONFIG.SYS ав-
томатически выполняется командный файл AUTOEXEC.BAT, если он имеется в корне-
вом каталоге загрузочного диска. В файл AUTOEXEC.BAT целесообразно записать ко-
манды, которые должны выполняться каждый раз при начальной загрузке операцион-
ной системы. Эти команды могут осуществить необходимую настройку операционной
системы и установить удобное для работы окружение. Как правило, в файл AUTOEXEC.BAT записывают следующие команды: Х команды запуска резидентных программ и других программ, которые целесообразно
запускать при каждой загрузке DOS; Х команды для установки переменных окружения DOS (команда SET): Х команду Path для задания списка каталогов, в которых производится поиск запус-
каемых программ: Х команду Prompt для установки формата приглашения DOS. При наличии файла AUTOEXEC.BAT DOS не задает в процессе начальной загрузки
вопросов о текущей дате и времени. AUTOEXEC.BAT является обычным командным файлом, так что в нем можно исполь-
зовать все возможности командных файлов, описанные в главе 32. Как указывалось в главе 18, с помощью команды DOS Path можно установить, в каких
каталогах будет производиться поиск выполняемых программ. После ввода любой ко-
манды, не являющейся внутренней командой DOS, поиск соответствующей программы
производится сначала в текущем каталоге, а затем в каталогах, указанных в команде
Path. Каталоги в команде Path перечисляются через точку с запятой. Формат команды: path имя-каталога С; имя-каталога")... Просмотр каталогов, заданных в команде Path, производится в том же порядке, в кото-
ром они указаны в команде. В списке каталогов, задаваемом в команде Path, следует перечислить через точку с
запятой каталоги, в которых находятся исполняемые программы общего назначения.
Сначала лучше указать более часто используемые каталоги. Много каталогов в коман-
де Path указывать нежелательно, так как это приведет к длительному поиску нужной
команды на диске, особенно при отсутствии кэширования дисков. Path C:\EXE;C:\EXE\MSDOS;D:\TP;D:\TC;D:\WORD Замечания. 1. Имена каталогов в команде Path рекомендуется указывать полностью, т.е.
они должны начинаться с имени дисковода и символа "\", например C:\USER\WORK.
Это позволит командному процессору DOS правильно находить эти каталоги независимо от
того, какой каталог и дисковод являются текущими. 2. Некоторые пользователи указывают в команде Path каталоги . . и . .\. . Это позволяет
выполнять любую программу из подкаталогов первого и второго уровня того каталога, в ко-
тором она находится. 3. Иногда вместо включения имени каталога с тем или иным пакетом прикладных программ
в список каталогов команды Path предпочтительнее создать в одном из каталогов, указан-
ных в команде Path, командный файл для вызова данного пакета прикладных программ. Для изменения вида приглашения DOS (т.е. текста, который показывает, что DOS го-
това к приему команд пользователя) используется команда Prompt. Формат команды:
prompt {.текст) . В тексте, указываемом в команде Prompt, можно употреблять специ-
альные сочетания символов $р, $n, $d, $t, $h, $e, $g и др. Их смысл объяснен в
главе 21. Так, команда PROMPT $р$д устанавливает приглашение DOS, содержащее ин-
|