Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структура и принципы работы MS-DOS.doc
Скачиваний:
65
Добавлен:
02.05.2014
Размер:
379.9 Кб
Скачать

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

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

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

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

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

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

1.2. Процесс загрузки операционной системы

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

Загрузка начинается с того, что BIOS делает попытку прочитать самый первый сектор дискеты, вставленной в дисковод А: (на системной дискете этот сектор содержит загрузчик операционной системы). Если в дисковод вставлена системная дискета, с ее самого первого сектора считывается загрузчик. Затем ему передается управление. Если дискета не системная, т. е. не содержит загрузочной записи, на экран выводится сообщение с просьбой заменить дискету.

Если же дискеты в дисководе А: вообще нет, то BIOS читает основную загрузочную запись (Master Boot Record), расположенную в начале диска С:. Обычно это самый первый сектор на диске. Управление передается загрузчику, который находится в этом секторе. Загрузчик анализирует содержимое таблицы разделов (она также находится в первом секторе), выбирает активный раздел и читает загрузочную запись этого раздела. Загрузочная запись активного раздела (Boot Record) аналогична загрузочной записи, расположенной в первом секторе системной дискеты.

Загрузочная запись активного раздела считывает с диска файлы io.sys и msdos.sys (именно в этом порядке). Затем считываются и загружаются драйверы, встроенные в MS-DOS. Анализируется содержимое файла config.sys, загружаются перечисленные в этом файле драйверы. Сначала загружаются драйверы, описанные операторами device, затем - резидентные программы, указанные оператором install. После этого считывается командный процессор command.com и ему передается управление.

Командный процессор состоит из трех частей - резидентной, инициализирующей и транзитной. Первой загружается резидентная часть. Она обрабатывает прерывания INT 22h, INT 23h, INT 24h, управляет загрузкой транзитной части. Эта часть командного процессора обрабатывает ошибки и выдает запрос пользователю о действиях при обнаружении ошибок.

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

Транзитная часть командного процессора располагается в старших адресах памяти. В этой части находятся обработчики внутренних команд MS-DOS и интерпретатор пакетных файлов (с расширением имени .bat). Транзитная часть выдает системное приглашение (например, А:\>), ожидает ввода команды оператора с клавиатуры или из пакетного файла и организует их выполнение.

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