КрасносельскийКонстантинКонстантинович |
ТаблицейБлоками.Оптимизация и спасение IBM PC: Config.sys и драйвера DOS |
Последняя модификация: 10.08.2014 г
Страница загружена с адреса: http://comp.site3k.ru/ibmpc/chaptr13.html
Общий вид команд: КОМАНДА=ЗНАЧЕНИЕ. Для освобождения доступной MS-DOS основной памяти, команды задаются с окончанием HIGH, например, Buffershigh, в этом случае загрузка происходит в верхнюю память, а если таковая недоступна, она происходит как обычно. Добавление к команде ключа /L:n где n номер блока, позволяет загрузить драйвер точно по указанному адресу, чтобы свободная память представляла собой единый блок (найти подходящие адреса позволяет программа mem с ключами /f и /p последний для выдачи поэкранного отчета), однако столь тщательная сортировка в подавляющем числе случаев не имеет смысла1. Для временной отмены команды можно снять установленный возле нее флажок в Программе настройки системы, запускаемой из меню Сервис программы Сведенья о системе (MsInfo), или вставить команду REM перед нежелательной командой, например, Rem Buffers=15. Эта же команда применяется для вставки комментариев (отсюда возник термин заремить или закомментировать), например, Rem Дальнейшие строчки внесены Windows, не изменяйте их.
Определяет число буферов обмена (n) каждый из которых требует 512 байт, число считываемых за раз секторов (m от 1 до 8) и расположение (/x отправляет все это в верхнюю память, заменяя приставку HIGH). Благодаря этой команде, при считывании информации с диска, она помещается в зарезервированный в оперативной памяти буфер и при следующем обращении, считывается из него (с огромной экономией времени), если к этому времени не была вытеснена другой информацией. Таким образом, чем больше буферов, тем быстрее работает компьютер (и тем меньше остается свободной оперативной памяти).
При считывании секторов более одного, задействуются сразу несколько считывающих головок и, чтение получается упреждающим, так что, для извлечения следующей информации, может не потребоваться новое обращение к диску (с вытекающим из этого выигрышем в скорости).
По умолчанию, для Windows98 Buffershigh=20. Значения m и /x, по умолчанию не задаются. При работе с гибких дисков, этот показатель можно уменьшить до четырех (число к которому пришли многие специалисты опытным путем), поскольку большие массивы информации с них не читаются, однако, уменьшение его ниже 12 приводит к замедлению загрузки с дискеты, а ниже 6 к общему замедлению работы.
При создании виртуального кеша, число буферов, без ощутимой потери производительности, можно уменьшить в десяток раз.
Определяет максимальное количество одновременно открываемых MS-DOS файлов. По умолчанию оно равно тридцати и обычно не требует вмешательство пользователя. Если же появилось сообщение об исчерпании обработчиков файлов (File handles), заданное число оказалось недостаточным и его требуется изменить. При этом увеличение числа обработчиков, уменьшает количество свободной памяти.
Формирует объем (пул) из N (от 0 до 64) стеков размером в S (от 0 до 512 байт) для обработки повторных прерываний. По умолчанию Stackshigh=9,256. Увеличение ведет к уменьшению свободного места в памяти, уменьшение замедляет работу.
Определяет максимальную букву для диска (по умолчанию =Z). Ни один логический диск не может иметь букву большую указанной в Lastdrive, в связи с чем, в качестве последней буквы часто задается Z, либо команда Lastdrive вообще не выдается, для установки параметров принятых по умолчанию. Однако, поскольку для каждой буквы отводится по 80 байт для хранения информации о текущем каталоге, при такой запасливости, до двух килобайт доступной MS-DOS оперативной памяти расходуется в пустую2.
Проверка нажатия клавиш Ctrl+Break (Ctrl+C) завершающих выполнение программы универсальная команда предназначенная не только для файлов конфигурации, но и для командной строки. Возможные значения: on, off соответственно включающие и выключающие режим проверки. Заданная без значений приводит к выводу информации о текущем режиме Break.
По умолчанию Break=on (режим проверки включен) и его задание в файлах конфигурации вряд ли имеет смысл.
Отключает калькуляторную клавиатуру.
Установка размеров области памяти отведенной для хранения переменной среды (окружения оболочки операционной системы), где число размер области в байтах, кратный 16 (от 128 до 32768).
Применение команды необходимо, если задаваемых по умолчанию 128 байт недостаточно (сообщение Out of environment space).
В ней же, можно заменить Command.com другим интерпретатором (если таковой имеется), или указать к нему путь, если он перемещен из корневого каталога.
Определяет символы допустимые в именах файлов и каталогов, порядок символов при сортировке, формат даты, времени и денежной единицы; позволяет MS-DOS работать с неанглоязычными каталогами и файлами. Код России 007, страница 866. Указываемое в команде имя определяет название и местонахождение драйвера обеспечивающего выполнение команды (обычно Country.sys).
Для русифицированной версии Windows:
Country=007,866,C:\Windows\Country.sys.
Установка драйвера (возможно с дополнительными параметрами).
Установка драйвера в верхнюю память (возможно, с параметрами).
Применяется в Config.sys для загрузки резидентных программ (расширение .com и .exe), обычно загружаемых через Autoexec.bat. Загужаясь через Config.sys они занимают меньше места, однако их перенастройка и удаление из памяти становится невозможными.
Независимо от расположения в файле Confif.sys, команды Install выполняются в последнюю очередь.
Аналогично предыдущей, но устанавливает програмы в верхнюю память.
Определяет количество блоков управления памятью (от 1 до 225) по умолчанию равное 4.
Позволяет, после подключения драйверов верхней памяти, производить загрузку в нее, для освобождения основной памяти, большой объем которой необходим большенству программ MS-DOS.
Отключает двухсекундную задержку перед стартом операционной системы (это лучше сделать, откорректировав Msdos.sys). Возможно так же дополнительное значение /N для невозможности обойти загрузку указанных в Config.sys драйверов путем пошаговой загрузки. Остальные параметры данной команды (/K и /E) применяются для имитации клавиатуры, на которой работали неандертальцы.
Означает, что драйвера Himem.sys, Ifshlp.sys, DblBuff.sys и программа Setver.exe загружаются, только если их загрузка указана в файле Config.sys. По умолчанию DOS=Auto, что фактически означает:
Buffershigh=20
Fileshigh=30
Fcbshigh=4
Lostdrivehigh=Z
Stackshigh=9,256
(если соответствующие команды не указаны пользователем с другими параметрами).
Плюс загрузка указанных драйверов (указание их загрузки находится в файле Io.sys).
В файлах конфигурации может быть подключено множество драйверов, однако, реальный интерес представляют лишь драйвера входящие в состав Windows, а потому, имеющиеся на каждом компьютере.
Драйвера Drvspace.bin и Dblspace.bin обеспечивают доступ к уплотненным дискам. В зависимости от программы, примененной для уплотнения, требуется соответствующий драйвер. При загрузке компьютера они загружаются из корневого каталого до выполнения команд из файлов Config.sys и Autoexec.bat, когда верхняя память еще не доступна, вследствие чего, могут загрузиться только в обычную память, занимая в ней по 110 килобайт, каждый.
Драйвера Drvspace.sys и Dblspace.sys позволяют переместить их в верхнюю память, для чего в Config.sys вводится ссылка на Drvspace.sys или Dblspace.sys (соответственно), начинающейся с команды DEVICEHIGH. Однако, размер верхней памяти тоже не безграничен, поэтому, на компьютерах не имеющих сжатых дисков, Drvspace.bin и Dblspace.bin из корневого каталога лучше удалить.
Обеспечивает вывод на экран русифицированных шрифтов.
Позволяет задавать фиктивные дисководы.
Создает в оперативной памяти виртуальный диск для ускорения запуска программ (но замедляет процесс загрузки компьютера), принимаемый за очередной жесткий логический диск и символизируемый соответствующей для очередного логического диска буквой. Для его использования требуется скопировать желаемые программы на созданный диск и указать к ним путь командой Path (для большего эффекта, этот путь, в общем наборе путей, лучше сделать первым), что удобно выполнить с помощью Autoexec.bat.
Вместе с драйвером обязательно, указывается размер и, возможно, в определенной последовательности, другие параметры создаваемого диска:
Ramdrive.sys m n p /e :q
Где:
m размер создаваемого диска в килобайтах (не менее 16, хотя в разных версиях эта величина различна).
N размер сектора в байтах имеющий допустимые значения 128; 256; 512 (по умолчанию 512).
P кратное 16 максимальное число элементов (папок или файлов) в его корневом каталоге (от 2 до 512, по умолчанию 64).
/e параметр с независимой последовательностью (может находиться в любой позиции среди параметров), позволяющий создать диск не в основной, а в расширенной памяти (по умолчанию, создается в основной). Вместо него может применяться параметр /a для отправки диска в отображаемую память, но для этого предварительно следует активировать драйвер XMA2EMS.sys.
:q определяет количество считываемых за раз секторов (от 1 до 8, по умолчанию 8).
Большинство параметров принимаемых по умолчанию, устроят любого пользователя. В таком случае, при создании виртуального диска достаточно указать размер и область занимаемой памяти, например:
Ramdrive.sys /E 3072
где 3072 указание создать диск в три мегабайта.
Некоторые драйвера мыши под MS-DOS имеют расширение .sys. Их установка производится в файле Config.sys (точнее, резидентные программы, с расширением .com, не являются драйверами и, выполняя ту же функцию, могут загружаться из Autoexec.bat или командной строки).
Открывает доступ MS-DOS к 64 килобайтам верхней памяти. Именно после его применения приобретают смысл приставка HIGH, команда DOS=High и аналогичные команды в Autoexec.bat.
Вводится после Himem.sys, открывая для MS-DOS еще 83 килобайта. После его установки приобретает смысл команда DOS=Umb (обычно выдаваемая в одной строке с DOS=HIGH). Программа EMM386.exe может иметь множество параметров. Параметр NOEMS, практически всегда обеспечивает наибольшую эффективность ее применения, однако при работе с Windows, параметр RAM бывает предпочтительнее. Дополнительный параметр HIGHSCAN увеличивает доступную память еще на 35 килобайт. С приведенными параметрами, команда запуска, имеет вид:
Device=EMM386.exe NOEMS HIGHSCAN
Вспомогательный драйвер необходимый для хранения длинных имен. Если DOS=Auto (по умолчанию), загружается автоматически в соответствии с указанием из Io.sys.
Команда загрузки одноименной резидентной программы.
Многие программы MS-DOS предназначены для работы лишь в некоторых версиях MS-DOS. Setver.exe перехватывает их запросы о версии DOS и в любом случае сообщает: О, да это как раз, та самая версия! доВЕРСИвые программы развешивают уши, после чего с ними можно делать все что угодно.
Для обмана програм, по команде:
Setver каталог програма версия
где каталог - путь к каталогу содержащему требуемый экземпляр Setver (если этот каталог являеься текущим, его явное указание не требуется),
програма - програма, требующая обмана,
версия - ожидаемая ей версия DOS в формате 0.00
SetVer.exe записывает данные в свою внутреннюю таблицу, чтобы, при следующей загрузке компьютера, загрузившись, подобно драйверу, командой Device(high)= из файла Config.sys, водить эту программу за нос. Например, после команды "Setver C:\windows\command Dosshel.exe 6.22" и последующей перезагрузке со строкой "Devicehigh=C:\windows\command\setver.exe" в файле Config.sys, программа Dosshel будет считать что, запущена в Dos 6.22.
По мере увеличения числа вводимых в заблуждение програм, внутренние таблицы Setver заполняются и, для поддержания работоспособности следующей програмы, требуется либо освободить немного места в данном экземпляре Setver, либо создать пустой Setver в другом каталоге, скопирова его и очистив. Для просмотра содержимого таблиц Setver, программа вызывается с одним-лишь указанием каталога (при этом экранный вывод желательно перенаправить в файл или програму More), а для удаления лишней строки, после названия программы, избавляемой от попечения Setver, указывается параметр /D, например "Setver C:\windows\command Dosshel.exe /D".
Драйвер для представления MS-DOS в цвете. Он позволяет менять режимы работы дисплея, менять цвета, перемещать курсор по дисплею и переопределять клавиши. Может иметь параметр /x разрешающий переопределять все кода клавиш и /L обеспечивающий сохранение установленного режима, даже если какая-либо программа пытается его изменить (что может привести к зависанию компьютера и, если такое произойдет, параметр /L лучше удалить).
Среди возможностей предоставляемых этим драйвером, наибольший интерес представляет возможность управления цветом, для чего не экран различными способами выводится символ ← имитирующий нажатие клавиши Escape, после которого задаются режимы общего вида: [s s,m где s является режимом отображения и может иметь множество значений.
Устанавливаются режимы отображения в командных (пакетных) файлах или из командной строки и может изменяться по ходу работы. Но установка самого драйвера осуществляется только через Config.sys.
< Глава 12. Глава 13. Глава 14. >