│ ОПЕРАЦИОННАЯ СИСТЕМА │
└─┬───────────────────┬──┘
│ │
┌─┴───────┐ ┌───┴───────────────────────────┐
│ МОНИТОР │ │ СИСТЕМНЫЕ ПРОГРАММЫ И ДАННЫЕ │
└─────────┘ └┬───────────┬────────────────┬─┘
│ │ │
┌──────┴───┐ ┌────┴────┐ ┌────────┴────────────┐
│ ДРАЙВЕРЫ │ │ УТИЛИТЫ │ │ БИБЛИОТЕКИ ПРОГРАММ │
└──────────┘ └─────────┘ └─────────────────────┘
Рис. 3
Рассмотрим операционную систему MS-DOS, с которой работают
большинство персональных компьютеров.
Важнейшим достоинством MS-DOS является модульность. Это
свойство позволяет изолировать друг от друга отдельные части
большой и сложной программы, облегчая ее разработку, а также поз-
воляет объединить в каждом модуле определенные логически связан-
ные группы функций. Если возникает необходимость в замене или
расширении такой группы функций, то это можно сделать путем заме-
ны или модификации лишь одного модуля, а не всей системы.
MS-DOS состоит из следующих основных модулей:
- базовая система ввода/вывода (BIOS - Basic Input Uotrut
SYSTEM);
- блок начальной загрузки (Boot Record);
- модуль расширения базовой системы ввода/вывода (IO.SYS);
- модуль обработки прерываний (MSDOS.SYS);
- командный процессор (COMMAND.COM);
- внешние команды (файлы);
- 45 -
- драйверы устройств (файлы).
В таблице 1 указывается место нахождения модулей операци-
онной системы.
Таблица 1
┌───────────────────────────────────────────────────────────┐
│Место размещения Модули MS-DOS │
├───────────────────────────────────────────────────────────┤
│Постоянная память Базовая система ввода/вывода (BIOS)│
│-----------------------------------------------------------│
│ Блок начальной │
│ загрузки (Boot Record) │
│Системный диск Модуль расширения │
│"скрытые файлы" базовой системы │
│ ввода/вывода (IO.SYS) │
│ Модуль обработки │
│ прерываний (MSDOS.SYS) │
│-----------------------------------------------------------│
│ Командный процессор │
│Системный или рабочий (COMMAND.COM) │
│ диск Внешние команды (файлы) │
│ Драйверы устройств (файлы) │
└───────────────────────────────────────────────────────────┘
Рассмотрим функции модулей MS-DOS и алгоритм (см. приложение
1) загрузки в оперативно-запоминающее устройство компьютера.
1.Базовая система ввода/вывода размещается в постоянной па-
мяти компьютера и является одновременно аппаратной частью и
частью операционной системы.
Первая функция BIOS - автоматическое тестирование основных
компонентов компьютера при его включении. Основная часть времени
тестирования тратится на проверку ОЗУ (на экране во время тести-
рования выводятся цифры, которые отражают количество проверенных
блоков памяти). При обнаружении ошибки на экран выводится сообще-
ние о найденном сбое оборудования.
Вторая функция BIOS - вызов блока первоначальной загрузки
операционной системы с диска, выполняется по окончании тестирова-
ния. Загрузив в ОЗУ блок первоначальной загрузки, BIOS передает
ему управление, а он в свою очередь, загружает другие модули опе-
рационной системы.
Третья функция BIOS - обслуживание прерываний. Основным
принципом работы компьютера является принцип базирующийся на сис-
теме прерываний. Система прерывание - это совокупность аппаратных
и программных средств, обеспечивающих процесс переключения с од-
ной программы на другую и возврат к продолжению прерванной прог-
раммы за счет операций процессора, называемых прерыванием. Преры-
вание - это операция процессора, состоящая в сохранении состояния
процессора, предшествовавшего прерыванию, и установлении нового
состояния. Это состояние запоминается в регистрах процессора и
называется - слово состояние процессора, которое состоит из пос-
ледовательности битов, значение которых отражают текущее состоя-
ние процессора и выполняемой им программы. Прерывание это реакция
процессора на некоторое условие, возникающее в процессоре или вне
его. Реакция выражается в прекращении выполнения текущей команды
для обработки возникщего условия. Прерывание иногда позволяет об-
работать такое условие специальной программой и вернуться к прер-
ванной программе.
Прерывания бывают трех видов:
- аппаратные (например: нажатие клавиши);
- логическое или процессорное (например: деление на ноль);
- 46 -
- программные (например: команды ввода/вывода).
Каждое прерывание имеет уникальный номер от 0 до 255 и с ним
связана определенная программа, призванная обслуживать возникшую
ситуацию. На BIOS возложена задача обслуживать прерывания нижнего
уровня, т.е. тех, которые требуют непосредственного управления
аппаратными компонентами компьютера. Это прерывания с номерами
от 0 до 31. Прерывания с номерами от 32 и выше относятся к преры-
ваниям верхнего уровня и обрабатываются модулем обработки преры-
ваний MSDOS.SYS.
BIOS является "программной оболочкой" вокруг аппаратных
средств компьютера, предоставляет возможность другим программам,
а также и самой операционной системе, обращаться к внешним уст-
ройствам компьютера через механизм прерываний.
2.Блок первоначальной загрузки - очень короткая программа,
которая выполняет функцию загрузчика двух модулей операционной
системы - модуля расширения BIOS (IO.SYS) и модуля обработки пре-
рываний (MSDOS.SYS). Блок первоначальной загрузки всегда располо-
жен на нулевой дорожке диска в первом секторе.
Блок первоначальной загрузки просматривает каталог гибкого
диска А, при его отсутствии - диска С, убедившись, что первые два
файла являются модулями IO.SYS и MSDOS.SYS, считывает их в ОЗУ
компьютера. Оба файла размещаются на диске всегда первыми, что
делает диск системным, и снабжены специальным атрибутом файла,
который делает их "невидимыми" (при выводе корневой директории
диска на экран дисплея эти имена файлов будут отсутствовать).
3.Модуль расширения базовой системы ввода/вывода (IO.SYS) -
это файл, представляющий собой дополнение к BIOS. Он загружается
в ОЗУ и остается в ней постоянно.
Расширение BIOS придает гибкость операционной системе, поз-
воляя добавлять к BIOS драйверы, обслуживающие дополнительные
устройства. Драйверы требуются в тех случаях, когда обмен инфор-
мацией с устройствами должен происходить иначе, чем принято в
BIOS. О необходимости подключения к операционной системе драйве-
ров внешних устройств, а также об изменении параметров операцион-
ной системы сообщается в файле конфигурации CONFIG.SYS. Этот файл
обрабатывается модулем расширения BIOS.
4.Модуль обработки прерываний (MSDOS.SYS) является основным
модулем операционной системы. Он обеспечивает взаимодействие с
программами пользователя. Так же, как и модуль BIOS, модуль обра-
ботки прерываний (MSDOS.SYS) загружается в ОЗУ и остается на весь
сеанс работы с компьютером.
Компонентами данного модуля являются подпрограммы, обеспечи-
вающие работу файловой системы, информационный обмен с дисками, а
также обслуживание некоторых специальных ситуаций. При обращении
к этим подпрограммам из прикладной программы модуль обработки
прерываний получает параметры операций и выполняет требуемые
действия или преобразует полученные параметры в один или несколь-
ко запросов к модулю расширения BIOS. Функции, реализуемые моду-
лем обработки прерываний (MSDOS.SYS), в первую очередь использу-
ются командами MS-DOS, обрабатываемыми командным процессором
(DIR, COPY и т.д.), но с тем же успехом они могут вызываться
прикладными программами.
5.Командный процессор хранится в виде файла с именем
COMAND.COM, обычно на том диске, с которого загружается операци-
онная система. В отличие от рассмотренных выше двух модулей файл
с командным процессором может занимать на диске любое место и
трактуется как обычная программа.
Функции командного процессора заключается в следующем:
- 47 -
1.Прием и синтаксический разбор команд, полученных с клавиату-
ры или из командного файла;
2.Исполнение внутренних команд операционной системы;
3.Загрузка и исполнение внешних команд (программ) операционной
системы и прикладных программ пользователя (находящихся в файлах,
имеющих расширение COM.EXE и BAT).
Некоторые команды (TYPE, DIR и другие) командный процессор
выполняет сам. Такие команды называются внутренними. Для выполне-
ния остальных (внешних) команд пользователя командный процессор
ищет на дисках программу с соответствующем именем (например,