Структура системного диска
Рассмотрим логическую структуру системного диска (т.е. диска, с которого загружается DOS) (рис.4.1.3).
Компоненты DOS хранятся на системном диске в файлах, зарезервированными составными именами (кроме SB). SB содержится в стартовом секторе системного диска, т.е. в его первом секторе.
MP BIOS хранится в файле IO.SYS, который должен размещаться на системном диске и быть первым зарегистрированным в корневом каталоге.
БМ DOS хранится в файле MSDOS.SYS, который также размещается на системном диске и входит в корневой каталог вторым. Файлы IO.SYS и MS DOS.SYS имеют атрибуты R, H, S.
КП DOS находится в файле COMMAND. COM, который также содержится в корневом каталоге системного диска. Все указанные выше компоненты являются обязательными, без них загрузка DOS невозможна.
Файлы конфигурации системы и автозапуска соответственно имеют имена config.sys и autoexec.bat и обязательно должны быть размешены з корневом каталоге системного диска.
Рис. 4.1.3 Логическая структура системного диска
Загрузка. DOS
Под загрузкой любой программы понимается ее размещение в ОЗУ, и эту функцию обычно выполняет специальная программа загрузчик. В случае загрузки DOS дело обстоит несколько иначе, так как DOS является первичным продуктом и ее загрузкой никакая программа управлять не может. Поэтому DOS должна себя загружать сама после некоторого "толчка" извне. Последовательность основных этапов загрузки DOS представлена на рис. 4.1.4.
Загрузка DOS начинается автоматически после включения питания компьютера. Порядок включения компьютера определяется технической документацией, но обычно включают сначала периферийные устройства, а затем системный блок.
Включение питания системного блока приводит к аппаратной передаче управления на программу тестирования оборудования, находящуюся a BIOS. Тестированию подвергаются все устройства ПК, на которые подано питание. Оно сопровождается миганием индикаторов и подачей звуковых сигналов. На экране дисплея отражаются результаты тестирования ОЗУ.
Если в результате тестирования оборудования ПК выявлены нарушения, то на экран выдается определеннее сообщение, включающее код ошибки. Если ошибка некритическая (произошел сбой), то можно возобновить процесс загрузки, начиная с тестирования, нажав клавишу F1 на клавиатуре, о чем информирует сообщение на экране дисплея. В случае критической ошибки (отказ оборудования), процесс загрузки прекращается, и на экране выдается соответствующее сообщение.
После успешного завершения тестирования оборудования ПК инициализируются векторы прерывании нижнего уровня таким образом, что при их возникновении будут выбиратьея оораоотчяки из BIOS, вслед за тем управление передается на программу начальной загрузки в BIOS. Программа начатьной загрузки обращается к дисководу А: и, если в него установлена дискета, считывает в ОЗУ SB, хранящийся в ее стартовом секторе (имеется на любом отформатированном диске). Если дискета в приводе А: отсутствует, то предпринимается попытка загрузить SB с системного логического диска в активном разделе жесткого диска (диска С). В случае когда запустить DOS не удается и с жесткого диска, запускается интерпретатор Basic'а, прошитый в ПЗУ.
Рис.4.1.4. Процесс загрузкч DOS
Предположим, что SB считан в ОЗУ. Дальше DOS продолжает загружаться с того диска, из стартового сектора которого прочитан SB. После занесения SB в ОЗУ программа начальной загрузки передает на него управление, прекращая свою работу. Затем SB проверяет наличие на диске MP BIOS и БМ DOS. Если они имеются и правильно помещены в корневой каталог системного диска, то эти модули загружаются в ОЗУ, и yправление передается первому из них. В противном случае SB выдает на зкран сообщение об ошибке;
Non - system disk or disk error
Replace and strike any key when ready
(Несистемный диск или ошибка на диске.
Замените диск и затем нажмите любую клавишу).
Наличие этого сообщения говорит о том, что предпринята попытка загрузки с несистемного диска, или о разрушении информации на диске. После устранения причины появления этого сообщения для продолжения оабсты нужно нажать любую клавишу.
Получив управление, MP BIOS выполняет нижеприведенные действия:
1. определяет состояние оборудования и инициализирует (устанавливаег в исходное состояние) включенные периферийные устройства;
2. обрабатывает файл конфигурации CONFIG.SYS и осуществляет конфигурирование DOS, загружая в ОЗУ и подключая к системе указанные внешние драйверы, а также устанавливая параметры системы (если файл CONFIG.SYS отсутствует, то внешние драйверы не подключаются, а параметры DOS устанавливаются по умолчанию);
3. устанавливает и переустанавливает некоторые векторы прерываний нижнего уровня;
4. передает управление на БМ DOS.
БМ DOS продолжает загрузку системы, реализуя следующие функции:
1. инициализирует свои внутренние таблицы;
2. инициализирует векторы обрабатываемых им прерываний верхнего уровня;
3. загружает в ОЗУ КП и передает на него управление.
Получив управление КП:
1. инициализирует векторы прерываний, которые обрабатывает;
2. считывает, обрабатывает и организует выполнение файла AUTOEXEC.BAT, если этого файла нет, то КП последовательно выдает запросы на установку даты и текущего времени. С помощью файла AUTOEXEC.BAT можно автоматически выполнять команды DOS и программы для создания необходимой операционной среды.
Загрузка системы завершается выдачей на экран дисплея приглашения DOS в виде А> или С>. Буква в приглашении информирует пользователя об имени текущего дисковода.
В ответ на приглашение DOS можно вводить с клавиатуры команды и запускать на выполнение различные программы.
Перезагрузку DOS, например при сбое, можно выполнять одним из следующих способов:
1. выключением и последующим включением через некоторое время системного блоке (холодный перезапуск);
2. нажатием кнопки Reset;
3. одновременным нажатием клавиш Ctrt-Alt-Del на клавиатуре ПК (горячий перезапуск);
4. вводом команды COMMAND.COM с клавиатуры.
Выбор конкретного способа перезапуска определяется сложившимися обстоятельствами.
Выполнение команд и программ
Запросы на выполнение команд и программ вводятся с клавиатуры и называются командными строками, нх длина не должна превышать 127 символов. Командная строка состоит из имени команды или файла и, при необходимости аргументов, отделенных пробелом. Возможно также наличие переключателей, начинающихся символом /. Сингалом DOS к началу обработки командной строки является нажатие клавиши Enter, до этого момента командную строку можно редактировать.
Введенная команда анализируется КП, и дальнейшие его действия зависят от того, что требуется выполнить, внутреннюю команду либо внешнюю команду или программу, либо командный файл.
Внутренняя команда выполняется транзитным модулем КП, и на экране дисплея вновь появляется приглашение DOS, возможное после некоторых запросов к пользователю.
Если командная строка не распознана как запрос на выполнение внутренней команды, то транзитный модуль КП осуществляет попытку найти в файловой структуре заданного диска указанный ксполняемый файл. Если такой файл ке найден, на экран дисплея выдается соотвегствующсе сообщение и КП переходит в состояние ожидания, ввода новой командной строки с клавиатуры.
Если по спецификации файла найден corn - или ехе - файл, управление получает загрузчик программ, содержащийся в транзитном модуле КП. Он среди прочих действий переписывает эту программу в ОЗУ. Если в память переписана ЕХЕ-программа, то загрузчик по информации из ее заголовка осуществляет настройку этой программы в ссответствии с точкой загрузки, т.е. перемещение программы. Для СОМ-программы никакой настройки не требуется.
КП имеет специальную область, называемую окружением DOS, при порождении процесса оно дублируется, а по окончании дубликат уничтожается, а оригинал окружения активизируется, т.е. программа работает с копией, а не с оригиналом окружения, Окружение хранит имена глобальных переменных и их значения, которые могут использоваться для получения определенной информации любыми выполняемыми под управлением DOS программами (например, в каком каталоге содержатся необходимые файлы, как "вести себя" в том или ином случае).
Для обмена информацией между ОЗУ и периферийным устроивом выполняемая программа может использовать средства файловой системы DOS или непосредственно обращаться к порту ввода-вывода. При возникновении какой-либо ошибки на ПУ система пытается повторить операцию обмена 3-5 раз. Если ошибку устранить не удалось на экране выдается соответствующее сообщение и предлагается пользователю принять решение, что делать в этом случае.
Пример такого сообщения имеет вид:
Not ready error reading drive a: Abort, Retry, Fail ?
(Ошибка чтения из-за неготовности привода А: Прервать, повторить, пропустить ?)
Ответ А - аномально завершает выполнение программы,
R - повторяет операцию ввода-вывода,
F - завершает выполнение операции и возвращает программе соответствующий код ошибки, программа ири этой продолжает выполняться.
Преждевременно завершать выполнение программы часто можно нажатием клавиш Ctrl-Break также Ctrl - С.
После выполнения, программы она может оставить себя резидентной в ОЗУ, при этом управление может быть возвращено DOS, но память занятая программой, не освобождается. При определенных условиях такая программа может активизироваться.
После скончания выполнения программы любым из рассмотренных способов на экране появляется подсказка DOS, и ожидается ввод новоой команды.
Тема 4.2 Команды MS-DOS
В состав DOS входит большое количество команд, причем в зависимости от версии операционной системы число их может быть различно.