Системное программное обеспечение персональных ЭВМ


4.2. Загрузка системы - часть 2


BIOS DOS перехватывает обработку этих векторов у BIOS ПЗУ). После отработки модулей инициализации IO.SYS занимаемая ими память освобождается, и управление получает программа инициализации ядра DOS. Эта программа устанавливает векторы прерываний DOS и выполняет инициализацию резидентных драйверов. В ходе этой инициализации определяется максимальный размер сектора, используемого драйверами, и в соответствии с этим размером в памяти организуется буфер секторов. Затем выполняется обработка файла CONFIG.SYS. В соответствии с параметрами, заданными в CONFIG.SYS (или по умолчанию - если CONFIG.SYS отсутствует), формируются системные таблицы и загружаются устанавливаемые драйверы устройств. Наконец, открываются системные файлы (CON, PRN, AUX), загружается в память командный процессор COMMAND.COM, и управление передается его секции инициализации.

Имя командного процессора задается оператором SHELL в CONFIG.SYS, по умолчанию это COMMAND.COM. COMMAND.COM состоит из трех частей:

  • резидентная часть, содержащая обработчики прерываний 0 x22 (адрес завершения), 0x23 (реакция на Ctrl-Break), 0x24 (критическая ошибка);
  • часть инициализации располагается в памяти вслед за резидентной частью COMMAND.COM, она обеспечивает выполнение файла AUTOEXEC.BAT и уничтожается (освобождает память) после выполнения своих функций;
  • нерезидентная часть, содержащая интерпретатор внутренних команд DOS и загрузчик внешних команд. Эта часть располагается в старших адресах памяти и может частично или полностью перекрываться загружаемыми программами. При обращении к нерезидентной части командного процессора ее сохранность в ОЗУ проверяется по контрольной сумме и при необходимости она повторно загружается в память.

Таким образом, после окончания процесса загрузки область памяти, названная на Рисунок 4.1 "DOS и транзитные программы" распределяется так, как показано на Рисунок 4.2.




- Начало -  - Назад -  - Вперед -