9.2. Характеристика MS DOS.

Организация доступа к файлу

Структура каталога

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

Доступ - процедура установления связи с памятью и размещенным в ней файлом для записи и чтения данных.

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

Каталог - справочник файлов с указанием месторасположения на диске.

Различают два состояния каталога - текущее (активное) и пассивное, MS DOS помнит текущий каталог на каждом логическом диске.

Текущий (активный) каталог - каталог, в котором работа пользователя производится в текущее машинное время.

Пассивный каталог - каталог, с которым в данный момент времени не имеется связи.

В операционной системе MS DOS принята иерархическая структура (рис. 9.1) организации каталогов. На каждом диске всегда имеется единственный главный (корневой) каталог. Он находится на 0-м уровне иерархической структуры и обозначается символом "\". Корневой каталог создается при форматировании (инициализации, разметке) диска, имеет ограниченный размер и не может быть удален средствами DOS. В главный каталог могут входить другие каталоги и файлы, которые создаются командами операционной системы и могут быть удалены соответствующими командами.


Рис. 9.1. Иерархическая структура организации каталога

Родительский каталог - каталог, имеющий подкаталоги.

Подкаталог - каталог, который входит в другой каталог.

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

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

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

Правила наименования подкаталогов такие же, как и правила наименования файлов (см. 9.1). Для формального отличия от файлов обычно подкаталогам присваивают только имена, хотя можно добавить и тип по тем же правилам, что и для файлов.

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

На рис. 9.2 приведена простейшая структура каталога, где в главном каталоге 0-го уровня хранятся только записи о файлах, каталогов нижнего уровня не существует.

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


Рис. 9.2. Простейшая структура каталога, в котором отсутствуют каталоги нижнего уровня


Рис. 9.3. Типовая структура каталога, состоящего из каталогов нижнего уровня: при обозначении каталога нижнего уровня используются три цифры: первая цифра обозначает номер уровня, вторая - порядковый номер этого каталога на данном уровне, третья указывает, на каком уровне зарегистрировано его имя. Каждый каталог имеет имя КАТ с индексами. Например. КАТ342 - имя каталога третьего уровня, который зарегистрирован в каталоге второго уровня под номером 4.

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

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

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

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

Правила формирования файловой структуры диска.

При формировании файловой структуры диска операционная система MS DOS соблюдает ряд правил:

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

Путь и приглашение

Из рис. 9.1 - 9.3 видно, что доступ к файлу осуществляется через каталог благодаря зарегистрированному в нем имени данного файла. Если каталог имеет иерархическую структуру, то доступ к файлу операционная система организует в зависимости от положения подкаталога, в котором зарегистрировано имя искомого файла.

Доступ к файлу можно организовать следующим образом:

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

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

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

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

Пример 9.8.
А:\
Текущим дисководом является дисковод с гибким диском А, каталогом -главный, на что указывает символ \
С:\КАТ1\КАТ2
Текущим диском является жесткий диск С. Текущим каталогом - каталог второго уровня КАТ2, входит в каталог первого уровня КАТ1, который, в свою очередь, зарегистрирован в главном каталоге.

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

  • файл находится в текущем каталоге (путь отсутствует). При организации доступа к файлу достаточно указать его полное имя;
  • файл находится в пассивном каталоге одного из нижних уровней, подчиненного текущему каталогу. При организации доступа к файлу необходимо указать путь, в котором перечислены все имена каталогов нижнего уровня, лежащих на этом пути (включая каталог, в котором зарегистрирован данный файл);
  • файл находится в пассивном каталоге на другой ветке по отношению к местонахождению текущего каталога иерархической структуры. При организации доступа к файлу необходимо указать путь, начиная с главного каталога, т.е. с символа \. Это объясняется тем, что в иерархической структуре движение возможно только по вертикали сверху-вниз. Горизонтальные переходы из каталога в каталог недопустимы. В нижеприведенных примерах иллюстрируются возможные варианты пути.

Пример 9.9.
Условие: файл FI.TXT зарегистрирован в текущем каталоге 1-го уровня К1 жесткого диска С. Поэтому на экране индицируется приглашение С:\К1
Пояснение: в этом случае путь отсутствует, и для доступа к файлу достаточно указать только его полное имя F1.TXT

Пример 9.10.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня К2 жесткого диска С. Текущий каталог - К1. Поэтому на экране индицируется приглашение С:\К1
Пояснение: в этом случае путь будет начинаться от каталога К1 вниз через подчиненный ему каталог К2, Поэтому перед полным именем файла указывается путь от текущего каталога К2 \ F1.TXT

Пример 9.11.
Условие: файл F1.TXT зарегистрирован в каталоге 2-го уровня N2. Текущий каталог - K1. Поэтому на экране индицируется приглашение С:\К1
Пояснение: в этом случае путь пройдет через главный каталог в новую ветвь иерархической структуры через каталоги N1 и N2. Перед полным именем файла надо указать весь путь от главного каталога \N1\N2\F1.TXT

Внимание! Отличие примера 9.12 от примера 9.11 в следующем в примере 9.12 перед именем первого каталога ставится символ \ что определяет путь поиска файла от главного каталога вниз но указанной цепочке; в примере 9.11 перед первым именем каталога не ставится символ \, что задает путь поиска файла от текущего каталога вниз.

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


Рис. 9.4. Форматы спецификаций (в ([ ] указан необязательный параметр)

Пример 9.12. Сокращенная форма спецификации файла C:\KIT.BAS Файл с программой на Бейсике KIT.BAS находится в главном каталоге жесткого диска.
Полная форма спецификации файла С:\КАТ1\КАТ2\ВООК1.ТХТ
Текстовый файл BOOK1.TXT зарегистрирован в каталоге второго уровня КАТ2 жесткого диска С.

Структура записей в каталоге

Теперь вам предстоит знакомство со структурой хранящихся в каталоге записей со сведениями о файлах и подкаталогах нижнего уровня.

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

Запись о подкаталоге нижнего уровня в родительском каталоге содержит его имя, признак <DIR>, дату и время создания.

Рассмотрим возможные варианты содержимого каталога.

  • 1-й вариант.В каталоге хранятся только записи о файлах (рис. 9.5). Перед записями о файлах выводится сообщение о названии каталога. В данном случае - это главный каталог гибкого диска А. В конце содержимого каталога выводится сообщение о количестве файлов, хранящихся на диске, и о свободном пространстве диска в байтах. Например, в приводимом выше каталоге выводится сообщение:
    4file(s) 359560 byles free
    Количество файлов на диске Объем свободного пространства диска, байт

    Рис. 9.5. В главном каталоге хранятся только файлы
  • 2-й вариант. В каталоге хранятся только записи о каталогах нижнего уровня (рис. 9.6).

    Рис 9.6. В главном каталоге хранятся только подкаталоги

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

  • 3-й вариант.
    В каталоге хранятся записи как о файлах, так и о каталогах нижнего уровня (рис 9.7). Из этой структуры видно, что в данном каталоге имеются 3 файла и 2 каталога нижнего уровня BASIC и LEXICON.На диске свбодного пространства 2,6575 Мбайт.

    Рис 9.7. В каталоге хранятся записи как о файлах, так и о каталогах нижнего уровня

Рассмотренные выше три варианта представления каталогов отражают содержимое главного каталога. Структура каталогов, начиная с 1-го уровня и ниже, идентична и отличается от главного только тем, что перед записями о файлах и каталогах нижнего уровня помещаются две записи с многоточием (рис. 9.8).

Точки, которые вы видите вначале, означают, что на экран вызвано содержимое подкаталога (каталога 1-го уровня) KNIGA, который содержит два текстовых файла SVET и TON.

Рис. 9.8. Структура записей в подкаталоге

Модульная структура MS DOS

Модули операционной системы MS DOS

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

Модуль - унифицированная самостоятельная функциональная часть системы, имеющая законченное оформление и средства сопряжения с другими функциональными узлами и модулями.

Структуру операционной системы MS DOS образуют модули (рис. 9.9):

  • BIOS (Basic Input/Output System) - базовая система ввода-вывода;
  • модуль расширения - ЕМ BIOS (Extension Module BIOS) в виде файла с именем 10.SVS;
  • базовый модуль (ВМ - Basic Module) дисковой операционной системы (БДОС)" виде файла с именем MSDOS.SYS;
  • командный процессор или интерпретатор команд (С\ - Command Interpreter) в виде файла с именем COMMAND.COM;
  • внешние команды и драйверы, утилиты - файлы с расширением .СОМ, .EXE. .SVS:
  • системный загрузчик (SB - System Bootstrap);


Рис. 9.9. Модульная структура операционной системы MS DOS

  • инструментальные средства DOS: система программирования MS DOS QBASIC; текстовый редактор MS DOS EDITOR, обеспечивающий подготовку текстовых документов и текстов исходных программ; отладчик DEBUG для тестирования и отлаживания исполняемых файлов.
  • BIOS, модуль расширения ЕМ BIOS, загружаемые (внешние) драйверы, системный загрузчик составляют машинозависимую часть операционной системы.
  • Базовый модуль DOS, командный процессор, внешние команды, инструментальные средства составляют машинонезависимую часть операционной системы.
  • Операционная система MS DOS, кроме модуля BIOS, хранится на внешнем носителе, обычно на жестком, реже на гибком диске. После включения компьютера в сеть начинается процесс перезаписи операционной системы MS DOS с диска в оперативную память. Этот процесс получил название загрузка операционной системы. Алгоритм загрузки будет рассмотрен далее.

О системе прерываний

Основным механизмом функционирования MS DOS является система прерываний.

Прерывания - это процедуры, которые компьютер вызывает для выполнения определенной задачи.

Существуют аппаратные, логические и программные прерывания.

Аппаратные прерывания инициируются аппаратурой, например сигналом от принтера, нажатием клавиши на клавиатуре, сигналом от таймера и другими причинами.

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

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

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

Функции и назначение базовой системы ввода-вывода BIOS

Базовая система ввода-вывода BIOS -самый близкий к аппаратуре компонент DOS. BIOS находится в постоянной памяти, которая входит в комплект поставки персонального компьютера. Тип операционной системы может изменяться, a BIOS остается постоянным. Поэтому BIOS, являясь неизменяемой частью персонального компьютера, с одной стороны, может рассматриваться как компонент аппаратной части, а с другой стороны. как компонент любой операционной системы, в том числе и MS DOS. Строго говоря, IOS не входит в состав MS DOS, но, учитывая, что без этого модуля функционирование операционной системы невозможно, будем считать его компонентом ее структуры.

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

Вспомогательные функции BIOS реализуются при включении персонального компьютера на этапе загрузки и состоят в следующем:

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

BIOS содержит: специальные программы (драйверы) по управлению работой стандартными внешними устройствами; тестовые программы для контроля работоспособности аппаратуры; программу начальной загрузки операционной системы.

Драйвер - программа, расширяющая возможности операционной системы.

Драйвер устройства - программа операционной системы для управления работой периферийными устройствами: дисководами, дисплеем, клавиатурой, принтером, манипулятором "мышь" и пр.

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

Функции драйвера устройства состоят в следующем:

  • прием и обработка запроса (управляющего сигнала), который поступает к данному периферийному устройству;
  • преобразование запроса о необходимости связи с этим устройством в серию команд управления им, с учетом всех деталей конструкции и особенностей его работы;
  • обработка сигнала прерывания, который поступает от соответствующего этому драйверу периферийного устройства

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

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

Драйверы могут быть либо стандартными, либо загружаемыми.

Стандартные (внутренние) драйверы -это программы, которые находятся внутри BIOS или его модуля расширения ЕМ BIOS и служат для управления внешними устройствами, входящими в стандартный комплект поставки персонального компьютера. Эти драйверы подключаются к системе автоматически после перехода компьютера в нормальное рабочее состояние.

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

Постоянный модуль BIOS хранится в постоянной памяти и не может быть изменен при обычных условиях эксплуатации. Записывается он в постоянную память только при изготовлении персонального компьютера. Однако необходимость изменения содержимого BIOS вполне вероятна и может быть вызвана следующими причинами: подключением к персональному компьютеру новых внешних устройств и использованием нестандартного командного процессора и др.

Функции и назначение модуля расширения базовой системы ввода-вывода

Модуль расширения базовой системы ввода-вывода ЕМ BIOS придает гибкость операционной системе при обращении к внешним устройствам, а при необходимости и перекрывает (блокирует) функции постоянного модуля BIOS. Он хранится на диске в виде файла IO.SYS после главного каталога в заранее выделенном фиксированном месте. Объем этого файла небольшой, например, для MS DOS версии 6.22 он равен 40 Кбайт.

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

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

Запомните! Подключая новое внешнее устройство, следует позаботиться о наличии соответствующего драйвера. Установка нового драйвера должна быть сделана в файле конфигурации CONFIG.SYS, о котором идет речь в 9.3.

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

Функции модуля расширения на этапе загрузки состоят в следующем:

  • определение состояния оборудования;
  • конфигурирование MS DOS по указаниям в файле CONFIG.SYS;
  • инициализация и переустановка некоторых векторов прерываний нижнего уровня;
  • запуск базового модуля DOS;

Функции и назначение базового модуля дисковой операционной системы

Базовый модуль располагается в виде файла MSDOS.SYS на системном диске в специально выделенном для него месте вслед за файлом модуля расширения IO.SYS. Объем файла MSDOS.SYS для версии 6.22 - 38 Кбайт. Базовый модуль не имеет жесткой привязки к аппаратной части и при необходимости может быть заменен на другой файл.

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

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

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

  • создание файла: присвоение имени, расположение его на диске, определение занятого им объема дискового пространства;
  • наличие сведений о занятых и свободных участках дискового пространства;
  • управление областями оперативной памяти и др.

Функции и назначение командного процессора

Командный процессор, иногда называемый процессором консольных команд, предназначен для поддержки пользовательского интерфейса DOS. Он представляет собой обычный файл COMMAND.COM и располагается на системном диске в любом месте пространства, выделенного под файлы. Так, для MS DOS версии 6.22 объем COMMAND.COM равен 55 Кбайтам.

Командный процессор состоит из двух модулей - резидентного и транзитного.

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

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

Взаимодействие с командным процессором осуществляется при помощи команд. Под командой понимается указание на выполнение некоторого действия. Команды бывают двух типов: резидентные (внутренние) и транзитные (внешние). Резидентные команды входят в состав самого командного процессора. Транзитные команды являются файлами типа ЕХЕ или СОМ, входящими в состав операционной системы DOS и хранящимися в обычном каталоге, как правило, с именем DOS.

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

Основные функции командного процессора в процессе нормальной работы компьютера состоят в следующем:

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

Основная функция командного процессора на этапе загрузки - это выполнение файла автонастройки AUTOEXEC.BAT.

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

  • в случае резидентной команды он сразу приступает к ее выполнению;
  • в случае транзитной команды или любой другой программы он загружает ее в оперативную память, подключая для этого два других модуля операционной системы: базовый модуль БДОС и модуль расширения BIOS, и передает этой программе или команде управление.

После окончания работы введенной команды (программы) управление вновь возвращается командному процессору.

Назначение загрузчика

Загрузчик BOOT RECORD (модуль начальной загрузки) всегда размещается на диске в нулевом секторе и занимает объем 512 байт. Основное назначение этой небольшой программы состоит в поиске и перезаписи (загрузке) с диска в оперативную память двух файлов - IO.SYS и MSDOS.SYS. Поиск этих модулей и их загрузка в оперативную память осуществляются в определенном порядке, поэтому на диске и в оперативной памяти они занимают фиксированное место и следуют один за другим. Если блок начальной загрузки не обнаружит этих модулей на диске, то он выдает соответствующее сообщение и работа компьютера приостанавливается. Кроме того, функцией загрузчика является запуск модуля расширения BIOS.

Как различать утилиты, внешние команды и драйверы

Утилиты, внешние команды н драйверы представляют собой программы, хранящиеся во многих случаях в каталоге системного диска в виде файлов типа .СОМ, .EXE, .SYS. Внешнее различие между ними весьма условное, и связывают его с интерфейсом взаимодействия с пользователем.

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

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

Утилиты - обслуживающие программы, которые предоставляют пользователю сервисные услуги Они, как правило, имеют полноэкранный, организованный в виде меню интерфейс взаимодействия с пользователем. Реже интерфейс организован в виде запросов.

РАЗМЕЩЕНИЕ MS DOS НА ДИСКЕ И В ОПЕРАТИВНОЙ ПАМЯТИ

Размещение операционной системы на диске

Операционная система MS DOS постоянно хранится на жестком диске. Помимо этого должна существовать ее резервная копия на гибком диске, называемом системным.

Системный диск - диск, где хранятся основные модули операционной системы и сервисные программы (команды), расширяющие ее возможности.

На рис. 9.10 показана структура 3,5" системного диска, состоящего из 2847 секторов, где выделены:

  • системная область объемом 77 Кбайт для двух модулей IO.SYS и MSDOS.SYS;
  • область пользователя, где будет находиться файл COMMAND.COM - 55 Кбайт.


Рис. 9.10. Структура системного гибкого диска (3.5") с операционной системой MS DOS

На гибком диске 0-я и 1-я дорожки отведены для размещения модулей операционной системы и организации файловой структуры диска:

  • 0-й сектор занимает загрузчик;
  • 18 секторов (с 1-го по 18-й) отведены для основной и дублирующей таблиц размещения файлов FAT (File Allocations Table), в которых хранятся номера кластеров, выделенных под каждый файл;
  • 14 секторов (с 19-го по 32-й) занимает главный каталог;
  • начиная с 33-го сектора, располагаются два модуля операционной системы IO.SYS и MSDOS.SYS;
  • командный процессор COMMAND.COM наряду с другими программами располагается в области пользователя.

Внимание! Структура диска с прикладными программами (6ез операционной системы) полностью совпадает по 32-й сектор включительно со структурой системного диска (рис. 9.10). Начиная с 33-го сектора, располагается область пользователя, где хранятся прикладные программы.

Роль FAT-таблицы размещения файлов

Файл размещается на диске по кластерам, которые пронумерованы. Эти кластеры могут находиться в разных местах диска, и соответственно файл будет храниться на диске в виде отдельных фрагментов в свободных на момент записи на диск кластерах. В этом случае говорят, что файл фрагментирован. Желательно, чтобы кластеры, выделенные для хранения файла, шли подряд, так как это позволяет сократить время его поиска. Однако это возможно сделать только с помощью специальной программы, и подобная процедура получила название дефрагментации файла. И в том, и в другом случае для организации доступа к файлу операционная система должна иметь сведения о номерах кластеров, где размещается каждый файл. В этом ей помогает FAT-таблица.

FAT-таблица предназначена для размещения и поиска файлов на диске. Она хранится на диске в определенном месте (см. рис. 9.10). Учитывая ее крайне важную роль в организации файловой системы, предусмотрено хранение и ее дубля, т.е. на диске хранятся две одинаковые таблицы - основная и дублирующая. При повреждении основной таблицы можно восстановить информацию о размещении файлов с помощью дублирующей. Рассмотрим основную идею, заложенную в основу построения и использования FAT-таблицы, обратившись к рис. 9.11. Следует заметить, что для ускорения доступа к таблице производится ее предварительная загрузка в оперативную память.

Количество ячеек FAT-таблицы определяется количеством кластеров на диске. Каждая ячейка содержит номер кластера.


Рис. 9.11. Организация доступа к файлу с помощью FAT-таблицы

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

В последней клетке таблицы, завершающей данную цепочку, должен находиться код FFF или FFFF для указания ее конца. Так определяется цепочка кластеров, где хранится файл.

Размещение операционной системы MS DOS в оперативной памяти

Распределение пространства оперативной памяти было показано в гл.4 на рис. 4.7, 4.8, где непосредственно адресуемая память определяется объемом 1024 Кбайт.

Рассмотрим это пространство, обратившись к рис. 9.12 с позиций расположения в нем операционной системы.

Приблизительно 110 Кбайт, начиная с младших адресов, займет основная часть ядра операционной системы. В области старших адресов расположится транзитная часть командного процессора, которая автоматически удаляется при нехватке памяти для прикладной программы. При объёме 640 Кбайт для прикладных программ приблизительно выделяется 530 Кбайт.


Рис. 9.12. Распределение пространства оперативной памяти после загрузки операционной системы.

ЗАГРУЗКА MS DOS В ОПЕРАТИВНУЮ ПАМЯТЬ С ДИСКА

Алгоритм загрузки операционной системы

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

Загрузка операционной системы - перезапись операционной системы с диска (жесткого или гибкого) в оперативную память.

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

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

Начинается считывание в оперативную память 0-го сектора 0-й стороны диска, в котором находится загрузчик (BOOT RECORD). Управление передается загрузчику, который проверяет наличие на системном диске модуля расширения IO.SYS и базового модуля MSDOS.SYS. Если они находятся в отведенном для них месте (см. рис. 9.10), то он загружает их в оперативную память, в противном случае будет выдано сообщение об их отсутствии. В этом случае рекомендуется произвести повторную загрузку. Сигнал повторной загрузки передает управление постоянному модулю BIOS, который снова переписывает с диска в оперативную память блок начальной загрузки и т.д.

Запомните! Для повторной загрузки операционной системы в память нажать одновременно клавиши <Ctrl> <ALT> <Del>.

После успешно выполненной загрузки в оперативную память модуля расширения IO.SYS и базового модуля MSDOS.SYS загружается командный процессор СОМMAND.COM и обрабатывается файл конфигурации CONFIG.SYS, который содержит команды подключения необходимых драйверов. Этот файл может отсутствовать, если вас устраивает базовый вариант операционной системы.

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

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


Рис. 9.13.
Алгоритм загрузки операционной системы с диска в оперативную память

Файл со стандартным именем AUTOEXEC.BAT отличается от других файлов типа .ВАТ тем, что выполнение помещенных в него команд начинается автоматически сразу после загрузки операционной системы.

В случае отсутствия файла AUTOEXEC.BAT вам будет предложено ввести дату время:

  • если вы нажмете клавишу ввода, то в качестве текущих даты и времени будут приняты так называемые системные параметры, которые определяет компьютерный таймер;
  • если вы хотите сделать переустановки системных даты и времени, то в ответ на приглашение введите значения в одной из предусмотренных форм, например:
    10-25-1997 (месяц день год)
    7:30:10.00р (часы:минуты:секунды

После окончания работы файла AUTOEXEC.BAT, а также если этот файл не обнаружен) , на экран дисплея будет выдано приглашение системного диска, например С:\>. Это является свидетельством нормального завершения процесса загрузки, и вы можете приступит к работе, введя имя прикладной программы или команду операционной системы.

Примечание. Файлы CONFIG.SYS и AUTOEXEC.BAT могут отсутствовать. В этом случае параметры операционной среды будут установлены по умолчанию.

Запомните! На жестком диске необходимо обеспечить постоянное хранение операционной системы.
При включении компьютера все дисководы для гибких дисков должны быть открыты.
Вставлять гибкий диск с прикладными программами в дисковод надо после окончания загрузки.