Команды для работы в среде MS DOS. Основные команды DOS

Команда Path

Запускаемая на выполнение программа не обязательно должна находиться в текущем каталоге. Если файла нет в текущем каталоге, то производится его поиск в альтернативных каталогах, указанных командой PATH. Аргумент команды PATH содержит обозначения одного или нескольких маршрутов, разделяемых точкой с запятой, например:

PATH C:;C:DOS;D:WORKPROGRAMS

Операционная система запоминает список маршрутов, указанных в команде PATH, и использует его в дальнейшем всякий раз, когда пользователь выполняет внешнюю команду DOS или обращается из DOS к прикладной программе. Такая команда означает, что файл (типа СОМ, ЕХЕ или ВАТ), не найденный в текущем каталоге, следует искать сначала по маршруту С: , т. е. в корневом каталоге диска С; в случае неуспеха - по маршруту C:DOS, т.е. в подкаталоге 1-го уровня DOS, а затем - по маршруту D:WORKPROGRAMS.

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

Команда PATH обычно фигурирует в командном файле автозагрузки AUTOEXEC.ВАТ и срабатывает незаметно для пользователя. Узнать, какие альтернативные маршруты установлены в данный момент, пользователь может, давая команду PATH без аргументов.

Отменить установленные альтернативные маршруты можно командой PATH; .

Вызов программы из другого каталога можно также осуществить, снабдив имя запускаемой программы соответствующим префиксом: тогда файл будет загружаться из указанного префиксом каталога (независимо от установленных альтернативных маршрутов). Пример такого обращения к программе vicont:

A:> С:VICvicont

Рабочим здесь является диск А: , а программа vicon запускается из каталога VIC, находящегося на диске С: .

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

Команда Assign

Команда ASSIGN х=y позволяет переустанавливать логические имена дисков, связывая друг с другом пары имен. Например, после команды:

все обращения к диску с именем А: DOS заменяет на обращения к диску С: . Пар вида х=у в одной команде может быть несколько. Команда ASSIGN без параметров восстанавливает исходные имена накопителей.

Команду ASSIGN следует применять с осторожностью; основное ее назначение - заставить прикладную программу, работающую с фиксированным диском (например, А:), обратиться к другому физическому накопителю. В других целях применять ее не ре-комендуется.

Команда Format

Команда FORMAT осуществляет начальную разметку или форматирование дисков. Данная команда применима и к гибким, и к жестким дискам, причем перед применением ее к жесткому диску необходимо приготовить его с помощью сервисной программы FDISK. Следует иметь в виду, что при форматировании происходят разрушение всей раиее записанной на. диске пли дискете информации.

В обращении к команде FORMAT можно указывать различные параметры. Первым параметром является имя накопителя, на котором установлен форматируемый диск. Пример простого обращения:

При таком обращении сначала выдается сообщение пользователю о необходимости установки в дисковод А: форматируемого диска. После этого он должен нажать клавишу "Исполнение", и программа форматирования начинает работать. Гибкие диски форматируются 30-40 секунд, форматирование жесткого диска может занять до 10 минут. По окончании форматирования выдается сообщение, в котором указывается объем диска, объем физически непригодных секторов и количество байтов, предоставляемых для работы.

Другие параметры - указатели режима форматирования задаются через разделитель /. Большинство из них относится к форматированию гибких дисков. Основные указатели:

/V - указывает на необходимость задания метки диска, которая вводится пользователем по окончании форматирования;

/S - указывает на необходимость переноса на диск операционной системы (трех файлов: BIO.SYS, MSDOS.SYS и COMMAND.COM);

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

Часть отформатированного пространства может быть занята под операционную систему (от 40 до 60 Кбайт, в зависимости от версии DOS), часть может оказаться исключенной из списка доступного пространства из-за дефектов на диске, обнаруженных при форматировании.

Команда Sys

Команда SYS позволяет перенести с текущего системного диска на другой диск (указанный в качестве параметра команды) два основных системных файла DOS - BIO.SYS и MSDOD.SYS (но не COMMAND.COM). При этом указанные файлы становятся "скрытыми" - они не показываются командой DIR, но об их присутствии яа диске сообщает команда CHKDSK. Следует иметь в виду, что DOS может быть перенесена командой SYS не на всякий диск, а только иа такой, который был отформатирован предварительно командой FORMAT с параметрами /S или /В, или на пустой отформатированный диск. Напомним, что команда форматирования с параметром /S выполняет делает ту же операцию, что и команда SYS, и, кроме того, добавляет на диск третий файл DOS - COMMAND.COM.

Перенесенная операционная система совпадает с той, которая в этот момент установлена на текущем системном диске. Номер текущей версии можно получить, с помощью команды VER.

Команды Vol и Label

Команда VOL предназначена для вывода метки диска и его серийного номера.

Формат команды:

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

Обычно метка диска вводится при его форматировании, если задан параметр /V команды FORMAT. Используя команду LABEL, это можно сделать и позднее. Эта команда предназначена для создания, замены и удаления метки диска. Формат команды:

LABEL [диск:][метка_диска]

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

Файл конфигурации CONFIG.SYS Удобная рабочая обстановка для пользователя ПЭВМ может быть создана в результате продуманного конфигурирования и начальной настройки системы.DOS дает возможность при запуске машины автоматически задавать определенные начальные условия, которые влияют на дальнейшую работу пользователя. Осуществляется это с помощью содержимого двух особых файлов: CONFIG.SYS и AUTOEXEC.BAT. Указанные файлы, если они имеются в корневом каталоге системного диска, обрабатываются при любом включении или перезапуске машины.С помощью файла конфигурации CONFIG.SYS можно расширять операционную систему и изменять некоторые параметры, влияющие на работу внешних устройств. Одно из важнейших свойств DOS состоит в возможности добавления новых внешних устройств и подключения специальных программ, обеспечивающих управление их работой.Эти программы, называемые драйверами внешних устройств, можно включить в систему, перечислив их в файле CONFIG.SYS. Помимо этого в файле конфигурации можно указать, сколько файлов в системе может быть открыто одновременно, задать количество буферов для обменов с внешними накопителями и некоторые другие параметры.Пример. Рассмотрим типичный вид файла CONFIG.SYS: break=on flles=30 device=C:\sys\rk.com device=C:\sys\vdisk.sys 20 device=C:\sys\ansi.sys device=C:\sys\mouse.sysВ первой строке с помощью выражения BREAK=ON устанавливается режим, при котором пользователь будет иметь возможность прервать любую работающую программу при определенных условиях. Для этого дается команда прерывания, вызываемая одновременным нажатием управляющих клавиш Ctrl и Break. Работающая программа будет прервана, если эти клавиши оказываются нажатыми в момент выполнения операций ввода/вывода (включая печать на принтере, обмен с дисками и др.). Во второй строке командой FILES=30 устанавливается, что количество одновременно открытых файлов может достигать 30. Четыре следующие строки имеют одинаковый вид и содержат команды подключения к DOS дополнительных внешних устройств. В правой части каждого выражения, после знака равенства, задается имя файла, являющегося драйвером нового устройства:RK.COM - драйвер, обеспечивающий прием с клавиатуры и выдачу на дисплей букв русского алфавита; VDISK.SYS - драйвер виртуального диска, создаваемого в оперативной памяти; ANSI.SYS - драйвер расширенного управления клавиатурой и дисплеем; MOUSE.SYS - драйвер манипулятора "мышь".Кроме указанных в примере команд, в файле конфигурирования можноустановить нестандартное количество буферов для обмена информацией с дисковыми накопителями.Задание числа буферов делается с помощью выражения вида;BUFFERS= (количество_буферов)Еще одна возможность позволяет указывать имя файла, который будет играть роль нестандартного командного процессора (вместо стандартного файла COMMAND. СОМ). Такое указание осуществляется с помощью выражения вида: SНЕLL=(имя_файла_с_новым_командным_процессором)Таким образом, с помощью файла конфигурирования CONFIG.SYS пользователь может задать собственные, нестандартные возможности, которые действуют в течение текущего сеанса работы.

Командные файлы Командные файлы принадлежат к категории исполняемых файлов. Такие файлы снабжаются типом.ВАТ (от английского слова batch - пачка). Запуск командного файла осуществляется точно так же, как запуск файла типа СОМ или ЕХЕ: указывается имя файла без расширения и, если требуется, параметры.Роль командных файлов особая.Они могут содержать целую группу команд DOS или обращений к прикладным программам, которые выполняются последовательно или в более сложном порядке. Командный файл, в отличие от исполняемых файлов остальных двух типов, содержит не машинный код программы, а текст, который интерпретируется командным процессором DOS. Таким образом, по форме это обычный текстовый файл. Его строки могут представлять собой: встроенные команды DOS, обращения к исполняемым программам, вызовы других командных файлов, специальные команды для управления выводом на экран, специальные команды для организации ветвлений и циклов, метки.Все эти конструкции (за исключением меток) могут не только фигурировать в командных файлах, но и просто вводиться пользователем с клавиатуры. Однаков практической работе лишь команды первых трех типов вводятся пользователем, а остальные конструкции, включая метки, служат главным образом для создания нетривиальных командных файлов.Рассмотрим несколько простых примеров применения командных файлов. Пример 1. Допустим, наша регулярная работа осуществляется в каталоге WORK, но время от времени мы хотим переходить в каталог GRAPH, запускать там графический пакет VICONT, а по окончании работы с этой программой возвращаться в каталог WORK. Последовательность команд при этом должна быть следующей: cd \GRAPH VICONT cd \WORK Эту последовательность можно разместить с помощью текстового редактора в командном файле. Каждая команда должна следовать на отдельной строке. Дадим этому файлу имя V.ВАТ. Достаточно теперь задать в качестве одной команды имя этого файла - V, и содержащиеся в нем несколько команд начнут интерпретироваться одна за другой, избавляя нас от необходимости вводить их текст с клавиатуры. Первая команда сменит каталог, а вторая погрузит нас в операционную среду системы VICONT. Когда после выполнения необходимых действий мы, наконец, закончим работу с VICONT, управление вернется в командный файл. Выполнение третьей команды вернет нас в каталог WORK. Заметим, что при выполнении каждой команды в данном примере на экране печатается приглашевие, затем текст самой команды (эхо) и, наконец, результат ее работы. Пример 2. Допустим, мы хотим предельно сократить число манипуляций для создания необходимой рабочей обстановки при запуске системы. Мы можем заставить DOS автоматически провести всю необходимую подготовку операционной среды с помощью командного файла следующего вида; echo off mode co80 path C:\;C:\EXE;C:\TURBO cd \WORK turbo Присвоив этому файлу какое-либо имя, например, START. ВАТ, мы избавим себя от систематического набора указанных команд: достаточно набирать лишь слово START. Первая команда этого файла ECHO OFF отключает "эхо", т. е. блокирует выдачу на экран приглашений DOS и текстов последующих команд. Три следующие команды осуществляют настройку необходимых параметров (установка режима дисплея, задание альтернативных маршрутов и рабочего каталога), а последняя команда производит запуск системы TURBO Pascal. Пример 3. Для подготовки принтера к печати русского текста мы можем воспользоваться специальной программой загрузки шрифта, обращение к которой имеет вид: LFONT 0. Перед запуском этой программы нужно проделать подготовительные действия - включить принтер, вставить бумагу. Можно создать небольшой командный файл, который будет выдавать на экран соответствующее уведомление и затем запускать программу LFONT с указанным параметром. Вид такого файла: echo off echo Включите принтер, вставьте бумагу echo Будет загружен русский шрифт pause lfont 0 Дадим этому файлу имя LF.BAT. Для загрузки русского шрифта достаточно набрать команду LF. Исполнение этого командного файла начинается, как и в предыдущем примере, с команды ECHO OFF. Две следующие команды ECHO выводят на экран сообщения, заданные в файле в качестве текстовых строк - аргументов команд: "Включите принтер, вставьте бумагу" н "Будет загружен русский шрифт". Четвертая команда, PAUSE (пауза), приостанавливает дальнейшую обработку файла LF в ожидании, пока пользователь не нажмет какую-либо клавишу. Пауза нужна для того, чтобы можно было не спеша включить принтер и заправить бумагу. Наконец, последняя команда запускает программу LFONT. В последнем примере были использованы команды ECHO и PAUSE, управляющие выдачей информации на экран. К этой же категории можно отнести команду REM, которая служит для внесения в текст командного файла комментария. Строка, следующая sa символом REM, никак не интерпретируется командным процессором - она используется лишь для пояснений пользователю. С помощью команды REM удобно блокировать исполнение некоторых команд, не удаляя их из текста командного файла. Использование команд ECHO, PAUSE и REM полезно лишь в командных файлах; вводить их с клавиатуры для непосредственного исполнения не имеет особого смысла. Есть и другие команды, предназначенные главным образом для использования в командных файлах. К ним относятся: GOTO - безусловный переход (на метку); IF - проверка условия и ветвление; FOR - управление повторным выполнением команд; SHIFT - сдвиг списка формальных параметров. Отметим еще одно важное свойство командных файлов - возможность использования внутри них формальных параметров. Для пояснения этой возможности обратимся еще раз к первому примеру. Допустим, нам хотелось бы применять одну и ту же последовательность команд, приведенную в примере 1, для запуска разных подсистем. Тогда можно видоизменить приведенный выше текст файла V. ВАТ, заменив имя каталога GRAPH и имя вызываемой программы VICONT формальными параметрами. Командный файл при этом приобретает вид: cd \%1 %2 cd \WORK Символы %1 и %2 обозначают формальные параметры, вместо которых при обращении к файлу V.ВАТ будут подставлены в текстовом виде фактические параметры, указанные в командной строке. Обращение к V.ВАТ может иметь вид: V graph vicont Строки graph и vicont займут место соответственно параметров %1 и %2, в результате чего получится точно такой же текст, как и в примере 1. Однако новый командный файл, в отличие от прежнего, можно использовать для запуска других подсистем, например: V ss symph или V ww word В первом случае из каталога SS будет вызвана программа symph, во втором случае из каталога WW вызывается система word.

Развитые командные файлы Рассмотрим действие специальных команд, позволяющих управлять интерпретацией командных файлов. К ним относятся команды GOTO, IF, FOR, SHIFT, а также команда EXIT, играющая особую роль при рекурсивном вызове командных файлов. Команда GOTO. Позволяет передавать управление на метку и тем самым осуществлять повторное исполнение участков командного файла или, наоборот, обходить некоторые участки (что обычно имеет смысл в сочетании с командой ветвления IF). Пример 1. Пусть командный файл PR.ВАТ имеет вид echo off:m1 echo Вывод на принтер файла %1 echo Для остановки нажмите Ctrl-C copy %1 prn pause goto m1 В данном примере вторая строка содержит метку m1 (признаком метки является двоеточие в начале строки), а последняя строка - команду перехода на эту метку. Четыре команды внутри повторяемого участка командного файла служат для выдачи на экран поясняющих сообщений (команды ECHO) и копирования на принтер (т, е. печати) файла, имя которого подставляется вместо формального параметра %1. Команда PAUSE приостанавливает исполнение, чтобы пользователь имел возможность осмотреться и либо прервать работу, либо продолжить её дальше. Допустим, пользователь дает е терминала команду: pr spectr.doc Тогда начинается циклическое исполнение файла PR. ВАТ с фактическим параметром SPECTR.DOC. На принтер начнут выдаваться одна за другой копии этого текстового файла, прерываемые паузами после каждой очередной копии. Пользователь может прервать исполнение этого командного файла, нажав одновременно клавиши Ctrl и С.Команда IF. Позволяет проверять условие и выполнять команду в зависимости от результата его проверки. Что можно задавать в качестве условия? Для этого имеется три возможности: 1. Проверка кода завершения программы, сработавшей перед оператором IF. При этом в начале оператора IF используется конструкция следующего вида: IF ERRORLEVEL "N" Любая программа может с помощью специального прерывания DOS выработать в момент своего окончания так называемый код завершения. Этот код сравнивается с числом N. Условие считается выполненным (истинным), если выработанный код завершения равен или больше указанного числа N. 2. Проверка наличия файла в каталоге. В этом случае начало оператора IF имеет вид; IF EXIST (имя_файла) В данном случав команда IF проверяет, действительно ли существует файл с заданным именем в указанном или в текущем каталоге. При обнаружении файла условие считается выполненным. 3. Сравнение двух строк, которые, в частности, могут задаваться через формальные параметры. Соответствующая конструкция может иметь вид; IF %(N)=(текстовая_строка) Здесь значение формального параметра % (N) сопоставля,ется с конкретной строкой. При абсолютном совпадении двух строк условие считается выполненным.Команда FOR. Обеспечивает циклическое выполнение комацд DOS. При этом можно задать формальный параметр и список фактических параметров (обычно - имен файлов), которые последовательно подставляются вместо формального параметра в текст исполняемой команды. Пример 2. Пусть имеется необходимость систематически копировать файлы PROG.PAS, PROG.OBJ и PROG.EXE из рабочего каталога на диск D: . С этой целью можно в соответствующем командном файле дать команду: for %%А in (PAS OBJ ЕХЕ) do copy PROG.%%A D: Здесь формальный параметр %%А последовательно сопоставляется со списком фактических параметров в круглых скобках и используется командой COPY, которая в данном случае выполняется 3 раза подряд. Подставив в качестве второго параметра команды COPY вместо имени D: еще один формальный параметр %1, можно будет менять назначение копирования, задавая его с терминала.Команда SHIFT. Вызывает сдвиг списка формальных параметров относительно списка фактических параметров. Так, если в командном файле фигурируют формальные параметры %1 и %2, а в обращении к командному файлу - фактические параметры А, В, С, D, то сначала соответствие формальных и фактических параметров выглядит следующим образом: %1=А %2=В Однократное применения команды SHIFT дает следующее соответствие: %1=В %2=С Двукратное применение вызывает дальнейший сдвиг: %1=С %2=D Пример 3. Рассмотрим задачу, обратную задаче примера 2, а именно, - нужно копировать на диск D: файлы, имена которых пользователь будет вводить с терминала. Эту задачу позволит решить командный файл следующего вида: echo оff:1оор copy %1 D: shift goto loop Если присвоить этому файлу имя D.BAT и вызвать его с произвольным числом аргументов: d f.1 f.2 f.3 f.4 f.5 то будет происходить последовательное присваивание формальному параметру %1 значений f.1, f.2, f.3, f.4, f.5 и циклическое исполнение команд COPY и SHIFT. После исчерпания фактических параметров команда COPY выдаст сообщение об ошибке, поскольку ее первый аргумент будет отсутствовать. В этот момент пользователь сможет прервать работу командного файла, нажав клавиши Ctrl и C. Команда SHIFT используется также в тех случаях, когда число параметров командного файла превышает 9, так как в командном файле можно адресоваться к формальным параметрам только от %0 до %9.

Файл автозапуска AUTOEXEC.BATС точки зрения содержащейся в файле AUTOEXEC.BAT информации он является обычным командным файлом. Однако он играет особую роль, потому что при начальном запуске и инициализации системы, вслед за обработкой CONFIG.SYS, операционная система пытается найти в корневом каталоге системного диска файл AUTOEXEC.BAT н начинает его обработку автоматически, без какого-либо побуждения со стороны пользователя.В файл AUTOEXEC.BAT удобно занести различные команды, которые осуществят всю необходимую настройку системы. Пример. Рассмотрим следующий файл AUTOEXEC.BAT: echo off path C;\;C:\EXE prompt $p$g set ABC=C:\ABC rkvga.com ver fkeys.bat Начиная со второй строки этого файла, стоят команды, обеспечивающие создание определенной операционной обстановки. Рассмотрим их по порядку. 1. Команда PATH устанавливает альтернативные маршруты для поиска исполняемых файлов. В примере один из маршрутов указывает на системный подкаталог с именем ЕХЕ. Кроме того, как возможное место размещения используемых программ указан корневой каталог диска С: . В ряде случаев прикладные программы используют каталоги с именем BIN. В этом случае именно его имя полезно указать в команде PATH. Для пользователей, часто обращающихся к какой-либо одной системе программирования или прикладной системе (например, Turbo Pascal), может оказаться полезным включение в число альтернативных маршрутов имени соответствующего подкаталога. 2. Команда PROMPT задает формат пртглашения DOS. Задание формата приглашения осуществляется параметром команды - строкой, состоящей из обычных текстовых и специальных управляющих символов. Управляющие символы снабжаются префиксом - знаком $, отличающим их от обычных символов.

Команды файла config.Sys

Следующие команды можно использовать только в CONFIG.SYS:

BUFFERS = n [ , m ]

Устанавливает число буферов для дискового ввода-вывода, которые будут созданы и задействованы DOS.

FILES = n

Устанавливает максимальное число одновременно открытых файлов (8-255, по умолчанию 8).

COUNTRY = с [, [,file]]

Настраивает DOS для использования в заданной стране, устанавливая формат даты и времени, принятого в заданной стране

STACKS = n, s

Устанавливает число стеков n (0-64) и их размер s (0-512 байт) для аппаратных прерываний

SHELL = file [аргументы] [переключатели]

Обеспечивает настройку и замену стандартного CI Command.com на новый

SWITCHES = [переключатели]

Задает специальные опции для MS-DOS

LASTDRIVE = d

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

DEVICE = file [аргументы] [переключатели]

Предназначена для подключения внешних драйверов устройств

DOS = HIGH | UMB | HIGH, UMB

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

DEVICEHIGH ] = file [аргументы] [переключатели]

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

Общие команды

Эти команды можно использовать в CONFIG.SYS и AUTOEXEC.BAT, а также в командной строке DOS:

Команды файла autoexec.Bat

Этот файл может включать любые команды DOS общего назначения, а также любые команды пакетных (командных) файлов. Но целесообразно использовать еще целый ряд команд:

MODE устройство CP PREPARE = ((cp [,cp]...) file)

Предназначена для подготовки кодовой страницы cp

MODE устройство CP SELECT = cp

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

KEYB [код [,cp] [,file]]

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

LOADHIGH | LH ] file

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

MSCDEX /D:driver [ключи]

Организует доступ к приводам CD-ROM, заданным спецификациями driver, как к логическим дискам с файловой системой FAT

Загружает в память драйвер мыши, который представляет собой резидентную программу и находится во внешнем файле Mouse.com

7 . Команда LASTDRIVE = d

Задает список допустимых имен логических приводов для команды SUBST. Указывает, что можно использовать буквы от A до d включительно.

8 . Команда DEVICE = file [аргументы] [переключатели]

Предназначена для подключения внешних драйверов устройств.

Драйверы обычно оформляются обычным образом и имеют расширение sys, bin или com. В последнем случае драйвер подключается в файле Autoexec.bat, например , драйвер мыши Mouse.com.

9 . Команда DOS = HIGH | UMB | HIGH, UMB

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

Аргумент HIGH специфицирует перемещение резидентных модулей DOS из стандартной памяти в высокую память, если она доступна. В противном случае эти модули остаются в стандартной памяти. По умолчанию используется аргумент LOW, предписывающий оставить резидентные модули DOS в стандартной памяти.

Аргумент UMB указывает, что DOS должна обеспечить связь с верхней памятью, сформированной драйвером Emm386.exe. Когда верхняя память не сформирована, этот аргумент игнорируется.

Аргумент NOUMB запрещает DOS организацию с верхней памятью и принимается по умолчанию.

Замечания: команда DOS может использоваться только в файле Config.sys; файл Config.sys может содержать одну или две, не противоречащие друг другу, команды DOS; перемещение резидентных модулей DOS в высокую память позволяет освободить до 60К стандартной памяти;

Наверх

10. Команда DEVICEHIGH ] = file [аргументы] [переключатели]

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

Команда DEVICEHIGH является аналогом команды конфигурирования DEVICE, однако загружает драйвер не в стандартную память, а в верхнюю и предоставляет пользователю уточнение места загрузки этого драйвера при помощи ключа /L.

1). В ПК должна быть сформирована верхняя память; 2). Должна быть обеспечена связь DOS с верхней памятью; 3). В верхней памяти должен быть свободен по крайней мере один блок, размер которого достаточен для размещения драйвера.

Если хотя бы одно из этих условий не выполняется, то команда DEVICEHIGH выполняется точно так же как и ее аналог – команда DEVICE, загружая драйвер в стандартную память и подключая его к системе.

Когда переключатель /L не указан, драйвер загружается в наибольший свободный блок верхней памяти. Этот переключатель позволяет конкретизировать регион верхней памяти, в который следует загрузить драйвер. Регионы верхней памяти нумеруются целыми числами, начиная с 1. Считается, что стандартная память – это регион с номером 0. Получить номера регионов, имеющих свободные блоки памяти, можно путем выполнения команды MEM с переключателем /FREE.

Размер драйвера сразу после его загрузки в память называется загрузочным размером драйвера. Он, как правило, совпадает с длиной файла, содержащего драйвер. Иногда, этот размер в процессе работы драйвера изменяется. Он может больше первоначального, в том случае если происходит расширение за счет создаваемых драйвером информационных объектов. Или он может уменьшаться после выполнения действий, связанных с инициализацией модуля.

Чтобы “разбухание” драйвера не привело к краху системы из-за отсутствия смежной свободной памяти, в переключателе /L допускается указывать второе число s1, определяющее минимальный размер свободного блока, в который драйвер может быть загружен.

Переключатель /S обеспечивает усечение распределенного драйверу блока памяти после его загрузки наиболее эффективным образом. используется только совместно с указанием числа s1.

Пример: команда

DEVICEHIGH /L:1,18160 = C:\DRV\PIONEER.SYS /D:MSCD001

- загружает драйвер CD-ROM в первый регион, если в нем имеется свободный блок размером не менее 18160 байт.

Замечания: эта команда может принести ожидаемые действия только тогда, когда она задана после команды DEVICE, обеспечивающей подключение к системе драйвера Emm386.exe; эта команда не обеспечивает загрузку резидентных программ в верхнюю память;

В рассматриваемом примере строка $p$g в качестве параметра команды PROMPT обеспечивает выдачу приглашения, которое используется наиболее часто. Оно содержит имя текущего каталога и имеет, например, такой вид: C:\WORK> Если бы строка имела вид $t $d $b $p$g, то в приглашение были бы включены довольно длинные сообщения о времени и дате: 13:55:34.05 Mon 11 - 26 - 98 | C:\WORK) Командой PROMPT можно выдавать и другие информационные параметры, например, имя пользователя, название организации и др. 3. Команда SET позволяет вводить в операционную обстановку системы различные имена с параметрами, которые затем могут использоваться прикладными программами. Типичное использование таких параметров - задание имен каталогов, где должны находиться все рабочие файлы для данной прикладной системы (например, базы данных или текстового редактора). В рассматриваемом примере команда SET вводит имя АВС с параметром С:\АВС, которое является указанием текстовому процессору, откуда следует брать вспомогательные файлы (шрифты, драйверы и др.). Рассмотренные выше команды PATH и PROMPT также кодифицируют обстановку, но в отношении фиксированных имен (а именно, устанавливают параметры для имен PATH и PROMPT). Команда SET позволяет делать то же самое для произвольных имен, и ее, таким образом, можно рассматривать как обобщение вышерассмотренных команд. Команда SET может использоваться, например, для указания каталога, ориентированного на обслуживание конкретной прикладной программы. 4. Команда RKVGA.COM запускает русификатор шрифтов. 5. Команда VER в шестой строке файла AUTOEXEC.BAT является встроенной в DOS командой. Ее задача очень проста - выдать на экран сообщение о номере версии операционной системы. 6. Последняя команда в файле автозапуска - FKEYS.BAT - осуществляет вызов другого командного файла FKEYS.BAT, в котором происходит переопределение некоторых функциональных клавиш для предоставления пользователю возможности быстрого набора некоторых часто используемых команд. Таким образом, в рассмотренном файле автозапуска указаны команды, с помощью которых создается определенная операционная обстановка, способствующая удобной дальнейшей работе пользователя. Часто в файл автозапуска вставляются также команды управления экраном, с тем чтобы перед началом работы сделать цветные заставки, выдать сообщения и др. Применяется также команда MODE для установки параметров экрана, принтера и коммуникационного канала, а также команда ASSIGN для переназначения логических имен накопителей.

Управление внешними устройствами Некоторые команды DOS позволяют управлять характером работы компьютера и периферийных устройств. К числу таких команд относится команда Mode. Команда Mode - многоцелевая команда, но все ее цели имеют с небольшими вариациями один смысл: изменение режима работы аппаратуры. Обычно эту команду применяют в файле автозапуска Autoexec.bat, чтобы реконфигурация работы периферийных устройств выполнялась автоматически каждый раз при загрузке операционной системы. Команда Mode используется в следующих целях: - установка режимов работы принтеров; - установка режимов экрана монитора; - установка режимов работы последовательного порта ПК; - подготовка к работе последовательного принтера; - установка или замена кодовой страницы (при работе на альтернативных языках); - получение информации о текущих настройках режимов аппаратуры; - установка частоты повторения ввода нажатой клавиши. Для получения подробных сведений о методике применения команды Mode в конкретных случаях следует обратиться к справочной документации по DOS. Управлять экраном монитора можно также с помощью драйвера ANSI.SYS - специальной прграммы, подключаемой к DOS через файл конфигурации CONFIG.SYS. Этот драйвер объемом менее 2 К обеспечивает дополнительные функции управления дисплеем: задание цвета символов и фона, позиционирование курсора, переопределение символов, вводимых с клавиатуры и т.д. Реализация этих функций осуществляется с помощью следующего приема - в драйвер посылаются особые управляющие последовательности символов (так называемые Esc-последовательности), которые и заставляют его выполнять те или иные операции.

Рассмотрим подключение основных драйверов устройств.

Наиболее часто встречающиеся рекомендации по запуску звучат так: Пуск, выполнить, cmd . В меню пуск присутствует пункт Выполнить. Он запускает программу, которая позволяет передавать единичные команды системе Windows. В данном случае команда cmd запускает исполняемый файл cmd.exe , находящийся в папке system32 .

C:\WINDOWS\system32\cmd.exe

На некоторых версиях Windows пункт меню выполнить по умолчанию убран. В этом случае жмёте + R , вводите cmd , далее Enter . Также можно запустить командную строку непосредственно из папки system32, сделав ярлык для запуска на рабочем столе (кликаем на cmd.exe правой клавишей мыши и в меню выбираем пункт Отправить/Рабочий стол) или же через диспетчер задач (кнопка новая задача - cmd).

По умолчанию в командной строке нельзя работать мышью (перемещать курсор или выделять текст). Это неудобно вообще и новичкам в особенности. К тому же чёрный экран выглядит как-то слишком мрачно и уныло. Поэтому после запуска командной строки

нужно будет изменить её настройки. Жмём правой клавишей на окне cmd и выбираем умолчания. Стоит сразу отметить, что настройки умолчаний относятся к cmd.exe в целом, а свойства - к конкретному открытому окну.

В появившемся окне свойств командной строки видим четыре вкладки:

На вкладке Параметры стоит отметить пункты отбрасывать повторения (чтобы снизить заполнение буфера команд) и выделение мышью (чтобы можно было использовать мышь в работе).

На вкладках Шрифты и Цвета всё просто: выбираете размер, тип и цвет шрифта, а также фоновый цвет окна. Отмечу только, что размер шрифта влияет на размеры окна командной строки, поэтому его надо выставлять до размеров окна, а не после.

Во вкладке Расположение задаются размеры окна и его начальное расположение при запуске. Я так до конца и не понял в каких единицах представлены величины, поэтому размер советую выставлять, руководствуясь окном предпросмотра слева.

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

Также если строка не впишется в ширину окна это приведёт к её переносу. Воспринимать представленную таким образом информацию менее удобно. Поэтому буфер я ставлю всегда намного больше размеров окна. Это позволяет просмотреть большие объёмы информации, воспользовавшись полосами прокрутки справа и снизу. Картинка ниже кликабельна. На превью показано начало вывода команды dir для папки system32, а нажав на превью можно увидеть хвост вывода (обратите внимание на полосу прокрутки справа - данных очень много).

Команды командной строки

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

help - вывод справки по командам help CD или CD /? - вывод справки по одной команде (для команды CD ) cd - переход в корневой каталог cd .. - переход в родительский каталог D: - переход на диск D . dir - вывод всего содержимого папки dir *.exe - вывод списка exe -файлов папки cls - очистить экран командной строки

Командная строка запоминает команды, которые вы вводите. Листать их можно клавишами ⇑ и ⇓ . Можно просматривать содержимое папки при помощи клавиши Tab (Shift +Tab листает в обратном порядке). Можно пролистать файлы на конкретную букву или буквы. Например, напечатав букву s и нажимая Tab , можно пролистать только файлы и папки, начинающиеся на эту букву (s ystem, s ystem32, s ystem.ini и т.д.) . Как это можно использовать:

Например, вам надо перейти из корня диска C в папку system32, найти и запустить в ней контрольную панель. Можно просто напечатать:

C:\windows\ system32\ control.exe

Но это не всегда быстро и удобно, к тому же не всегда знаешь - что конкретно надо набирать. Поэтому можно набрать команду cd , затем после пробела набрать wi Windows, поставить после неё слэш, набрать буквы sy , пролистать клавишей Tab до папки sy stem32, затем опять слэш и то же самое с control.exe.

C: cd wi ndows\sy stem32\co ntrol.exe

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

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

В заключение статьи скажу, что cmd.exe - это просто программа ввода-вывода, такая же, как и блокнот. Разумеется, есть более продвинутые аналоги, которыми тоже можно пользоваться. Одна из таких программ - Console Portable

Кстати, в операционной системе GNU Linux командную строку можно вызывать прямо из папки. При этом строка откроется сразу с адресом папки и его не надо будет набивать вручную. В Windows для того, чтобы открыть командную строку непосредственно в папке, необходимо, зажав Shift , нажать правую клавишу мыши и выбрать в меню пункт "Открыть окно команд".

Также можно добавить эту возможность (и целый ряд других) с помощью программы расширения контекстного меню FileMenu Tools :

Применительно к DOS, все команды подразделяются на внутренние (те, что обрабатываются командным процессором command.com) и внешние, являющиеся системными утилитами. Так, полная версия MS-DOS поставляется с большим числом дополнительных утилит, которые вполне можно рассматривать как команды. В командной строке, входящей в состав Windows, имеется только поддержка внутренних команд и основных внешних, необходимых лишь для обеспечения базовой функциональности и возможности запуска программ, созданных для DOS. Кроме того, ряд команд, строго говоря, вовсе не является командами DOS, а являются консольными программами Windows XP.

VER

Команда VER (от VERsion - версия) является внутренней и выводит версию используемой операционной системы. Для Windows XP она выведет на экран следующую информацию:

Microsoft Windows XP [Версия 5.1.2600]

А для Windows 7:

Microsoft Windows

Так что теперь мы знаем, что на самом деле, Windows 7 - никакая не 7, а 6.1.

DIR

Для того чтобы узнать, что находится в текущем каталоге на диске, используют команду DIR (от DIRectory - каталог). При этом, для того чтобы сменить текущий диск, используют команду, состоящую только из имени диска, то есть буквы и двоеточия (не забывайте нажимать Enter для выполнения команд). Так, командой A: вы перейдете на диск A:. Например, если вставить новую дискету в дисковод и набрать сначала A:, а затем DIR, то можно будет увидеть примерно следующее:

Том в устройстве A не имеет метки. Серийный номер тома: 234F-18F9 Содержимое папки A:\ Файл не найден

Если бы на дискете присутствовали файлы и (или) каталоги, то команда DIR вывела бы их список с указанием размера и даты создания. Если файлов много, то можно прибегнуть к помощи специального ключа w:

В этом случае информация о файлах будет выведена в компактном виде - в несколько столбцов и без дополнительной информации (то есть только имена).

CD

Для того чтобы сменить текущий каталог, используется команда CD (от Change Directory - сменить каталог). При этом смена каталога осуществляется по принципу "от текущего". Допустим, у вас на диске C: имеется каталог DIR1, в который вложен каталог DIR2. Если вы находитесь в корневом каталоге диска C: (то есть C:\), то, чтобы добраться до каталога DIR2, вам надо ввести последовательно две команды DIR:

После этого приглашение системы сменится на c:\DIR1\>

Теперь приглашение системы сменится на c:\DIR1\DIR2\>

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

Cd dir1\dir2

Если же требуется перейти на уровень выше (например, из DIR2 в DIR1), следует вместо имени директории ставить две точки:

MD

Команда MD (от Make Directory - создать каталог) предназначена для создания каталогов. Если вы хотите создать каталог "MYDIR" непосредственно внутри текущего, то вводите:

Md MYDIR

Если же вы находитесь, например, в корневом каталоге диска D:, а создать новый каталог надо внутри другого (например, DIR1 на диске C:), то требуется указать полный путь:

Md c:\DIR1\MYDIR

Следует запомнить, что при выполнении всех команд DOS отталкивается от текущего каталога, то есть от того, который вы видите в системном приглашении. И если вам требуется выполнить действие в другом месте, то вы должны либо указывать полный путь, включая имя диска, либо перейти в нужный каталог при помощи команды CD.

COPY

Для копирования файлов используется команда COPY. Например, чтобы с ее помощью скопировать файл command.com с диска C: на диск D:, следует написать:

Copy c:\command.com d:

Таким образом, здесь первый параметр определяет исходное имя файла, а второй - расположение создаваемой копии. В примере выше файл command.com появится в корневом каталоге диска D:. Если же требуется при копировании еще и изменить имя файла, то необходимо указать и новое имя:

Copy myfile1.txt myfile2.txt

Здесь производится копирование файла myfile1.txt из текущего каталога в файл myfile2.txt, который будет находиться в том же каталоге, что и myfile1.txt.

MOVE

Если требуется не скопировать файл, а перенести его на новое место, используют команду MOVE (переместить):

Move myfile1.txt a:\

Таким образом, файл myfile1.txt из текущего каталога переместится в корневой каталог диска A:. В случае удачного выполнения команды файл будет скопирован в новое место и удален в исходном.

DEL

Для удаления файлов используют команду DEL (от DELete - удалить). Например, если ввести:

Del c:\dir1\myfile1.txt

то будет удален файл myfile1.txt из каталога DIR1 на диске C:. Если указать не имя файла, а только имя каталога, то будут удалены все файлы из указанного каталога.

EDIT

Когда возникает необходимость внести какие-либо изменения в текстовый файл, то можно воспользоваться внешней командой EDIT (правка), которая загружает простой текстовый редактор, входящий в поставку любой версии DOS и Windows 9х. Существует два способа воспользоваться этой программой. Во-первых, можно просто написать в командной строке "edit" и нажать Enter, после чего будет загружен редактор с пустым документом. Но целесообразнее сразу указывать имя редактируемого файла, например:

Edit c:\autoexec.bat

В результате выполнения такой команды в редактор сразу же с диска C: будет загружен файл AUTOEXEC.BAT. Если у вас все еще установлена Windows 9x, то вы увидите примерно то, что изображено на рис. 6.1.

Рис. 6.1. Штатный редактор с загруженным файлом AUTOEXEC.BAT

В верхней строке вы видите меню редактора. Наиболее важным является меню Файл, при помощи которого можно сохранить отредактированный документ (выбрав из него соответствующий пункт), а также выйти из программы. Для того чтобы переключиться из собственно области, где можно править текст, в меню, следует нажать клавишу Alt, а затем перемещаться между пунктами при помощи стрелок. Забегая вперед, хочу отметить, что при помощи Alt вы можете перейти в меню в любой Windows-программе. Так же следует отметить, что в семействе Windows NT (включая XP, Vista и Seven) этой команды нет.

FORMAT

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

ПРИМЕЧАНИЕ
Прежде чем операционная система сможет работать с диском, его требуется отформатировать. При форматировании каждый физический блок информации на диске связывается с логической структурой файловой системы. Учтите, что после форматирования жесткого диска восстановление какой-либо ранее находившейся на нем информации невозможно.

Для использования этой команды следует указать имя диска. Например, чтобы отформатировать дискету, следует ввести:

Format a:

У команды FORMAT имеется ряд ключей, основные из которых перечислены в таблице ниже.

Таблица 6.1. Основные ключи команды FORMAT
Ключ Описание
/S После форматирования переносит системные файлы DOS на диск. Примени-тельно к дискете - делает ее загрузочной. Данный ключ работает только в DOS и Windows 9x
/F:размер Указывает размер форматируемых гибких дисков. В качестве размера указывают одно из следующих значений: 160, 180, 320, 360, 640, 720, 1.2, 1.44, 2.88. Как правило, этот ключ не используют, так как система определяет размер дискеты автоматически
/FS:система Определяет тип файловой системы (FAT, FAT32 или NTFS) для жесткого диска (для Windows Vista/7 - так же UDF). Данный ключ работает только в Windows 2000/XP/Vista/7
/Q Производит быстрое форматирование

Для использования ключа следует ввести в командную строку команду, затем - обязательный параметр (имя диска), а затем - через пробел - имя ключа или ключей. Так, для форматирования стандартной 3,5-дюймовой дискеты можно ввести:

Format a: /f:1.44 /u

При использовании команды FORMAT следует быть предельно внимательным!

SYS

Если требуется создать системный диск, следует не просто скопировать файлы io.sys, msdos.sys и command.com, а прибегнуть к помощи команды SYS. Дело в том, что само присутствие системных файлов еще не делает диск системным - необходимо, чтобы компьютер знал, где именно находятся эти файлы (причем физически, так как на момент загрузки файловая система ОС еще сама не загружена). Именно команда SYS располагает системные файлы там, где их будет искать компьютер для загрузки операционной системы. Например, для переноса системных файлов с диска A: на диск C: следует ввести:

Sys a: c:

Данная команда имеется только в DOS и Windows 9x.

FDISK

Команда FORMAT производит логическое форматирование. Кроме этого существует еще и возможность логического разделения жестких дисков. Это делают при помощи команды FDISK, для запуска которой достаточно ввести ее имя в командную строку и нажать Enter.

ВНИМАНИЕ
Команда FDISK имеется только в DOS и Windows 9x. В Windows XP создание разделов диска возможно либо в процессе установки системы, либо при помощи специальной оснастки Управление компьютером. Здесь рассматривается вариант подготовки диска в среде DOS.

При запуске FDISK, команда спросит, следует ли включить поддержку больших дисков. Если вы ответите "Y" (от yes - да), то в дальнейшем будете работать с системой FAT32. При этом становится возможным создавать логические разделы объемом свыше 2 Гбайт. Кроме того, в FAT32 более эффективно, чем в VFAT, распределяется место между файлами. После того, как ответите на вопрос о поддержке больших дисков, вы увидите основное меню программы FDISK, изображенное на рис. 6.2.

Рис. 6.2.

Для выбора действия в этой программе следует нажимать цифру, соответствующую номеру меню, после чего нажимать Enter. Возврат в предшествующее меню и выход из программы осуществляется клавишей отмены (Esc).

CONVERT

Эта команда, напротив, уже не имеет отношения к DOS и имеется только в Windows 2000/XP и выше. С ее помощью можно преобразовывать логические диски из FAT в NTFS. Для ее запуска следует вызвать командную строку Windows (Пуск " Программы " Стандартные). Подобно команде FORMAT, для выполнения CONVERT следует указать имя диска для преобразования и дополнительно - конечную файловую систему при помощи ключа FS:

Convert C: /FS:NTFS

Учтите, что преобразованный в NTFS диск для DOS является невидимым. Иначе говоря, загрузившись с системной дискеты, содержащей DOS (Windows 9x), вы не сможете получить доступ к NTFS-дискам.

На дистрибутивных дискетах MS-DOS расположены файлы io.sys, msdos.sys, wina20.386, командный процессор command.com, файлы внешних команд операционной системы (такие, как format.com, fdisk.exe и т. п.), драйверы и другие файлы.

После установки MS-DOS файлы io.sys, msdos.sys, wina20.386 и command.com переписываются в корневой каталог диска C:. Остальные файлы записываются в отдельный каталог, который по умолчанию называется dos (хотя при установке вы можете указать другое имя). Дополнительно в корневом каталоге формируются два текстовых файла с именами config.sys и autoexec.bat.

Для чего предназначены файлы, расположенные в корневом каталоге диска C:?

Файлы io.sys, msdos.sys и command.com являются основными компонентами MS-DOS. Опишем назначение этих и других файлов более подробно.

IO.SYS

Файл io.sys содержит расширение базовой системы ввода/вывода BIOS (Basic Input/Output System) и является интерфейсом между операционной системой и BIOS. Расширение используется операционной системой для взаимодействия с аппаратурой компьютера и BIOS.

Для того чтобы максимально уменьшить зависимость программ от особенностей аппаратного обеспечения компьютера используется многоступенчатая схема доступа программ к устройствам ввода/вывода. Согласно этой схеме программа никогда (в идеальном случае) не обращается непосредственно к портам аппаратуры. Вместо этого она взывает программное прерывание с нужным номером и запрашивает ту или иную функцию, загружая соответствующим образом регистры процессора.

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

Первая группа - это прерывания базовой системы ввода/вывода BIOS. Обработчик этих прерываний записан в микросхеме постоянного запоминающего устройства (ПЗУ), расположенной на основной плате компьютера (motherboard). Обработчики прерываний BIOS работают с портами ввода/вывода стандартных устройств компьютера и обслуживают соответствующие аппаратные прерывания.

В мире выпускается очень много различных моделей основных плат для компьютеров, совместимых в той или иной степени с IBM PC. Использование BIOS позволяет до некоторой степени стандартизовать программный интерфейс с аппаратурой, так как производитель основной платы может учесть в BIOS все аппаратные особенности.

Вторая группа - прерывания MS-DOS. Обработчики этих прерываний находятся в файлах io.sys и msdos.sys.

Расширение базовой системы ввода/вывода MS-DOS, расположенное в файле io.sys, является как бы прослойкой между операционной системой MS-DOS и BIOS. Для выполнения операций ввода/вывода ядро MS-DOS обращается как к самой базовой системе ввода/вывода BIOS, так и к ее расширению, загружаемому в оперативную память из файла io.sys.

В результате применения такой многоступенчатой схемы была достигнута потрясающая совместимость операционной системы MS-DOS с аппаратурой. MS-DOS способна работать практически на любом компьютере, созданном любой фирмой. Лишь бы этот компьютер был хоть немного совместим с IBM PC.

MSDOS.SYS

Файл msdos.sys является в некотором смысле набором программ обработки прерываний, в частности прерывания INT 21h. Это ядро операционной системы.

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

COMMAND.COM

Файл command.com - это так называемый командный процессор.

Командный процессор предназначен для организации диалога с пользователем компьютера. Он анализирует введенные команды и организует их выполнение.

Так называемые внутренние команды (dir, copy и т. д.) обрабатываются именно командным процессором. Не ищите в каталоге dos файлы программ с именами dir.exe или copy.com - таких файлов там нет. Внутренние команды потому и называются внутренними, что их обработчик находится в самой операционной системе. Точнее говоря, в файле command.com, который является важнейшей компонентой операционной системы MS-DOS.

Программист может написать свой собственный командный процессор и подключить его вместо стандартного. Новый командный процессор должен выполнять все функции, которые раньше выполняла стандартная программа command.com.

CONFIG.SYS

Файл config.sys представляет собой текстовый файл, предназначенный для определения конфигурации MS-DOS, а также для загрузки драйверов и резидентных программ. Он создается автоматически программой установки MS-DOS и затем при необходимости редактируется пользователем. Для редактирования файла можно использовать текстовый редактор edit, который входит в состав MS-DOS.

AUTOEXEC.BAT

Для автоматического выполнения часто используемых последовательностей команд MS-DOS можно создать так называемый пакетный файл. Этот текстовый файл с расширением имени.bat в каждой своей строке содержит вызов внутренней или внешней команды MS-DOS, а также специальные операторы.

На этапе установки MS-DOS в корневом каталоге диска C: создается пакетный файл с именем autoexec.bat. Этот файл запускается сразу после загрузки MS-DOS и содержит команды определения среды выполнения программ, а также вызовы инициализирующих и резидентных программ.

WINA20.386

Файл с именем wina20.386, который записывается в корневой каталог программой установки MS-DOS, представляет собой виртуальный драйвер для операционной системы Microsoft Windows (о виртуальных драйверах Microsoft Windows вы можете прочитать в 17 томе нашей серии книг "Библиотека системного программиста").

Основное назначение виртуального драйвера wina20.386 - обеспечение совместной работы со старшей областью памяти HMA операционных систем MS-DOS и Microsoft Windows версии 3.0 в расширенном режиме. Так как в настоящее время подавляющее большинство пользователей работают с Microsoft Windows версии 3.1 или с Microsoft Windows for Workgroups, этот файл, скорее всего, не понадобится вам совсем. Вы можете удалить его с диска.

Драйверы

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

Обычно драйверы находятся в файлах, имеющих расширение имени.sys, хотя есть и драйверы, встроенные в MS-DOS. Драйвер подключается к операционной системе MS-DOS с помощью оператора device, расположенного в файле config.sys.

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

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

Например, новое дисковое устройство может иметь другое количество дорожек и секторов, другие управляющие команды. Все это учитывается драйвером и базовой системой ввода/вывода BIOS, а прикладная программа будет работать с новым диском, как и раньше, используя прерывания BIOS и MS-DOS.

Внешние команды

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

Подробное описание внутренних и внешних команд выходит за рамки нашей книги. Основные команды описаны в первом томе нашей серии книг "Персональный компьютер - шаг за шагом". Сведения об остальных командах вы сможете найти в руководстве пользователя MS-DOS. Кроме того, в продаже есть много книг, посвященных командам MS-DOS.

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

Подготовка системной дискеты

Файлы операционной системы выделяются своим особым расположением на диске (кроме файла command.com) - эти файлы должны находиться в специально отведенном для них месте. Если вам нужно подготовить системную дискету (т. е. такую, с которой можно загружать операционную систему), для переноса файлов операционной системы следует использовать специальные средства. Если вы просто скопируете файлы msdos.sys и io.sys на чистую дискету, она от этого не станет системной.

Самый простой способ подготовки системной дискеты - отформатировать ее при помощи внешней команды format с параметром /s, например:

c:\>format a: /s

В этом случае после форматирования на дискету будут перенесены файлы операционной системы.

Вы можете также перенести системные файлы на дискету командой sys:

c:\>sys c:

Перед тем как вводить эту команду, сделайте текущим корневой каталог диска C:, так как в противном случае программа sys.com не сможет найти файлы io.sys, msdos.sys и command.com (что довольно странно, эти файлы найти достаточно легко).

Программа FDISK

Программа fdisk предназначена для подготовки жесткого диска к работе. Она разбивает диск на участки, называемые разделами.

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

Программа fdisk позволяет создать для MS-DOS первичный и вторичный раздел. В первичном разделе располагается системный диск C:, с которого выполняется загрузка операционной системы, вторичный раздел может быть разделен на логические диски (D:, E:, F: и т. д.). Диски, расположенные во вторичном разделе, не могут быть системными.

Заметим, что старые версии MS-DOS (до версии 4.0) позволяли создавать логические диски размером не более 32 Мбайт. Это связано с тем, что эти версии использовали 16-разрядную адресацию секторов диска, что недостаточно для дисков больших размеров.

Иногда вместо программы fdisk для подготовки жесткого диска используются специальные программы, такие как Advanced Disk Manager, Speed Stor и т. д. Используя свои собственные форматы разделов и таблиц разделов (и свои драйверы дисковых устройств), перечисленные выше программы предоставляют такие дополнительные возможности, как защита логического диска от записи или организация парольной защиты данных на диске. При этом для доступа к нестандартному разделу используется специальный драйвер.

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

Кроме того, драйверы, используемые для доступа к нестандартным разделам диска занимают дефицитное место в оперативной памяти и уменьшают производительность MS-DOS.

Некоторые программы, особенно защищенные от копирования, отказываются работать на диске, подготовленном нестандартными средствами. Причины этого мы объясним в следующем томе, когда будем обсуждать проблемы защиты программ от несанкционированного копирования.

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

Обычные программы MS-DOS удаляются из оперативной памяти сразу после своего завершения. В отличие от них резидентные программы остаются в памяти и могут быть активизированы при помощи заранее заданной комбинации клавиш, по инициативе другой программы, либо как результат возникновения аппаратного прерывания.

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

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

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

В качестве альтернативы пользователь MS-DOS версий от 5.0 и выше может использовать переключатель задач. Однако этот способ имеет свои недостатки.

Статьи по теме: