Вы находитесь на странице: 1из 21

Архитектура ОС

1
Основные принципы построения
операционных систем
 Принцип модульности
 Принцип функциональной избирательности
 Принцип генерируемости ОС
 Принцип функциональной избыточности
 Принцип виртуализации
 Принцип независимости программ от внешних
устройств
 Принцип совместимости
 Принцип открытой и наращиваемой ОС
 Принцип мобильности (переносимости)
 Принцип обеспечения безопасности вычислений
2
Принцип модульности
 Под модулем понимают функционально
законченный элемент, выполненный в
соответствии с принятыми межмодульными
интерфейсами
 Возможность замены модуля на другой
модуль с таким же межмодульным
интерфейсом
 Особо важное значение при построении ОС
имеют привилегированные, повторно
входимые и реентерабельные модули

3
Принцип функциональной
избирательности
 В ОС выделяется некоторая часть важных
модулей, которые должны постоянно
находится в оперативной памяти для более
эффективной работы. Эту часть ОС
называют ядром, так как это действительно
основа системы.
 Два противоречивых требования:
– В состав ядра должны войти наиболее часто
используемые модули
– Количество модулей должно быть таким, чтобы
объем, памяти занимаемой ядром был не
слишком большим 4
Принцип генерируемости ОС
 Исходное представление центральной системной
управляющей программы ОС (ее ядра и основных
компонентов) должно позволять настраивать эту
системную супервизорную часть, исходя из
конкретной конфигурации конкретного
вычислительного комплекса и круга решаемых
задач
 Эта процедура проводится редко, перед
достаточно протяженным периодом эксплуатации
ОС
 Процесс осуществляется с помощью специальной
программы-генератора и соответствующего
входного языка. В результате получается полная
версия ОС 5
Принцип функциональной
избыточности
 Возможность проведения одной и той
же работы различными средствами
 В состав ОС могут входить
– Несколько типов супервизоров
– Различные средства организации
межпроцессного взаимодействия
– Несколько систем управления файлами

6
Принцип виртуализации
 Позволяет представить структуру системы в виде
определенного набора планировщиков процессов и
распределителей ресурсов и использовать единую
централизованную схему распределения ресурсов
 Идеальная виртуальная машина
– Единообразная по логике работы память (виртуальная)
практически неограниченного объема
– Произвольное количество процессоров (виртуальных),
способных работать параллельно и взаимодействовать во
время работы
– Произвольное количество внешних устройств
(виртуальных), способных работать с памятью
виртуальной машины параллельно или последовательно,
асинхронно или синхронно по отношению к работе того
или иного виртуального процессора, инициировавшего
работу этих устройств 7
Принцип независимости
 Связь программ с конкретными
устройствами производится не на уровне
трансляции программы, а в период
планирования ее выполнения
 Перекомпиляция при работе программы с
новым устройством не требуется
 Принцип позволяет одинаково
осуществлять управление внешними
устройствами независимо от их конкретных
физических характеристик

8
Принцип совместимости
 Способность ОС выполнять программы,
написанные для других ОС или для более
ранних версий данной ОС, а также для
другой аппаратной платформы
 Двоичная совместимость – исполняемый
файл программы можно запустить в другой
ОС
 Совместимость на уровне исходных текстов

9
Принцип открытой и
наращиваемой ОС
 Открытая ОС доступна для анализа как
пользователям, так и системным
специалистам, обслуживающим систему
 Наращиваемая (модифицируемая,
развиваемая ОС) позволяет не только
использовать возможности генерации, но и
вводить в ее состав новые модули,
совершенствовать существующие и т.д.
 Хорошие возможности для расширения
предоставляет подход к структурированию
ОС по типу клиент/сервер с использованием
микроядерной технологии
10
Принцип мобильности
 ОС должна относительно легко переноситься
с процессора одного типа на процессора
другого типа и с аппаратной платформы
одного типа на аппаратную платформу
другого типа
 Основные правила:
– Большая часть ОС должна быть на писана на
языке, который имеется на всех системах
– Важно минимизировать те части кода, которые
непосредственно взаимодействуют с
аппаратурой
11
Принцип обеспечения
безопасности вычислений
 Обеспечение безопасности
– Защита ресурсов одного пользователя от других
– Установление квот по ресурсам для
предотвращения захвата одним пользователем
всех системных ресурсов
– Защита от несанкционированного доступа
 Документ « Критерии оценки надежных
компьютерных систем» - Оранжевая книга
– 4 класса систем A- D
– D – низший уровень
– А – высший уровень
12
Архитектура ядра
 Монолитное ядро
 Микроядро
– Управление виртуальной памятью
– Процессы и потоки
– Межпроцессное взаимодействие
– Управление поддержкой ввода-вывода и
прерываниями
– управление процессором

13
Свойства систем реального
времени
 Ограничение времени отклика: после
наступления события реакция на него
гарантировано последует до
предустановленного крайнего срока
 Одновременность обработки: даже если
наступает более одного события
одновременно, все временные ограничения
для этих событий должны быть выдержаны

14
Требования к ОС реального
времени
 Мультипрограммность и многозадачность
 Должно существовать понятие приоритета
потока
 Должна существовать система наследования
приоритетов
 ОС должна обеспечивать мощные, надежные
и удобные механизмы синхронизации задач
 Предсказуемость

15
Задачи программирования
 Управление процессами и потоками
– Запуск, приостановка и завершение работы
– Задание или изменение приоритета
– Взаимодействие процессов/потоков между собой
– RPC
 Управление памятью
– Запрос на выделение блока памяти
– Освобождение памяти
– Изменение параметров блока памяти (блокировка)
– Отображение файлов на память
 Управление вводом-выводом
– Запрос на управление виртуальным устройством
– Файловые операции
16
Интерфейс прикладного
программирования (API)

 API, как интерфейс высокого уровня,


принадлежащий к библиотекам RTL
 API прикладных и системных
программ, входящих в поставку ОС
 Прочие API

17
Оценка возможностей API

 Эффективность выполнения функций


API
 Широта предоставляемых
возможностей
 Зависимость прикладной программы от
архитектуры целевой вычислительной
системы

18
Варианты реализации API

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

19
 

Литература
 Системное программное обеспечение / А.В.
Гордеев, А.Ю. Молчанов. – СПб.: Питер, 2002. –
736 с.: ил.
 Олифер В.Г., Олифер Н.А. Сетевые операционные
системы – СПб.: Питер, 2005. – 539 с.: ил.
 Столлингс В. Операционные системы, 4-е издание.:
Пер. с англ. – М.: Издательский дом «Вильямс»,
2002. – 848 с.: ил. – Парал. тит. англ.
 Таненбаум Э. Современные операционные системы,
2-е издание.: – СПб: Питер, 2005. – 1040 с.: ил.
 Бэкон Дж., Харрис Т. Операционные системы. .: –
СПб: Питер, 2004. – 800 с.: ил.
20
Дополнительная информация в
Internet
 Каталог Google > Компьютеры >
Программное обеспечение > Операционные
системы
 http://dir.yahoo.com/Computers_and_Internet/
Software/Operating_Systems/
 http://www.citforum.ru/operating_systems/
 Библиотека анимаций, объясняющих конце
пции операционных систем
 The Operating System Resource Center

21

Вам также может понравиться