Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Классификация ОС по назначению
ДОС (Дисковые Операционные Системы) Это системы, берущие на себя выполнение только первых четырех функций. Как правило, они представляют, собой некий резидентный набор подпрограмм, не более того. ДОС загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. При завершении программы считается хорошим тоном оставлять машину в таком состоянии, чтобы ДОС могла продолжить работу. Если же программа приводит машину в какое-то другое состояние, что ж, ДОС ничем ей в этом не может помешать. Дисковая операционная система MS DOS для IBM PC-совместимых машин является прямым наследником одного из таких резидентных мониторов. Существование систем этого класса обусловлено их простотой и тем, что они потребляют мало ресурсов. ОС общего назначения К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Разделение на ОС и ДОС идет, по-видимому, от систем IBM DOS/360 и OS/360 для больших компьютеров этой фирмы. (Кстати, у IBM была еще TOS/360, Tape Operating System — Ленточная Операционная Система).
Системы реального времени Это системы, предназначенные для облегчения разработки так называемых приложений реального времени — программ, управляющих некомпьютерным оборудованием, часто с очень жесткими ограничениями по времени. Примером такого приложения может быть программа бортового компьютера самолета, системы управления ускорителем элементарных частиц или промышленным оборудованием. Подобные системы обязаны поддерживать многопоточность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Multimedia - приложения (при качественной реализации) предъявляет к системе те же требования, что и промышленные задачи реального времени. Классификация по способу построения ОС Операционная система па основе монолитного ядра. Классическим архитектурным типом ОС является система с монолитным ядром (рис. 1.5). Ее отличительной особенностью является то, что процессы полностью управляются ядром и вмешательство в это управление с уровня пользователя просто невозможно. Все компоненты монолитного ядра работают в одном адресном пространстве, используют общие структуры данных и могут вызвать друг друга. Компоненты операционной системы являются не самостоятельными модулями, а составными частями одной большой про граммы. Монолитное ядро представляет собой набор процедур, каждая из которых может вызвать каждую. Операционная система на основе модульного ядра - усовершенствованный вариант архитектуры с монолитным ядром. Модульные ядра не требуют полной перекомпиляции при изменении состава аппаратного обеспечения компьютера, предоставляя различные механизмы загрузки модулей ядра. Все модули ядра работают в адресном пространстве ядра и могут пользоваться всеми функциями, предоставляемыми ядром. Поэтому модульные ядра продолжают оставаться монолитными. Модульные ядра предоставляют особый программный интерфейс для связывания модулей с ядром, для обеспечения динамической загрузки и выгрузки модулей. На модули ядра накладываются определенные ограничения в части используемых функций. Модули ядра обязаны экспортировать определенные функции, нужные ядру для правильного подключения и распознавания модуля, для его корректной инициализации при загрузке и корректного завершения при выгрузке, для регистрации модуля в таблице модулей ядра и для обращения из ядра к сервисам, предоставляемым модулем. Некоторые части ядра всегда обязаны присутствовать в оперативной памяти и должны быть жестко «вшиты» в ядро Операционная система на основе мини-ядра (микроядра). Эта структура в последние два десятилетия с успехом применяется для программирования систем РВ. Применение ее для построения ОС других классов ограничивается относительно высокой стоимостью этой архитектуры. Суть ее заключается в том, что монолитное ядро разбивается на ряд самостоятельных и исключительно гибко взаимодействующих между собой частей, что, - в частности, позволяет при выполнении программ отдать инициативу прикладным задачам (рис. 1.6). Как правило, выполнение прикладных задач поддерживается специальными процессами (сервисами), которые подключаются по мере необходимости. Микроядро работает в привилегированном режиме и обеспечивает: взаимодействие между программами, планирование процессов, первичную обработку прерываний, операции ввода-вывода и базовое управление памятью. Остальные компоненты системы взаимодействуют друг с другом путем передачи сообщений через микроядро.
Загрузка ОС Загрузка - процесс подготовки программы к работе, заключающийся в пересылке программы из внешней памяти в оперативную память, ее настройке и дальнейшем запуске. Загрузка- это период высокой уязвимости системы. Ошибки в файлах конфигурации, сбои оборудования могут сильно осложнить этот процесс. Для различных ОС процессы различаются, но можно описать ход данной процедуры в общем случае. Английское название процесса загрузки — bootstrapping (от англ. «pull itself up by its own bootstraps»), - система поэтапно «поднимет себя за шнурки ботинок». Действительно, основные средства ОС в момент запуска еще недоступны, приходится постепенно подтягивать нужные силы. Загрузочный код содержит программу загрузчик ОС, который: •обеспечивает необходимые средства для диалога с пользователем •приводит аппаратуру компьютера в состояние, необходимое для •загружает ядро операционной системы в ОЗУ; •формирует параметры, передаваемые ядру операционной системы; • передает управление ядру операционной системы. ■ загрузка и инициализация ядра; ■ распознавание и конфигурирование устройств; • выполнение командных файлов запуска системы; • авторизация. При «аварийной» (в специальном режиме) или ручной загрузке некоторые действия могут быть пропущены. Проще всего происходит загрузка систем, ядро которых вместе со всеми дополнительными модулями (драйверами устройств, файловых систем и др.) собрано в единый загрузочный модуль. При переконфигурации системы, добавлении или удалении драйверов и других модулей необходима пересборка ядра, которая может производиться либо стандартным системным редактором связей, либо специальными утилитами генерации системы. Для такой пересборки в поставку системы должны входить исходные тексты (Linux) или объектные модули ядра. Большинство современных ОС используют схему, при которой дополнительные модули подгружаются уже после старта самого ядра 7)Построение и запуск задач (Создание исполняемых файлов) После того как загружена ОС, в ней могут выполняться другие задания. Для того чтобы отправить задание на выполнение, его необходимо оформить в виде исполняемого файла, который затем будет запущен с помощью программы-загрузчика, являющейся обычно частью ОС. Исполняемый файл содержит двоичное представление машинных инструкций, предназначенных для исполнения на конкретной виртуальной или физической машине (чаще всего, конкретной ОС). ОС распознают такие файлы, либо благодаря расширению (*.ехе или др.), либо по специальному коду разрешения исполнения в структуре файла (как в UNIX). Современные фалы могут содержать дополнительную информацию (например, для отладки). Исполнимые файлы могут содержать вызовы библиотечных функций. Структура исполняемого файла. Практически все однопроцессорные компьютерные системы построены на основе архитектуры фон Неймана, которая обеспечивает в этом случае наилучшую производительность. Эта архитектура предъявляет определенные требования к структуре исполняемого файла, который, например, может иметь расширение.ехе и строится в виде сегментов (рис. 1.8) Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 785; Нарушение авторского права страницы