Рефераты. Информатика и программное обеспечение ПЭВМ
В процессе функционирования системы BIOS реализует наиболее простые и универсальные функции DOS по управлению стандартными (основными) периферийными устройствами (ПУ), в частности, по организации ввода-вывода.
Выделение BIOS в отдельный компонент позволяет ''скрыть'' архитектурные особенности конкретной модели ПК и обеспечить независимость программного обеспечения от ПУ.
BIOS содержит:
1) драйверы стандартных ПУ;
2) тестовые программы для контроля работоспособности оборудования;
3) программу начальной загрузки.
Драйверы стандартных устройств - это программа, обслуживающая некоторые ПУ.
Драйвер выполняет следующие функции:
– принимает запросы на обращение к ПУ;
– преобразует запросы в команды управления устройством с учетом всех деталей конструкции и особенностей работы устройства в реальном масштабе времени;
– обрабатывает прерывания обслуживаемого ПУ. Следовательно, драйвер является промежуточным звеном (посредником) между обращающимися к ПУ программами и самим ПУ.
Наряду с реальными, драйвер может обслуживать и виртуальные устройства, т. е. имитировать физические ПУ с использованием других компонентов ПК (оперативной и внешней памяти). Драйверами считаются также программы, обеспечивающие управление дополнительной памятью компьютера.
Программа начальной загрузки (BIOS) - первичный загрузчик -является системнонезависимой и способна запускать в работу любую операционную систему на данном ПК.
Доступ к средствам BIOS осуществляется главным образом через аппарат прерываний. Она совместно с модулем расширения (EM BIOS) обрабатывает семейство прерываний, называемых прерываниями нижнего уровня (услуги BIOS считаются низкоуровневыми).
Таким образом, BIOS - это самый нижний, наиболее близкий к оборудованию, компонент DOS.
NSB - вторичный загрузчик, обеспечивает загрузку с жесткого диска одной из отмеченных специальным образом операционных систем (обычно это DOS).
SB - системный загрузчик ориентирован строго на DOS и способен обеспечивать загрузку только данной системы. Он имеется на каждом диске, подготовленном для работы в среде DOS, даже если диск не является системным.
Все три загрузчика считываются в память и выполняются строго последовательно. Если загрузка DOS производится с гибкого магнитного, а не жесткого диска, то первичный загрузчик считывает непосредственно SB и передает ему управление.
EM BIOS в процессе функционирования DOS является надстройкой над BIOS, модифицируя и/или дополняя ее возможности.
При загрузке DOS данным модулем обеспечивается возможность как логической замены драйверов, хранящихся в BIOS, так и подключения новых драйверов. Необходимость в этом возникает при изменении конфигурации ПУ (BIOS гораздо консервативнее самой DOS) и потребности в использовании имеющихся ПУ нестандартным образом.
Драйверы могут находиться как внутри EM BIOS, так и вне его, т.е. храниться в отдельных файлах. В первом случае они называются внутренними (основными), а во втором - внешними (устанавливаемыми). Наряду с внутренними драйверами EM BIOS содержит ряд управляющих блоков и таблиц.
Внутренние драйверы подключаются к системе при загрузке DOS автоматически, а внешние - по указаниям в файле конфигурации системы CONFIG.SYS. Исключение составляет один из внешних драйверов, а именно драйвер DBLSPACE.BIN, управляющий сжатыми логическими дисками, который подключается к системе автоматически (при условии, что он обнаружен на своем законном месте), причем до обработки файла CONFIG.SYS. Если сжатые логические диски отсутствуют, то подключение драйвера DBLSPACE.BIN не производится, в результате чего освобождается дополнительное пространство для выполнения программ. Когда драйвер на своем месте не обнаружен, то DOS обходится и без него, не отображая никаких, даже предупреждающих, сообщений. Раннее автоматическое подключение этого драйвера позволяет хранить практически все файлы DOS на сжатом диске, получающем имя С.
Некоторые драйверы нежелательно помещать в BIOS или в его расширение по той причине, что они используются не на каждой модели ПК и не каждым пользователем. В этом случае драйверы оформляются как внешние и подключаются только при необходи-мости, что повышает эффективность DOS. Возможность подключения внешних драйверов существенно облегчает адаптацию системы к новым ПУ, не требуя модификации основных ее компонентов.
Если файл CONFIG.SYS отсутствует, то никакие внешние драйверы, за исключением упомянутого драйвера, к системе не подключаются, а параметры DOS устанавливаются по умолчанию.
Драйверы из BIOS, EM BIOS и подключенные внешние драйверы можно рассматривать как единое целое, которое называется подсистемой ввода-вывода. Она содержит драйверы, одни из которых являются обязательными, другие - факультативными.
Драйверы подсистемы ввода-вывода:
– накопители на гибких и жестких магнитных дисках;
– дисплея и клавиатуры;
– принтера; адаптеров интерфейсов (последовательных и параллельных портов);
– фиктивного устройства (вывод в это устройство воспринимается, но данные отбрасываются; при попытке ввода с этого устройства немедленно опознается конец файла);
– виртуального диска (имитатора в оперативной памяти реального диска);
– расширенной, отображаемой, высокой и верхней памяти;
– подсистемы управления энергопотреблением;
– подсистемы межкомпьютерной связи;
– для управления сжатыми дисками;
– кэширования дисков;
– подмены версии DOS.
Часто к DOS могут подключаться не входящие в состав системы внешние драйверы, в частности, драйвер манипулятора типа ''мышь''.
NSB, SB и подсистема ввода-вывода образуют машинозависимую часть DOS.
BM-DOS - это центральный компонент DOS, реализующий основные функции операционной системы.
Управление ПУ с помощью BM DOS осуществляется на более высоком уровне, чем управление посредством драйверов на основе организации обращений к драйверам. Именно здесь находится файловая система, обеспечивающая выполнение операций над файлами. Основание этой системы образует подсистема ввода-вывода. Файловая система является наиболее развитой функциональной частью DOS.
Основу BM DOS составляют обработчики прерываний верхнего уровня. Обращение к BM DOS возможно только через механизм прерываний. Именно прерывания верхнего уровня выдают большинство программ, работающих под управлением DOS. Обработчики этих прерываний, в свою очередь, могут генерировать прерывания нижнего уровня.
Компоненты подсистемы ввода-вывода, загружаемые с диска, и BM DOS в процессе работы системы находятся в оперативной памяти постоянно (резидентно).
В то время как BIOS, EM BIOS и BM DOS в совокупности управляют ресурсами компьютера, интерпретатор команд CI отвечает за поддержку пользовательского интерфейса DOS.
Пользователь общается с системой путем передачи ей команд, которые она в состоянии проинтерпретировать. Под командой традиционно понимается указание на выполнение некоторого действия.
Файл автозапуска AUTOEXEC.BAT, исполняемый CI в процессе загрузки системы, включает команды DOS и запросы на выполнение программ, которые пользователь должен регулярно выдавать после запуска DOS в работу (например для загрузки резидентных программ). Это освобождает пользователя от частого выполнения рутинных операций. Если файл AUTOEXEC.BAT отсутствует, то CI выдает запросы на установку даты и времени.
CI состоит из двух модулей: резидентного и транзитного.
Резидентный модуль хранится после запуска DOS в оперативной памяти постоянно и включает обработчики трех важных прерываний, а также код подгрузки транзитного модуля CI.
Транзитный (нерезидентный) модуль может перекрываться в оперативной памяти выполняемыми программами, а затем восстанавливаться путем считывания с диска. Этот модуль содержит исполнитель так называемых внутренних команд DOS и загрузчик программ в оперативную память для выполнения.
Внутренними являются команды DOS, которые обычно используются чаще других.
Доступ к CI осуществляется по прерываниям от клавиатуры и другим программным прерываниям, которые он обслуживает.
Дополнительно к тому, что уже отмечалось, EM BIOS, BM DOS и CI содержат коды инициализаций, выполняемые только при загрузке DOS и затем уничтожаемые для освобождения памяти.
Утилиты - это обслуживающие программы, которые предоставляют пользователю сервисные услуги. Утилиты DOS делятся на две категории:
1) не диалоговые утилиты, к которым относятся также утилиты, способные выдавать пользователю ряд простых запросов, но не поддерживающие высокоразвитый пользовательский интерфейс;
2) интерактивные утилиты, имеющие развитый полноэкранный, организованный в виде меню интерфейс.
Очевидно, выполненное разделение весьма условно, но без него трудно отдать дань традиции в трактовке внешней команды DOS.
Внешней командой DOS считают команду, реализуемую утилитами первой или второй категории, но в не диалоговом режиме. Внешней команда именуется потому, что она реализуется не CI, а отдельной программой - утилитой. Внешние команды дополняют пользовательский интерфейс системы. DOS имеет вполне определенный перечень внешних команд.
Оболочка MS-DOS Shell - это надстройка над CI, внешне напоминающая Windows, которая упрощает работу пользователя в среде DOS и предоставляет ему ряд дополнительных возможностей.
Достоинствами оболочки MS-DOS Shell являются:
- возможность выделения файлов для групповых операций в различных каталогах, применения групповых операций к найденным файлам;
- поддержка создания и использования высокоразвитого меню программ;
- обеспечение переключения задач;
- компактность резидентного кода (около 4,5 кбайт).
Недостатки MS-DOS Shell:
- отсутствие поддержки манипулирования поддеревьями файловой структуры;
- невозможность работы с архивами;
- слабые средства визуализации файлов.
Несмотря на наличие неоспоримых достоинств, оболочка MS-DOS Shell не пользуется заметной популярностью.
К инструментальным средствам DOS принадлежат:
- система программирования MS-DOS QBasic (Quick Basic), построенная на основе интерпретации;
- отладчик Debug, позволяющий тестировать и отлаживать исполняемые файлы;
- текстовый редактор MS-DOS Editor, обеспечивающий подготовку исходных программ, а также простых текстовых доку-ментов.
BM DOS, CI, утилиты, оболочка и инструментальные средства DOS составляют ее машинонезависимую часть. Конечно, понятие "машинонезависимость" весьма условно, поскольку в любом случае необходим микропроцессор, совместимый с микропроцессором 8086/88 фирмы Intel. Именно эти и более совершенные микропроцессоры применяются в IBM-совместимых ПК.
Не все компоненты DOS, размещаемые в файлах, необходимы для того, чтобы DOS была в состоянии работать. Их отсутствие лишь ограничивает функциональные возможности системы.
Минимальная конфигурация MS-DOS включает: EM BIOS (файл IO.SYS), BM DOS (файл MSDOS.SYS) и CI (файл COMMAND.COM), если не принимать во внимание BIOS, NSB и BR.
Ограничения, накладываемые на структуру системного диска:
? файлы IO.SYS и MSDOS.SYS регистрируется на первой и второй позициях корневого каталога системного диска соответственно (первой здесь считается позиция элемента корневого каталога, следующая за стандартным обязательным элементом, обозначаемым точкой);
? файл COMMAND.COM находится в любом месте корневого каталога системного диска;
? если имеются файлы DBLSPACE.BIN, CONFIG.SYS и AUTOEXEC.BAT, то они также должны содержаться в корневом каталоге системного диска.
Если в файле CONFIG.SYS сделать специальное указание командой SHELL, то файл COMMAND.COM можно разместить в любом каталоге системного диска или любом другом месте диска, если он доступен (является "установленным") во время загрузки DOS.
Остальные файлы DOS могут располагаться в любых каталогах каких угодно дисков. Однако необходимо хранить их в единственном каталоге жесткого диска.
Приведенные ограничения справедливы только в том случае, когда системный диск не сжат компрессором DoubleSpace. Если эта операция произведена, то в корневом каталоге несжатой части системного диска должны оставаться только файлы IO.SYS, MSDOS.SYS и DBLSPACE.BIN, а также еще не упоминавшийся файл конфигурации компрессора, создаваемый им автоматически и имеющий имя DBLSPACE.INI. Файлы COMMAND.COM, CONFIG.SYS и AUTOEXEC.BAT будут считываться из корневого каталога соответствующего сжатого логического диска, поэтому они обязаны находиться именно в нем, если в каждом из данных файлов есть необходимость. Объясняется это тем, что после подключения к системе драйвера DBLSPACE.BIN имя привода, закрепленное за системным диском, присваивается сжатому логическому диску, а сам системный диск получает другое имя. Например, если загрузка производится с диска С:\ и он сжат компрессором DoubleSpace, то при подключении драйвера DBLSPACE.BIN имя С:\ получает сжатый диск, созданный на диске C:\, и загрузка естественным образом продолжается с него.
Несмотря на сказанное, необходимо хранить копии файлов COMMAND.COM, CONFIG.SYS и AUTOEXEC.BAT также и в корневом каталоге несжатой части системного диска. Если последняя рекомендация выполнена, то ПК можно будет загрузить даже тогда, когда доступ к сжатому логическому диску становится невозможным в случае возникновения на нем логических дефектов. После загрузки DOS недоступность сжатого логического диска станет очевидной, и пользователь сможет предпринять адекватные возникшей ситуации меры.
3.3 Операционная система MS-DOS
3.3.1 Логическая структура дисков
Все винчестеры и флоппи-диски, поддерживаемые MS-DОS, за рядом исключений имеют сходный логический формат.
Под логическим форматом понимается то, что на диске резервируются определенные области для хранения служебной информации, необходимой операционной системе для работы с этим устройством.
Процесс создания и заполнения этих областей носит название логического форматирования.
Для создания логической структуры диска используются специальные программы, входящие обычно в состав операционной системы или существующие как независимые утилиты. Содержимое создаваемых областей может полностью или частично заполняться и изменяться не только во время форматирования, но и в процессе последующей работы с данным диском.
3.3.1.1 Логическая структура гибкого магнитного диска
Практически каждый диск содержит следующие области: загрузочная запись или сектор BR (Boot Record), две (одну) таблицы размещения файлов (FAT - File Allocation Table), корневой каталог RD (Root Directory) и область данных DA (Data Area) (рис. 3.7, 3.8).
Рис. 3.7. Логическая структура гибкого магнитного диска
Рис. 3.8. Структура системной области
Загрузочный сектор BR (SB) (рис. 3.9) каждого диска занимает по определению только один сектор и хранится в логическом секторе 0. В нем содержится некоторая информация о диске и небольшая программа IPL (2) (Initial Program Loading 2). Почему именно 2, а не 1, будет ясно из дальнейшего объяснения. Первым байтом этого сектора должен быть либо код безусловного перехода JMP (E9h) с последующим 16-битным смещением, либо код "короткого" (short) перехода JMP (EBh) с 8-битным смещением, причем третьим байтом в этом случае является код операции NOP (90h). Заканчивается сектор определенной кодовой комбинацией - сигнатурой (AA55h). Сразу за инструкцией JMP в этом секторе следует 8-байтное поле, резервируемое для идентификации имени и версии OEM (Original Eguipment Manufacturer). Программы форматирования традиционно записывают здесь ASCII-строку, содержащую марку и версию используемой операционной системы или наименование пакета, например MSDOSn.n либо PCTools.
Рис. 3.9. Структура загрузочного сектора
Безусловно, главным компонентом сектора BR является так называемый блок параметров BIOS BPB (BIOS Parameter Block). Это важнейшая структура данных, содержащая важную информацию: тип носителя (media descriptor), количество используемых байт на сектор и секторов на кластер, количество копий FAT и др.
Последний элемент сектора BR - это программа IPL2. Начальная инструкция JMP в этом секторе выполняет переход на точку входа именно этой программы.
Таблица размещения файлов располагается непосредственно после загрузочной записи и имеет переменный размер (в секторах). FAT используется для хранения сведений о размещении файлов на диске. Эта таблица состоит из элементов (12- или 16-битных), каждый из которых соответствует определенному участку дискового пространства и соответствующим кодом характеризует его состояние: занят, свободен или имеет дефект. В самом начале каждой таблицы FAT (первый элемент) хранится дескриптор (media descriptor), определяющий тип носителя (например для жесткого диска - F8h).
Минимальным элементом, которым MS-DOS оперирует при работе с дисками, является не сектор, а кластер. Кластеры состоят из нескольких секторов (2, 4 и т. д.).
Для дисков с магнитным носителем обычно используется две копии FAT, которые следуют одна за другой. Содержимое их полностью дублируется.
Корневой каталог диска всегда занимает строго фиксированное место - сразу за последней таблицей FAT. Он состоит из ограниченного числа 32-байтных записей, каждая из которых содержит информацию о файле или другом каталоге (подкаталоге), а также метке диска.
Корневая директория включает список всех файлов на дискете, его элементы содержат всю информацию о файле, за исключением сведений о размещении файла, которые хранятся в таблице размещения файлов. Любой элемент имеет длину 32 байт и включает восемь полей (все они выравниваются по левой границе, пустые байты заполняются пробелами):
1) имя файла - 8 байт. Если первый байт имеет значение Е516, то элемент не используется, если 2Е16, то этот элемент указывает на директорий нижнего уровня;
2) расширение имени файла - 3 байт;
3) атрибут - 1 байт. Используется для установления признака:
- "только чтение" (нулевой бит);
- скрытого файла (первый бит);
- системного файла (второй бит);
- признака метки тома (третий бит);
- признака поддиректории (четвертый бит);
- признака архивного файла (пятый бит);
- шестой и седьмой биты этого байта резервные.
Если задан признак метки тома, то этот элемент содержит не ссылку на файл, а имя диска, которое занимает первые 11 байт. Архивный бит используется утилитами BACKUP и RESTORE;
4) зарезервированное поле для возможного использования в будущем - 10 байт;
5) время - 2 байт. Здесь хранится время создания или последней модификации файла. Первые 5 бит занимают часы, вторые 3 бит - минуты, третьи 5 бит - секунды. В последнем поле каждая единица соответствует 2 с;
6) дата - 2 байт. Здесь хранится дата создания последней модификации файла. Первые 7 бит занимают годы, которые отсчитываются от значения 1980 (от 1980 г.), вторые 4 бит - месяцы, третьи 5 бит - дни;
7) номер начального кластера - 2 байт. Начальный кластер является первой частью пространства данных в файле на дискете;
8) размер файла - 4 байт. Наличие этого поля связано с тем, что файл обычно частично занимает последний отведенный ему кластер, а здесь указывается его точная длина.
Все остальное место на диске занимает область данных, содержащая файлы данных или подкаталогов.
3.3.1.2 Логическая структура жесткого магнитного диска
Особенности логической структуры жесткого магнитного диска обусловлены наличием несистемного загрузчика NSB (главный загрузочный сектор MBR - MASTER BOOT RECORD).
Каждый жесткий диск (как отдельное электронное устройство) имеет еще одну область, которая называется главной загрузочной записью, или сектором MBR, или несистемным загрузчиком (NSB). Единый жесткий диск может быть разбит на несколько логических дисков, с которыми она может работать как с отдельными устройствами. Именно поэтому физические сектора на жестком диске могут характеризоваться в двух системах координат: физической (сектор, головка, цилиндр) и логической (номер логического сектора).
Для MBR на жестком диске всегда выделяется физический сектор 1 (сектор 1, головка 0, цилиндр 0). Логического номера он не имеет, так как является общим для всех логических дисков.
Этот сектор содержит программу IPL1 (Initial Program Loa-ding 1), расположенную в его начале, которая при своем выполнении сканирует содержимое второго важного элемента MBR - таблицу разделов диска (Partition Table) (рис. 3.10), состоящую, в свою очередь, из четырех 16-байтных элементов (разделов), разбитых на поля. Они содержат информацию о номерах начального и конечного секторов, номерах головок и цилиндров для соответствующего раздела, а также числе секторов, предшествующих разделу и включенных в раздел. Из четырех разделов, на которые может быть поделен диск, только два могут принадлежать MS-DOS: первичный (Primary) и расширенный (Extended), два оставшихся резервируются для других операционных систем: OS/2, Xenix, UNIX, Windows NT и т. д.
Рис. 3.10. Структура MBR
Не следует отождествлять понятия "раздел" и "логический диск", поскольку, например, с расширенным разделом могут быть связаны несколько логических дисков.
Байт поля "Признак загрузки" используется программой IPL1 (при ее выполнении) для выяснения, какой из разделов диска содержит загружаемую операционную систему. Активный (загружаемый) раздел в этом поле содержит код 80h, остальные разделы должны быть помечены кодом 00h.
В поле "Начало раздела" хранятся номера головки, сектора и цилиндра стартового сектора раздела; в поле "Конец раздела" - соответствующие величины для конечного сектора этого раздела.
Число секторов до начала раздела хранится в 4-байтном поле "Относительный сектор". Это число определяется путем последовательного подсчета секторов, начиная с сектора 1, головки 0, цилиндра 0 физического диска, и увеличения номера сектора на дорожке, затем номера головки и цилиндра.
Число секторов в разделе хранится в 4-байтном поле "Размер". Как и для предыдущего поля, первое слово содержит младшую часть числа, второе - старшую.
Еще одно важное поле элементов таблицы разделов - "Тип раздела". Код в нем указывает, какой именно операционной системе принадлежит данный раздел.
Если поле "Тип раздела" содержит код 05h (Extended-раздел), то физический сектор, определяемый в поле "Начало раздела" диска, является вовсе не загрузочным сектором (BR) расширенного раздела, а вторичным главным загрузочным сектором жесткого диска SMBR (Secondary Master Boot Record). Этот сектор содержит собственную таблицу разделов, называемую таблицей логического диска LDT (Logical Drive Table), и непременную сигнатуру AA55h. Эта таблица и определяет местоположение и размер раздела, с которым MS-DOS обращается как с отдельным физическим диском.
Отличия SMBR-сектора от MBR-сектора:
- во-первых, он не содержит программы IPL1 и соответственно никогда не определяет загрузочный диск;
- во-вторых, таблица логического диска включает максимум два 16-байтных элемента, а не четыре, как основная таблица разделов. Причем, если поле "Тип раздела" первого элемента таблицы определяет размер элемента FAT, то такое же поле второго элемента таблицы (если он существует) содержит код Extended-раздела - 05h. Таким образом, второй элемент таблицы логического диска может определять следующий вторичный загрузочный сектор и т. д.
Каждый диск, определяемый таблицей логического диска, содержит сектор BR, две копии FAT, корневую директорию и, безусловно, область данных (рис. 3.11).
Рис. 3.11. Логическая структура жесткого магнитного диска
Таким образом, Extended-раздел может быть поделен на логические диски от D до Z по количеству букв латинского алфавита.
3.3.2 Начальная загрузка MS-DOS
При загрузке или перезагрузке системы выполнение начинается с адреса OFFFFOH (рис. 3.12). Это определяется особенностями семейства микропроцессоров 8086/8088, а не самой системы MS-DOS. Системы, базирующиеся на этих процессорах, сконструированы так, что адрес OFFFFOH лежит внутри области ПЗУ и содержит машинную команду передачи управления программе проверки системы и программе начального загрузчика ПЗУ.
Программа начального загрузчика ПЗУ считывает в некоторую область памяти программу дискового начального загрузчика, начиная с первого сектора загружаемого диска (сектор загрузчика), и затем передает ей управление. Кроме того, сектор загрузчика содержит таблицу с информацией о формате диска.
Программа дискового начального загрузчика проверяет наличие на диске копии операционной системы MS-DOS. Для этого считывается первый сектор корневого каталога и определяется, являются ли его первые два файла системными файлами IO.SYS и MSDOS.SYS (или IBMBIO.COM и IBMDOS.COM) (в указанном порядке). Если этих файлов там нет, то пользователю предлагается сменить диск и нажать на произвольную клавишу для новой попытки. Если оба системных файла найдены, то дисковый начальный загрузчик считывает их в память и передает управление на точку входа модуля IO.SYS. В некоторых реализациях дисковый начальный загрузчик считывает в память только файл IO.SYS, который, в свою очередь, загружает файл MSDOS.SYS.
Файл IO.SYS, загруженный с диска, обычно состоит из двух отдельных модулей. Первый из них BIOS содержит связанный набор резидентных драйверов таких устройств, как консоль, последовательный порт, печатающее устройство, блочно-ориентированное устройство и таймер, а также программу инициализации, выполняемую только при начальной загрузке системы.
Второй модуль SYSINIT, поддерживаемый системой Microsoft, компонуется в файл IO.SYS, как и BIOS, изготовителем компьютера.
Рис. 3.12. Алгоритм загрузки системы MS-DOS
SYSINIT вызывается с помощью программы инициализации BIOS. Модуль определяет величину непрерывной памяти, доступной системе, и затем располагается по ее старшим адресам. Далее модуль переносит ядро системы DOS MSDOS.SYS из области ее начальной загрузки в область окончательного расположения в памяти, перекрывая начальную программу SYSINIT в любую другую расширяемую программу инициализации, которая содержалась в файле IO.SYS.
Далее SYSINIT вызывает программу инициализации в модуле MSDOS.SYS. Ядро DOS инициализирует ее внутренние таблицы и рабочие области, устанавливает векторы прерываний по адресам с 2OH по 2FH и перебирает связанный список резидентных драйверов устройств, вызывая функцию инициализации для каждого из них.
Функции драйверов определяют состояние оборудования, выполняют всю необходимую инициализацию аппаратуры и устанавливают векторы для внешних аппаратных прерываний имеющихся драйверов.
В процессе инициализации ядро DOS проверяет блоки параметров диска, возвращаемые с помощью резидентных драйверов блочно-ориентированных устройств, определяет наибольший размер сектора, который будет использован в системе, строит блоки параметров дисковода и выделяет буфер сектора диска, затем управление передается модулю SYSINIT.
Когда ядро DOS проинициализировано и все резидентные драйверы доступны, модуль SYSINIT может открыть файл CONFIG.SYS. Этот необязательный файл содержит различные команды, которые позволяют пользователю настраивать среду MS-DOS. Например, пользователь может задать дополнительные драйверы аппаратных устройств, число буферов диска, максимально возможное число одновременно открытых файлов и имя файла командного процессора (оболочки).
Если файл CONFIG.SYS найден, он загружается в память для выполнения. Драйверы, указанные в файле CONFIG.SYS, последовательно загружаются в память, активизируются с помощью вызовов соответствующих модулей инициализации и заносятся в связанные списки драйверов. Функции инициализации каждого из них сообщают модулю SYSINIT размер памяти, отведенной под соответствующий драйвер.
После загрузки всех устанавливаемых драйверов SYSINIT закрывает все дескрипторы файлов и открывает вновь консоль (CON), принтер (PRN) и последовательный порт (AUX) как устройство стандартных ввода и вывода, ошибки, печати и последовательного устройства. Это позволяет символьно-ориентированному драйверу, установленному пользователем, замещать резидентные драйверы BIOS стандартных устройств.
В конце своего выполнения модуль SYSINIT вызывает функцию EXEC для загрузки интерпретатора командной строки, или оболочки. Стандартной оболочкой является COMMAND.COM, однако с помощью файла CONGIG.SYS можно устанавливать и другие оболочки. После загрузки оболочка высвечивает на экране дисплея запрос и ждет от пользователя ввода команды. Теперь система MS-DOS готова для работы и модуль SYSINIT уже не требуется.
3.3.3 Файловая система MS-DOS
Файловая система MS-DOS - часть операционной системы, управляющая размещением и доступом к файлам и каталогам.
Каталог - справочник файлов с указанием месторасположения на диске - бывает текущим, в котором работа пользователя производится в текущее машинное время; пассивным, с которым в данный момент време-ни не имеется связи; родительским, имеющий подкаталог.
Подкаталог - каталог, который входит в другой каталог.
Доступ - процедура устанавливания связи с памятью и размещенными в ней файлами для записи и чтения.
Файл - логически связанная совокупность данных или программ, для размещения которой во внешней памяти выделяется именованная область.
С понятием файловой системы тесно связано понятие файловой структуры диска, под которой понимают, как размещаются на диске главный каталог, подкаталоги, файлы, операционная система, а также какие для них выделены объемы секторов, кластеров, дорожек.
При формировании файловой структуры диска операционная система MS-DOS работает по определенным правилам:
- файл или каталог могут быть зарезервированы с одним и тем же именем в различных каталогах, но в одном и том же каталоге только один раз;
- порядок следования имен файлов и подкаталогов в родительском каталоге произвольный;
- файл может быть разбит на несколько частей, для которых выделяются участки дискового пространства одинакового объема на разных дорожках и секторах.
3.3.3.1 Файлы
Файл служит учетной единицей информации в операционной системе. Любые действия с информацией в MS-DOS осуществляются над файлами: запись на диск, вывод на экран, ввод с клавиатуры, печать, считывание информации CD-ROM и пр.
На диске файл не требует для своего размещения непрерывного пространства, обычно он занимает свободные кластеры в разных частях диска. Сведения о номерах этих кластеров хранятся в FAT-таблице.
В файлах могут храниться разнообразные виды и формы представления информации: тексты, рисунки, чертежи, числа, программы, таблицы и т. п. Особенности конкретных файлов определяются их формами.
Под формами понимается элемент языка, в символическом виде описывающий представление информации в файле.
Текстовая информация хранится в файле в кодах ASCII, в так называемом текстовом формате. Содержимое текстовых файлов можно просмотреть на экране дисплея с помощью разных программных средств, в том числе и в MS-DOS.
Любой другой файл с нетекстовой информацией просмотреть теми же средствами, что и текстовый файл, не удается. При просмотре на экран будут выводиться абсолютно непонятные символы.
Для характеристики файла используются следующие параметры:
- полное имя файла;
- объем файла в байтах;
- дата создания файла;
- время создания файла;
- специальные атрибуты файла:
1) R (Read only) - только для чтения;
2) H (Hidden) - скрытый файл;
3) S (System) - системный файл;
4) A (Archive) - архивированный файл.
Вся эта информация хранится в корневом каталоге логической структуры диска.
3.3.3.2 Каталоги
В операционной системе MS-DOS принята иерархическая структура организации каталогов. На каждом диске всегда имеется единственный главный (корневой) каталог. Он находится на нулевом уровне иерархической структуры и обозначается символом "\". Корневой каталог создается при формировании (инициализации, разметке) диска, имеет ограниченный размер и не может быть удален средствами DOS. В главный каталог могут входить другие каталоги и файлы, которые создаются командами операционной системы и могут быть удалены соответствующими командами.
Таким образом, любой каталог, содержащий каталоги нижнего уровня, может быть, с одной стороны, по отношению к ним родительским, а с другой - подчиненным по отношению к каталогу верхнего уровня. Если это не вызывает путаницы, употребляют термин "каталог", подразумевая или подкаталог, или родительский каталог в зависимости от контекста.
Каталоги на дисках организованы как системные файлы. Единственное исключение - корневой каталог, для которого отведено фиксированное место на диске. Доступ к каталогам можно получить, как к обыкновенному файлу.
Доступ к содержимому файла организован из главного каталога, через цепочку соподчиненных каталогов (подкаталогов) n-го уровня.
3.3.3.3 Путь и приглашение
Путь - цепочка соподчиненных каталогов, которую необходимо пройти по иерархической структуре к каталогу, где зарегистрирован искомый файл (рис. 3.13).

Корневой каталог:\

Родительский каталог:\

Подкаталог:\

Имя файла

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.