Академический Документы
Профессиональный Документы
Культура Документы
1
Основные принципы построения
операционных систем
Принцип модульности
Принцип функциональной избирательности
Принцип генерируемости ОС
Принцип функциональной избыточности
Принцип виртуализации
Принцип независимости программ от внешних
устройств
Принцип совместимости
Принцип открытой и наращиваемой ОС
Принцип мобильности (переносимости)
Принцип обеспечения безопасности вычислений
2
Принцип модульности
Под модулем понимают функционально
законченный элемент, выполненный в
соответствии с принятыми межмодульными
интерфейсами
Возможность замены модуля на другой
модуль с таким же межмодульным
интерфейсом
Особо важное значение при построении ОС
имеют привилегированные, повторно
входимые и реентерабельные модули
3
Принцип функциональной
избирательности
В ОС выделяется некоторая часть важных
модулей, которые должны постоянно
находится в оперативной памяти для более
эффективной работы. Эту часть ОС
называют ядром, так как это действительно
основа системы.
Два противоречивых требования:
– В состав ядра должны войти наиболее часто
используемые модули
– Количество модулей должно быть таким, чтобы
объем, памяти занимаемой ядром был не
слишком большим 4
Принцип генерируемости ОС
Исходное представление центральной системной
управляющей программы ОС (ее ядра и основных
компонентов) должно позволять настраивать эту
системную супервизорную часть, исходя из
конкретной конфигурации конкретного
вычислительного комплекса и круга решаемых
задач
Эта процедура проводится редко, перед
достаточно протяженным периодом эксплуатации
ОС
Процесс осуществляется с помощью специальной
программы-генератора и соответствующего
входного языка. В результате получается полная
версия ОС 5
Принцип функциональной
избыточности
Возможность проведения одной и той
же работы различными средствами
В состав ОС могут входить
– Несколько типов супервизоров
– Различные средства организации
межпроцессного взаимодействия
– Несколько систем управления файлами
6
Принцип виртуализации
Позволяет представить структуру системы в виде
определенного набора планировщиков процессов и
распределителей ресурсов и использовать единую
централизованную схему распределения ресурсов
Идеальная виртуальная машина
– Единообразная по логике работы память (виртуальная)
практически неограниченного объема
– Произвольное количество процессоров (виртуальных),
способных работать параллельно и взаимодействовать во
время работы
– Произвольное количество внешних устройств
(виртуальных), способных работать с памятью
виртуальной машины параллельно или последовательно,
асинхронно или синхронно по отношению к работе того
или иного виртуального процессора, инициировавшего
работу этих устройств 7
Принцип независимости
Связь программ с конкретными
устройствами производится не на уровне
трансляции программы, а в период
планирования ее выполнения
Перекомпиляция при работе программы с
новым устройством не требуется
Принцип позволяет одинаково
осуществлять управление внешними
устройствами независимо от их конкретных
физических характеристик
8
Принцип совместимости
Способность ОС выполнять программы,
написанные для других ОС или для более
ранних версий данной ОС, а также для
другой аппаратной платформы
Двоичная совместимость – исполняемый
файл программы можно запустить в другой
ОС
Совместимость на уровне исходных текстов
9
Принцип открытой и
наращиваемой ОС
Открытая ОС доступна для анализа как
пользователям, так и системным
специалистам, обслуживающим систему
Наращиваемая (модифицируемая,
развиваемая ОС) позволяет не только
использовать возможности генерации, но и
вводить в ее состав новые модули,
совершенствовать существующие и т.д.
Хорошие возможности для расширения
предоставляет подход к структурированию
ОС по типу клиент/сервер с использованием
микроядерной технологии
10
Принцип мобильности
ОС должна относительно легко переноситься
с процессора одного типа на процессора
другого типа и с аппаратной платформы
одного типа на аппаратную платформу
другого типа
Основные правила:
– Большая часть ОС должна быть на писана на
языке, который имеется на всех системах
– Важно минимизировать те части кода, которые
непосредственно взаимодействуют с
аппаратурой
11
Принцип обеспечения
безопасности вычислений
Обеспечение безопасности
– Защита ресурсов одного пользователя от других
– Установление квот по ресурсам для
предотвращения захвата одним пользователем
всех системных ресурсов
– Защита от несанкционированного доступа
Документ « Критерии оценки надежных
компьютерных систем» - Оранжевая книга
– 4 класса систем A- D
– D – низший уровень
– А – высший уровень
12
Архитектура ядра
Монолитное ядро
Микроядро
– Управление виртуальной памятью
– Процессы и потоки
– Межпроцессное взаимодействие
– Управление поддержкой ввода-вывода и
прерываниями
– управление процессором
13
Свойства систем реального
времени
Ограничение времени отклика: после
наступления события реакция на него
гарантировано последует до
предустановленного крайнего срока
Одновременность обработки: даже если
наступает более одного события
одновременно, все временные ограничения
для этих событий должны быть выдержаны
14
Требования к ОС реального
времени
Мультипрограммность и многозадачность
Должно существовать понятие приоритета
потока
Должна существовать система наследования
приоритетов
ОС должна обеспечивать мощные, надежные
и удобные механизмы синхронизации задач
Предсказуемость
15
Задачи программирования
Управление процессами и потоками
– Запуск, приостановка и завершение работы
– Задание или изменение приоритета
– Взаимодействие процессов/потоков между собой
– RPC
Управление памятью
– Запрос на выделение блока памяти
– Освобождение памяти
– Изменение параметров блока памяти (блокировка)
– Отображение файлов на память
Управление вводом-выводом
– Запрос на управление виртуальным устройством
– Файловые операции
16
Интерфейс прикладного
программирования (API)
17
Оценка возможностей 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