Структура DOS

Базовая система ввода-вывода (BIOS)

Модуль BIOS индивидуален для каждой вычислительной системы и поставляется её изготовителем. В этом модуле содержатся аппаратно-зависимые драйверы следующих устройств: • Консольный.дисплей с клавиатурой (СОМ). • Устройство построчной печати (РRN). • Последовательный канал связи (АUХ). • Часы/календарь (СLOCK). • Дисковое устройство начальной загрузки (блочно-ориентированное устройство). BIOS находится в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) и в архитектуре компьютера занимает особое место. Эту систему можно рассматривать, с одной стороны, как составную часть аппаратных средств; с другой стороны, BIOS является, по существу, одним из программных модулей DOS. Входящие в этот модуль программы обеспечивают выполнение важных функций по поддержке жизнеспособности компьютера. Одна из первых функций BIOS - автоматическое тестирование основных аппаратных компонентов при включении машины, включая оперативную память (RAM - Random Access Memory). Если в процессе тестирования памяти или других аппаратных компонентов обнаруживаются ошибки, BIOS выдает на экран соответствующие сообщения. Дальнейшая работа машины на этом прекращается и пользователю нужно принимать меры к устранению выявленной ошибки. Вторая важная функция BIOS, вступающая в действие по окончании тестирования, - вызов блока начальной загрузки DOS. Поскольку DOS - сложная система, состоящая из нескольких модулей, загрузка ее в память проходит в две ступени; сначала BIOS загружает с системного диска в оперативную память специальный блок начальной загрузки, а затем уже передает на него управление, а тот, в свою очередь, осуществляет загрузку других модулей DOS. При такой двухступенчатой организации загрузки с BIOS снимается забота о поиске и настройке различных модулей DOS. Единственное условие нормальной работы BIOS - это обнаружение на фиксированном месте системного диска блока начальной загрузки. При этом роль системного диска в ПК может играть гибкий или жесткий магнитный диск. Третья важная функция BIOS - обслуживание системных вызовов или прерываний. Системные вызовы вырабатываются программными или аппаратными средствами с целью выполнения различных операций. Для реализации системных вызовов используется механизм прерываний. Суть этого механизма заключается в том, что текущая работа машины может быть приостановлена на короткое время одним из сигналов, который указывает на возникновение ситуации, требующей немедленной обработки. Прерывания можно разделить на три группы: аппаратные, логические и программные. Источники аппаратных прерываний - падение напряжения питания, нажатие клавиши на клавиатуре, приход очередного импульса от счетчика времени, возникновение специальных сигналов от накопителей на гибких или жестких дисках и др. Логические, или процессорные, прерывания возникают при различных нестандартных ситуациях в работе основного процессора - деление на нуль, переполнение регистров, появление "точки останова" и др. Программные прерывания - самая обширная категория. Вырабатываются они, когда программа хочет получить определенный сервис со стороны другой программы, причем этот сервис обычно связан с работой аппаратных средств. Каждое прерывание имеет свой уникальный номер и с ним может быть связана определенная подпрограмма, призванная обслуживать возникшую ситуацию. Сама обслуживающая подпрограмма , вообще говоря, тоже может быть приостановлена другим прерыванием, но чаще всего на период работы подпрограммы, обслуживающей некоторое прерывание, другие прерываания "маскируются", т.е. не обслуживаются немедленно, а ставятся в очередь. Итак, в аппаратных компонентах машины, в самой DOS и в прикладных программах могут вырабатываться прерывания, которые нужно обслуживать. На BIOS возлагается задача обслуживания прерываний нижнего уровня - тех, которые требуют непосредственного управления аппаратными компонентами. Этим прерываниям присвоены номера с 0 по 31 (шестнадцатиричные номера 0 - 1F). Другие прерывания - с номерами 32-63 (шестнадцатиричные номера 20 - 3F) - относятся к более высокому уровню, и их обслуживание возлагается на другие модули DOS. Таким образом, BIOS является своеобразной программной оболочкой вокруг аппаратных средств ПК, предоставляя возможность другим программам, в частности самой DOS, обращаться к аппаратным компонентам через механизм прерываний.

Блок начальной загрузки (Boot Record)
Блок начальной загрузки (БНЗ), или просто загрузчик, - это небольшая программа, единственная функция которой заключается в считывании с дисков в оперативную память двух других частей DOS - модуля расширения базовой системы ввода/вывода и модуля обработки прерываний. Сам загрузчик размещается на системном диске всегда на одном и том же месте - на 0-й стороне, в 1-м секторе дорожки 00. Длина БНЗ - 512 байт, т. е. он занимает всего один сектор на диске, и уже поэтому содержащаяся в нем программа не может быть чрезмерно сложной. Работа БНЗ состоит в следующем. Он должен просмотреть каталог системного диска и убедиться, что первые два файла как раз и являются модулями DOS. В DOS эти файлы имеют специальные имена: IO.SYS и MSDOS.SYS. Для упрощения БНЗ они размещаются на системном диске всегда первыми - один эа другим в последовательных секторах. При этом оба файла снабжаются специальным атрибутом, который делает их "невидимыми": при выводе каталога диска на экран дисплея или на принтер имена указанных системных файлов не выводятся, хотя они и присутствуют в каталоге. Обеспечивается такое размещение при форматировании системных дисков и переносе на них операционной системы с других носителей. Если БНЗ не обнаруживает указанных файлов на первых двух позициях каталога диска, то данный диск считается "несистемным", о чем на экран выдается соответствующее сообщение. Пользователь в этом случае может вставить в дисковол "правильный" системный диск и, нажав любую клавишу, подтолкнуть БНЗ к повторению поиска DOS на вновь установленном диске. Здесь следует заметить, что машину можно "перезапустить" двумя способами. Один из них, очевидный, заключается в выключении и повторном включении питания всей машина ("холодный перезапуск"). Однако этот "грубый" способ не очень-то полезен для электронных компонентов системного блока, чувствительных к броскам напряжения питания. Другой способ перезапуска ("теплый") - с помощью специальной комбинации клавиш (Ctrl+Alt+Del). В этом случае загрузка системы начинается с BIOS; при этом тестирование памяти и других аппаратных компонентов не производится, а сразу начинается поиск и загрузка в память БНЗ. Возвращаясь к описанию БНЗ, заметим, что он всегда заносится на диск при его начальной разметке (форматировании) независимо от того, записываются ли на диск также и "системные" файлы с другими модулями DOS. Что касается 2-х других упомянутых системных файлов, то они появляются на диске лишь при особом режиме форматирования. Занести их на уже заполненный диск (с непустым каталогом файлов) нельзя, так как начальные позиции каталога и начальные сектора диска будут заняты другими файлами. Если же диск размечен обычным образом, но еще пуст, т. е. не содержит никаких файлов, то можно поместить на него системные файлы, применив специальную команду DOS (SYS.COM).
Модуль расширения базовой системы ввода-вывода (IO.SYS)
Базовая система ввода/вывода, находящаяся в постоянном запоминающем устройстве (BIOS), является инвариантной по отношению к операционной системе, устанавливаемой на данной машине. В этом смысл BIOS является общей и неизменяемой частью всех возможных операционных систем для данной модели ПЭВМ. Изменение BIOS - нетривиальная задача, поскольку она очень тесно связана с особенностями аппаратуры конкретной модели ПЭВМ. Расширение BIOS с помощью дополнительного модуля DOS IO.SYS придает гибкость операционной системе, позволяя управлять с ее помощью таким набором аппаратных средств ПЭВМ, который наиболее точно соответствовал бы замыслу разработчиков операционной системы. Этот модуль относительно легко может модифицироваться разработчиками с учетом нужд конкретной версии DOS. Использование механизма прерываний позволяет, с одной стороны, очень просто и изящно "перекрывать" в модуле расширения базовой системы функции, обслуживаемые BIOS. С другой стороны, появляется возможность включения в BIOS дополнительных подпрограмм, обслуживающих новые внешние устройства (драйверов). Драйверы разрабатываются не только для новых внешних устройств, но и для тех, которые стандартно входят в состав аппаратуры, - в тех случаях, когда обмен информацией с ними должен происходить иначе, чем принято в стандартной версии DOS. Это придает системе большую гибкость и возможность адаптации ее под любые требования пользователей. О необходимости подключения новых драйверов внешних устройств, а также об изменении других параметров DOS уведомляется через файл конфигурации CONFIG.SYS. Этот текстовый файл обрабатывается модулем расширения IO.SYS, который осуществляет необходимую подстройку прерываний и других параметров DOS в соответствии с заданными в CONFIG.SYS командами конфигурирования. Команды конфигурирования могут указывать: 1. Дополнительные драйверы, которые необходимо подключить к ДОС. Простой пример: DEVICE=MOUSE.SYS. Команд такого типа в CONFIG.SYS может быть несколько. 2. Режим, при котором пользователь будет иметь возможность прервать любую работающую программу, дав команду BREAK (нажав на клавиатуре комбинацию клавиш CtrH- Break). В файле CONFIG.SYS установка указанного режима отображается выражением: BREAK=ON. 3. Количество файлов, которые могут быть открыты одновременно. Пример команды конфигурирования, устанавливающей число одновременно открытых файлов: FILES=20. 4. Количество буферов для обмена информацией с дисковыми накопителями. Пример соответствующей команды: BUFFERS=8. 5. Имя файла, который будет играть роль нестандартного командного процессора (вместо стандартного файла COMMAND.COM). Пример команды, задающей новый командный процессор с именем START. СОМ: SHELL=START.COM. Таким образом, с помощью команд конфигурирования, заданных в файле CONFIG.SYS, пользователь может задать собственные, нестандартные возможности, которые вводятся в DOS на время текущего сеанса (до очередного перезапуска машины). Кроме рассмотренных выше функций, па модуль IO.SYS возлагается еще одна задача - завершение загрузки DOS в оперативную память. С этой целью модуль расширения сначала передает управление на загруженный к этому моменту в оперативную память модуль обработки прерываний DOS, в котором устанавливаются внутренние рабочие таблицы, инициируются векторы прерываний с номерами 32-39 и производится подготовка к загрузке командного процессора, находящегося пока на системном диске. После этого управление возвращается в модуль IO.SYS, который производит загрузку командного процессора с диска в оперативную память и передает ему управление. На этом работа модуля IO.SYS при запуске DOS завершается.
Модуль обработки прерываний (MSDOS.SYS)
В отличие от описанного выше модуля расширения IO.SYS, имеющего дело, как и BIOS, с прерываниями нижнего уровня модуль обработки прерываний MSDOS.SYS образует верхний уровень системы, с которыми взаимодействует большинство прикладных программ (почему этот модуль DOS и называют основным или ядром системы). Компонентами данного модуля являются подпрограммы, обеспечивающие работу файловой системы, устройств ввода/вывода (клавиатуры, монитора, принтера, коммуникаций), обслуживание некоторых специальных ситуаций, связанных с завершением программ, их искусственным прерыванием и обработкой ошибок. Некоторые из этих подпрограмм довольно велики по объему. Деление сервисных функций DOS на два уровня обусловлено соображениями модульности и будущего развития системы. Функции, реализуемые модулем MSDOS.SYS, в первую очередь используются командами DOS (обрабатываемыми командным процессором: DIR, COPY и др.), но с тем же успехом они могут вызываться прикладными программами. При обращении к функциям DOS из прикладных программ производится стандартный вызов прерывания 33; при этом в один из регистров микропроцессора должен быть занесен шёстнадцатеричный номер вызываемой функции. В другие регистры вызывающая программа должна поместить аргументы выполняемой операции, если они нужны, а по окончании обработки из регистров могут быть получены результаты выполненной операции. Точно так же производятся обращения к прерываниям BIOS. Все функции сгруппированы в соответствии с характером предоставляемого ими сервиса. Так, функции с шестнадцатиричными кодами О -С обеспечивают посимвольный обмен со стандартными внешними устройствами. Функции D-24 и 27-29 составляют обширную номенклатуру для работы с файловой системой, причем все они опираются на использование так называемого "блока управления файлами" (FСB-File Control Block) - специальной таблицы с параметрами, сопровождающими каждый файл. В этих операциях используется также выделенная область памяти для передачи данных между прикладной программой и функциями DOS (DTA - Data/Disk Transfer Area). Начиная с версии 2.0, в ДОС введены новые функции для работы с файловой системой (частично повторяющие старые). Коды этих функций: ЗС -46. Они более удобны для работы (в них не используется FCB и можно не задавать адрес DTA) и при этом не противоречат старым, так что возможно их совместное использование. Некоторые из новых функций (40, 44) обеспечивают работу с дисковыми файлами и с внешними устройствами, трактуемыми как файлы. Это дает дополнительное удобство с точки зрения разработки прикладных программ. Обе указанные группы дополняются функциями работы с каталогами иерархической файловой системы. Эти функции имеют шестнадцатиричные номера 11-12, 39-3В, 45-47, 4E-4F, 56-57. Для разработки больших прикладных систем, состоящих из наборов взаимодействующих программ, большую ценность представляют функции 31 и 48-4D, позволяющие выделять и освобождать области памяти, а также загружать в оперативную память и запускать подчиненные программы (подзадачи). При образовании и запуске подзадачи ей передаются все файлы, открытые в ведущей ("родительской") задаче, а также описание операционной среды, в которой с помощью команд конфигурации могут быть определены различные параметры. При запуске любой программы ДОС предоставляет в ее распоряжение всю имеющуюся свободную память. Следовательно, при запуске подзадач ведущая программа должна сама регулировать объем занятой памяти, выделяя ее в нужные моменты запускаемым -подзадачам. Для этого используются вышеупомянутые функции 48-4А. Следует также обратить внимание на три особых прерывания под десятичными номерами 34-36. В отличие от всех других прерываний, обслуживаемых DOS, эти три прерывания могут обслуживаться самой прикладной программой. В векторы этих прерываний прикладная нрограмма может занести адреса своих резидентных подпрограмм, которые должны адекватным образом (т.е. в соответствии с замыслом разработчика) обрабатывать три особые ситуации. 1. Завершение задачи. 2. Прерывание задачи в результате нажатия пользователем клавиш Ctrl + Break. 3. Возникновение "фатальной" (неисправимой) ошибкн. Разработчику прикладной системы предоставяется возможность самому решать, что нужно делать, в каждом из этих случаев, если он не хочет воспользоваться стандартным сервисом DOS. Довольно часто при разработке прикладных систем возникает вопрос, каким уровнем сервиса воспользоваться для решения той или иной частной задачи (например, чтения каталогов, прямого доступа к файлам или обмена символами с терминалом). Возможностей для этого, по меньшей мере, три: 1. При разработке прикладной системы на языке высокого уровня, например, Паскаль или Си, можно воспользоваться стандартными или библиотечными процедурами/функциями для достижения нужного эффекта. Это самый надежный и простой путь, к тому же гарантирующий переносимость программ на другую аппаратную конфигурацию. Встроенные и библиотечные подпрограммы языка высокого уровня не обеспечивают, однако, различных нюансов доступа к аппаратным средстеам и файловой системе. Поэтому при всем удобстве их использования часто возникает необходимость в дополнительных возможностях. 2. Использование подпрограмм DOS, доступных через прерывания 32-63, дает в руки разработчика широкий диапазон средств для работы с аппаратурой ПЭВМ и файловой системой. (Кстати говоря, встроенные и библиотечные функции языков высокого уровня в конечном счете тоже транслируются в прерывания ДОС, хотя этого не видно, в исходном тексте программы, с которым имеет дело разработчик). Большинство современных трансляторов с языков высокого уровня для ПЭВМ обеспечивает возможность прямого обращения к прерываниям ДОС с помощью специальных процедур. Параметры таких процедур обычно указывают номер прерывания и значения основных регистров микропроцессора. При необходимости можно делать то же самое и несколько иначе - путем составления небольших программ на языке ассемблера и последующей совместной загрузки этих программ с программами на языке высокого уровня. Так или иначе, у разработчика прикладной системы есть возможность непосредственно обращаться к прерываниям и функциям DOS. По сравнению с обычным использованием встроенных или библиотечных процедур это требует некоторого умения и повышенной аккуратности, но зато дает программисту дополнительные возможности. Особую ценность в этом отношении представляют упоминавшиеся выше функции для посимвольного обмена с клавиатурой и дисплеем, для распределения памяти, организации подзадач и др. 3. Точно так же, как осуществляются обращения к прерываниям DOS верхнего уровня, можно обращаться и к прерываниям нижнего уровня, обслуживаемым BIOS. С точки зрения программиста, способы обращения к тем и другим прерываниям совершенно идентичны. Однако прерывания BIOSс кодами 0-31 дают большую близость к аппаратуре, избавляют от сервиса, который иногда может оказаться избыточным (например, повторного чтения с диска при неудачном первом чтении и др.). При выполнении операций через BIOS в целом достигается большая эффективность и быстродействие, однако прикладная программа начинает сильно зависеть от конкретной модели ПЭВМ, что может сделать ее несовместимой с другими типами ПЭВМ, даже использующими ту же операционную систему. Таким образом, выбор наиболее подходящего уровня и способа общения с аппаратными средствами определяется целями, критериями и сложностью разрабатываемой системы. Первый из вышерассмотренных способов связывает прикладную систему с конкретным языком программирования, второй - с операционной системой, третий - с конкретной архитектурой ПЭВМ.
Командный процессор (COMMAND.COM)
Третий модуль DOS, располагающийся на системном диске, - это командный процессор. В отличие от рассмотренных выше первых двух модулей (IO.SYS и MSDOS.SYS), файл с командным процессором (COMMAND.COM) может занимать на системном диске любое место и трактуется как обычная программа. Основные функции командного процессора заключаются в следующем: 1. Приём и разбор команд, полученных с клавиатуры или из командного файла. 2. Исполнение встроенных команд DOS, находящихся внутри файла COMMAND.СОМ. 3. Загрузка и исполнение внешних программ DOS и прикладных программ (находящихся в файлах типа СОМ и ЕХЕ). Запуск прикладной программы осуществляется так же, как и обращение к внешней команде DOS (утилите), поскольку те и другие реализованы одинаково; командный процессор, в сущности, не отличает их друг от друга. В функции командного процессора входит также исполнение файла автозапуска (AUTOEXEC.BAT). Когда в качестве команды DOS командный процессор встречает имя файла, не совпадающее с именами встроенных команд, производится анализ типа этого файла, указанного в каталоге. Файлы типов СОМ и ЕХЕ считаются загрузочными и обрабатываются соответствующим образом, а файл типа ВАТ трактуется как командный. Исполняемые файлы типа СОМ не требуют настройки адресов после их загрузки в оперативную память, а программы типа ЕХЕ при загрузке с диска в оперативную память нужно настроить по месту размещения, т. е. задать соответствующие адреса сегментов. Когда в качестве команды DOS дается имя командного файла, командный процессор начинает последовательно читать и интерпретировать содержащиеся в нем строки, каждая из которых может содержать одну команду, метку или комментарий. Если в очередной строке стоит команда, осуществляющая вызов некоторой программы, то интерпретация командного файла приостанавливается 'и начинается работа вызванной программы. После ее завершения управление возвращается командному процессору. Язык команд DOS служит основным средством общения пользователя с дисковой операционной системой. После вызова какой-либо прикладной программы ("задачи") пользователь взаимодействует с ней, а не с DOS, вплоть до завершения задачи, после чего вновь вступает в действие командный процессор. Общий вид .команды ДОС: nnn а1 а2 ... ak /fl .. . /fn. Здесь nnn - имя команды (программы). Это обязательный элемент. Аргументы a1 ... ak требуются не во всякой команде, и кроме того, в некоторых командах часть из них может опускаться. То же самое относится к параметрам (флажкам) fl ... tn. Аргументы обычно указывают на те объекты, с которыми имеет дело данная команда: имена накопителей, каталогов, файлов, внешних устройств. Флажки служат для задания различных модификаций и режимов в исполнении команды. Если в конкретной команде ДОС предусмотрено задание неполного списка аргументов и/или флажков, то командный процессор подставляет вместо недостающих параметров определенные значения. Эта операция называется подстановкой по умолчанию. При загрузке в оперативную память командный процессор распадается на две области: резидентную, которая располагается вслед за двумя рассмотренными выше модулями DOS, и нерезидентную, которая располагается на старших адресах ОЗУ. Резидентная часть содержит подпрограммы стандартной обработки прерываний с десятичными номерами 34 - 36, которые разработчик прикладной системы может переопределить по-своему. Здесь же находится программа подзагрузки нерезидентной части командного процессора в оперативную память. Кроме того, в состав резидентной части входит подпрограмма инициализации, которая обрабатывает файл AUTOEXEC.BAT при запуске машины. Нерезидентвая часть включает программу обработки команд DOS, поступающих с терминала или из командных файлов. В нерезидентную часть входит загрузчик внешних программ, задачей которого является чтение очередной программы с диска в оперативную память, настройка адресов и переход на ее исполнение. Поскольку нерезидентная часть командного процессора располагается на старших адресах ОЗУ, любая прикладная программа, загружаемая на младшие адреса, может частично или полностью занять и "затереть" эту область памяти. По окончании такой программы управление всегда возвращается в резидентную часть командного процессора, который в этом случае пытается восстановить затертую иерезидентную часть, загружая ее с системного диска. Именно поэтому на машинах без жесткого диска после окончания работы некоторых прикладных программ на экран выдается сообщение "Установите системный диск в драйвер А: ... ". Это значит, что прикладная программа затерла нерезидентную часть командного процессора, а резидентная часть, установив этот факт, делает попытку восстановить ее с гибкого диска. На машинах, в которых роль системного играет жесткий диск, такая ситуация разрешается незаметно для пользователя, поскольку командный процессор всегда есть на жестком диске - от пользователя не требуется никаких действий для его загрузки. Подпрограмма инициализации располагается в конце резидентной части командного процессора. Поскольку она срабатывает лишь один раз при запуске машины, занимаемая ею память может быть использована прикладными программами; поэтому первая же прикладная программа размещается в ОЗУ на месте этой подпрограммы, что позволяет экономно использовать оперативную память. Таким образом, после загрузки и инициализации командного процессора оперативная память разделяется на три области: - область DOS - от младших адресов, объемом около 60 К; - область прикладных программ максимальным объемом около 580 К; - системная область - на старших адресах ОЗУ объемом 384 К.
Утилиты DOS
Утилитами обычно называют "внешние" команды (программы), входящие в стандартный комплект DOS в виде отдельных загрузочных файлов и выполняющие сервисные функции. В DOS входят более десятка утилит, предназначенных для разных целей. При практической работе наиболее часто используются лишь некоторые из них: FORMAT.COM, CHKDSK.EXE, MODE.COM. Реже используются другие программы: FDISK.EXE, DISKCOPY.COM, RESTORE.EXE, PRINT.EXE, GRAPHICS.GOM, TREE.COM и пр. К утилитам DOS относят иногда текстовый редактор EDIT.COM и интерпретатор языка бейсик - QBASIC.EXE, однако правильнее относить их к категории системных или прикладных программ. С другой стороны, любые новые прикладные программы, ориентированные на реализацию тех или иных сервисных функций, можно также считать утилитами DOS. Достоинством DOS и других операционных систем этого типа является то, что любая программа может играть роль сервисной наравне со стандартными утилитами, поскольку ее запуск не отличается от вызова утилит DOS. Указанное свойство делает DOS открытой для расширения. Неизменное ядро системы составляет лишь BIOS и 3 основных модуля: IO.SYS, MSDOS.SYS и командный процессор. Общий объем оперативной памяти, занимаемой этими модулями, составляет от 40 до 60 К, в зависимости от конкретной версии системы. Один из перспективных современных подходов в разработке программного обеспечения ПЭВМ состоит в создании особой надстройки над стандартной операционной системой. Функция такой надстройки заключается в изоляции стандартной DOS от пользователя и предоставлении ему вместо командного языка особой операционной среды, включающей удобные средства общения с конкретными прикладными системами.

Процесс загрузки DOS
Работоспособный компьютер с операционной системой, установленной на жестком диске, после включения автоматически выполняет процедуру загрузки DOS. Как известно, при включении компьютера в нем создаются условия, заставляющие процессор начать выполнение программы, записанной в постоянном запоминающем устройстве - ПЗУ. Эта программа выполняет тестирование памяти и элементов процессора (процедура POST), после чего пытается прочитать с дискеты, установленной на дисководе А: самый первый сектор, где расположена так называемая загрузочная запись (Boot record), т. е. в сущности программа начальной загрузки. Если при включении компьютера на дисководе А: не установлена дискета (а это нормальная процедура включения машины, укомплектованной жестким диском), программа ПЗУ, не обнаружив дискеты, обращается к жесткому диску и считывает его первый сектор, в котором располагаются главная загрузочная запись (Master boot record) и таблица разделов жесткого диска. Программа главной загрузочной записи просматривает таблицу разделов, находит активный раздел (которым чаще всего является логический диск С:) и считывает самый первый сектор этого раздела, где располагается его загрузочная запись (Boot record). Программа загрузочной записи диска С: отыскивает на диске системные файлы IO.SYS и MSDOS.SYS и загружает их в оперативную память.

 

Процесс загрузки и инициализации DOS После загрузки в память системных файлов начинается конфигурирование системы. Из корневого каталога загружаемого диска считывается файл CONFIG.SYS и выполняются его директивы: загружаются в память и устанавливаются драйверы, указанные в директивах DEVICE; выделяются буферы DOS, описанные в директиве BUFFERS; расширяется системная таблица файлов в соответствии с директивой FILES и т. д. Таким образом, в процессе конфигурирования определяется объем оперативной памяти, занимаемый резидентной частью DOS и, соответственно, оставшийся объем свободной памяти для загрузки прикладных программ. После окончания обработки файла CONFIG.SYS с диска считывается и загружается в память командный процессор COMMAND.СОМ. Этот файл COMMAND.COM отыскивается в корневом каталоге того диска, с которого выполнялась загрузка системы (т. е, А: или С:). Если, однако, в файл CONFIG.SYS включена директива SHELL с описанием пути к командному процессору, он будет считан из указанного в этой директиве каталога. Таким образом, возникает возможность "подставить" системе тот вариант файла COMMAND.COM, который нас больше устраивает. Необходимость в этом может возникнуть, например, из-за повреждения основного файла COMMAND.COM. Командный процессор, получив управление, прежде всего считывает из корневого каталога загружаемого диска файл AUTOEXEC.BAT (если он существует) и выполняет включенные в него команды. Выполнив последнюю команду этого файла, командный процессор выводит на экран системный запрос и входит в цикл ожидания команд оператора. При необходимости загрузиться повторно (например, при "зависании" системы, когда она перестает функционировать и не отзывается на нажатия клавиш клавиатуры) можно выключить машину и тут же включить ее снова. Однако каждое включение компьютера, как и любого электронного или электрического прибора, отрицательно сказывается на его долговечности. Поэтому при зависании системы желательно не выключать машину, а воспользоваться возможностью "мягкой" перезагрузки, которая реализуется одновременным нажатием трех клавиш: , и . Эта команда заставляет ПЗУ BIOS выполнить всю описанную выше процедуру начальной загрузки за исключением тестирования. Жесткую перезагрузку можно выполнить, нажав клавишу . В процессе работы на компьютере довольно часто возникает необходимость изменить конфигурацию DOS (например, загрузить новый драйвер или выгрузить установленный ранее), а также подкорректировать команды файла AUTOEXEC.BAT. Неудачное изменение состава файлов AUTOEXEC.BAT и, особенно, CONFIG. SYS часто приводит к неэффективной или неправильной работе системы. Для облегчения отладки процесса загрузки в состав MS DOS 6.2 включена возможность пошагового выполнения директив файла CONFIG.SYS и команд файла AUTOEXEC.BAT. Через короткое время после включения компьютера начинается чтение системных файлов и на экран выводится сообщение Starting MS-DOS... (Стартует MS-DOS...) Нажатие в этот момент определенных клавиш позволяет задать режим последующего выполнения файлов CONFIG.SYS и AUTOEXEC.BAT. Нажатие клавиши отменяет последующее чтение и анализ файлов CONFIG.SYS и AUTOEXEC.BAT, что в определенных случаях позволяет загрузить компьютер при наличии грубых ошибок в файле CONFIG.SYS.

Другие записи

10.06.2016. Управление оперативной памятью
Оперативная (или рабочая) память компьютера - ОЗУ (Оперативное Запоминающее Устройство) - собрана на полупроводниковых кристаллах (чипах - chip) и хранит информацию, только пока компьютер включен. При…
10.06.2016. Файловая система DOS
Основные понятия и обозначения · Файлы  Каталоги файлов Маршрут - префикс имени файла Файлы Файл - это именованная область памяти на каком-либо физическом носителе (обычно на диске),…
10.06.2016. Процедура установки DOS
Создание системной дискеты Хотя в настоящее время уже трудно найти компьютер, не укомплектованный жестким диском, и дискеты используются почти исключительно для хранения данных, а не для загрузки машины,…
10.06.2016. Конфигурирование DOS
Файл конфигурации CONFIG.SYS Удобная рабочая обстановка для пользователя ПЭВМ может быть создана в результате продуманного конфигурирования и начальной настройки системы. DOS дает возможность при запуске…