Лекция 2. Требования к современным операционным системам (ОС) . Функциональные компоненты ОС автономного компьютера
Требования к современным ОС
Классификация ОС
Классификация ОС
Классификация ОС
Функциональные компоненты операционной системы автономного компьютера
Классификация подсистем ОС автономного ПК
Подсистема управления процессами
Основные функции подсистемы управления процессами
Подсистема управления памятью (основные функции)
Подсистема управления файлами и внешними устройствами
Классификация драйверов
Подсистемы защиты данных
Отказоустойчивость
Подсистема пользовательского интерфейса
Интерфейс прикладного программирования
Архитектура ОС. Многослойная и микроядерная архитектуры
Обычный состав ОС
Обычный принцип построения ОС
Функции ядра
Архитектура операционной системы с ядром в привилегированном режиме
Вспомогательные модули ОС
Основные свойства ядра
Отличия привилегированного и пользовательского режима работы
Разновидности ядер ОС
«Многослойный» подход
Преимущества «многослойного» подхода
Слои ядра
Классическая архитектура (на базе ядра)
Перенос функций ядра в пользовательское пространство (микроядро)
Микроядерная архитектура (реализация системного вызова)
Преимущества и недостатки микроядерной архитектуры
Причины потери производительности при микроядерной архитектуре
Исполнительная подсистема
135.60K
Категория: ИнформатикаИнформатика

Требования к современным операционным системам (ОС). Функциональные компоненты ОС автономного компьютера

1. Лекция 2. Требования к современным операционным системам (ОС) . Функциональные компоненты ОС автономного компьютера

2. Требования к современным ОС

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

3. Классификация ОС

Поддержка многозадачности
однозадачные
многозадачные
с вытесняющей многозадачностью
с не вытесняющей многозадачностью
Поддержка многопоточности
многопоточные
не поддерживают понятия потока
3

4. Классификация ОС

Поддержка многопользовательского режима:
однопользовательские (MS-DOS, ранние версии OS/2)
многопользовательские (UNIX, Windows NT/2000/XP)
Многопроцессорная обработка:
поддержка мультипроцессирования
не поддерживает мультипроцессорную обработку
Поддержка сети:
сетевые ОС
не сетевые ОС
4

5. Классификация ОС

Особенности аппаратных платформ
ОС для персональных компьютеров
ОС для мини-компьютеров
ОС для мейнфреймов
ОС для кластеров и сетей ЭВМ
Особенности областей использования (критерий
эффективности)
системы пакетной обработки (OC EC),
системы разделения времени (UNIX, VMS, Windows
NT/2000/XP)
системы реального времени (QNX, RT/11)
5

6. Функциональные компоненты операционной системы автономного компьютера

Функции
операционной
системы
автономного
компьютера
обычно
группируются
либо
в
соответствии с типами локальных ресурсов, которыми
управляет ОС, либо в соответствии со специфическими
задачами, применимыми ко всем ресурсам. Иногда
такие группы функций называют подсистемами
6

7. Классификация подсистем ОС автономного ПК

Функции (подсистемы) ОС автономного
компьютера
подсистемы (п/c),
соответствуют типам
локальных ресурсов
подсист
ема
управле
ния
процесс
ами
п/с
управ.
памят
ью
(опера
тивно
й)
п/с
ввод
авыво
да
общие подсистемы
подсист
ема
пользов
ательск
ого
интерф
ейса
подси
стема
безоп
аснос
ти
подси
стема
адми
нистр
ирова
ния
7

8. Подсистема управления процессами

Основные понятия:
Под процессом в общем случае понимается программа в стадии
выполнения
Процесс можно также определить как некоторую заявку на
потребление системных ресурсов.
В мультипрограммной операционной системе одновременно может
существовать несколько процессов
Часть процессов порождается по инициативе пользователей и их
приложений, такие процессы обычно называют пользовательскими
Процессы, называемые системными, инициализируются самой
операционной системой для выполнения своих функций.
Совокупность всех областей оперативной памяти, выделенных
операционной системой процессу, называется его адресным
пространством.
8

9. Основные функции подсистемы управления процессами

создание и уничтожение процессов (т.е. структур данных,
связанных с процессами)
поддержание очередей заявок процессов на ресурсы
защита ресурсов, выделенных данному процессу, от
остальных процессов организовывать совместное
использование ресурсов
обеспечивать прерывание и возобновление некоторого
процесса
функции синхронизации процессов, позволяющие
процессу приостанавливать свое выполнение до
наступления какого-либо события в системе
предоставить средства межпроцессного взаимодействия
9

10. Подсистема управления памятью (основные функции)

распределение имеющейся физической памяти между
всеми существующими в системе в данный момент
процессами (выделение и освобождение памяти)
загрузка кодов и данных процессов в отведенные им
области памяти
настройка адресно-зависимых частей кодов процесса на
физические адреса выделенной области
защита областей памяти каждого процесса (избирательная
способность предохранять выполняемую задачу от записи
или чтения памяти, выделенной другой задаче)
10

11. Подсистема управления файлами и внешними устройствами

Основные определения:
Файл - простая неструктурированная последовательность
байтов, имеющей символьное имя.
Драйвер - программа, управляющая конкретной моделью
внешнего устройства и учитывающая все его особенности
Файловая система ОС выполняет:
преобразование символьных имен файлов, с которыми
работает пользователь или прикладной программист, в
физические адреса данных на диске,
организует совместный доступ к файлам,
защищает их от несанкционированного доступа.
11

12. Классификация драйверов

Драйвер
управляет конкретным
устройством
управляет группой
устройств
Драйвер
изготовлены фирмой,
производителем устройства
изготовлены фирмой –
производителем ОС
12

13. Подсистемы защиты данных

Безопасность данных вычислительной системы
обеспечивается:
средствами отказоустойчивости ОС, направленными на
защиту от сбоев и отказов аппаратуры и ошибок
программного обеспечения
средствами защиты от несанкционированного доступа
(ОС защищает данные от ошибочного или злонамеренного
поведения пользователей системы).
13

14. Отказоустойчивость

Поддержка отказоустойчивости реализуется операционной
системой, как правило, на основе :
резервирования
использования отказоустойчивых дисковых систем
использования восстанавливаемых ФС
14

15. Подсистема пользовательского интерфейса

Возможности
операционной
системы
доступны
прикладному программисту в виде набора функций,
называющегося
интерфейсом
прикладного
программирования
(Аррlication
Programming
Interface, АРI).
API- функции используются:
когда для выполнения тех или иных действий им
требуется особый статус, которым обладает только
операционная система
помимо этих функций прикладной программист может
воспользоваться набором сервисных функций ОС,
которые упрощают написание приложений.
15

16. Интерфейс прикладного программирования

для Windows-систем – Win32
для UNIX-систем - POSIX
16

17. Архитектура ОС. Многослойная и микроядерная архитектуры

18.

Функциональная сложность
операционной системы =>
сложность ее архитектуры
18

19. Обычный состав ОС

исполняемые и объектные модули стандартных для
данной ОС форматов
библиотеки разных типов
модули исходного текста программ
программные модули специального формата (например,
загрузчик ОС, драйверы ввода-вывода)
конфигурационные файлы
файлы документации
модули справочной системы
др. файлы
19

20. Обычный принцип построения ОС

Разделение всех ее модулей на две группы:
ядро – модули, выполняющие основные функции
ОС;
модули, выполняющие вспомогательные функции
ОС.
20

21. Функции ядра

решающие внутрисистемные задачи организации
вычислительного процесса (такие как переключение
контекстов, загрузка/выгрузка страниц, обработка
прерываний), эти функции недоступны для приложений
другой класс функций ядра служит для поддержки
приложений, функции ядра, которые могут вызываться
приложениями, образуют интерфейс прикладного
программирования – АРI
21

22. Архитектура операционной системы с ядром в привилегированном режиме

Утилиты
ОС
Системные
обрабатывающие
программы
Приложения
пользователей
Пользовательский
режим
Ядро ОС
Привилегированный
режим
22

23. Вспомогательные модули ОС

Вспомогательные модули ОС обычно подразделяются на следующие
группы:
утилиты – программы, решающие отдельные задачи управления и
сопровождения компьютерной системы, такие, например, как
программы работы с дисками (архиваторы, дефрагментаторы,
программы разметки диска ит.д.), архивирования данных на
магнитную ленту;
системные обрабатывающие программы – текстовые или
графические редакторы, компиляторы, компоновщики, отладчики;
программы предоставления пользователю дополнительных услуг –
специальный вариант пользовательского интерфейса, калькулятор и
даже игры;
библиотеки процедур различного назначения, упрощающие
разработку приложений, например, библиотека математических
функций, функций ввода-вывода и т. д.
23

24. Основные свойства ядра

резидентно находится в оперативной памяти (для
повышение производительности работы системы)
работает в привилегированном режиме («режиме ядра»),
причины:
некорректно
работающее
приложение
может
вмешаться в работу ОС
Операционная
система
должна
обладать
исключительными полномочиями также для того,
чтобы играть роль арбитра в споре приложений за
ресурсы компьютера в мультипрограммном режиме
24

25. Отличия привилегированного и пользовательского режима работы

запрет выполнения в пользовательском режиме некоторых
критичных команд, связанных с переключением
процессора с задачи на задачу, управлением устройствами
ввода-вывода, доступом к механизмам распределения и
защиты памяти
обеспечиваются привилегии ОС при доступе к памяти
(выполнение инструкции доступа к памяти для
приложения разрешается, если инструкция обращается к
области памяти, отведенной данному приложению
операционной системой, и запрещается при обращении к
областям памяти, занимаемым ОС или другими
приложениями)
25

26. Разновидности ядер ОС

Ядро ОС
монолитное
многослойное
микроядро
26

27.

к слою k+2
f1k+1(f1k, f2k,…) f2k+1(f1k, f2k,…)
...
слой k+1
межслойный
интерфейс
f1k(f1k-1, f2k-1,…)
...
слой k
f1
k-1(…)
f2k-1(…)
к слою k-1
Концепция многослойного
взаимодействия
27

28. «Многослойный» подход

система состоит из иерархии слоев, каждый слой отвечает
за выполнение функций определенного уровня иерархии
Каждый слой обслуживает вышележащий слой, выполняя
для него некоторый набор функций, которые образуют
межслойный интерфейс
строгие правила касаются только взаимодействия между
слоями системы, а между модулями внутри слоя связи
могут быть произвольными
28

29. Преимущества «многослойного» подхода

Существенно упрощается разработка системы (сначала
«сверху
вниз»-определяются
функции
слоев
и
межслойные интерфейсы, затем «снизу вверх», детальная
реализация слоев, наращивая их мощь)
Простая модернизация системы (можно изменять модули
внутри слоя без необходимости внесения изменений в
других слоях)
29

30. Слои ядра

Средства аппаратной поддержки ОС (например, средства поддержки
привилегированного режима, система прерываний, средства
поддержки переключения контекстов и т.д.).
Машинно-зависимые компоненты ОС (программные модули, в
которых отображается специфика аппаратной платформы ПК)
Базовые механизмы ядра (примитивные операции ядра: переключение
контекстов, диспетчеризация прерываний, перемещение страниц из
памяти на диск)
Менеджеры ресурсов (реализует стратегические задачи по
управлению ресурсами)
Интерфейс системных вызовов (непосредственно взаимодействует с
приложениями и системными утилитами)
30

31. Классическая архитектура (на базе ядра)

Выводы:
Все основные функции операционной системы, составляющие
многослойное ядро, выполняются в привилегированном
режиме.
Некоторые вспомогательные функции ОС оформляются в виде
приложений и выполняются в пользовательском режиме наряду
с обычными пользовательскими программами (становясь
системными утилитами или обрабатывающими программами).
Каждое приложение пользовательского режима работает в
собственном адресном пространстве и защищено тем самым от
какого-либо вмешательства других приложений.
Код ядра, выполняемый в привилегированном режиме, имеет
доступ к областям памяти всех приложений, но сам полностью
от них защищен. Все основные функции операционной
системы, составляющие многослойное ядро, выполняются в
привилегированном режиме.
Приложения обращаются к ядру для выполнения системных
функций
31

32. Перенос функций ядра в пользовательское пространство (микроядро)

Приложения
пользовател
Приложения
ей
пользователей Утилиты ОС
Утилиты
ОС
Серверы ОС
Пользовательский режим
Привилегированный
режим
Ядро ОС
а
Микрояд
ро ОС
б
32

33. Микроядерная архитектура (реализация системного вызова)

Приложения
пользователей
файловы
й сервер
сетевой
сервер
сервер
процессо
в
Сообщение - ответ
Сообщение - запрос
сервер
безопаснос
ти
Микроядро
33

34. Преимущества и недостатки микроядерной архитектуры

Преимущества:
переносимость
расширяемость
повышение надежности
Недостаток:
понижение производительности
34

35. Причины потери производительности при микроядерной архитектуре

а
Приложение
Приложение
Ядро
t
t
Приложение
Сервер ОС
Микро
ядро
б
t
t
t
Приложение
Микроядро
t
35

36.

Приложения
Процесс регистр.
в системе
Защищен
Клиент
OS/2
Подсистем
а
OS/2
е
Подсистема
подсистемы
защиты
ДО
Системные сервисы
СМЗ ДП
LPC ДВП
Ядро
Клиент
Клиент
OS/2
Подсистема
POSIX
Подсистема
WIN32
Пользовательский режим
Режим ядра
Диспетчер ввода/вывода
Файловые системы
Диспетчер кэша
Драйверы устройств
Слой абстрагирования от оборудования (HAL)
Аппаратура
. Структурная схема операционной системы Windows NT
36

37. Исполнительная подсистема

Диспетчер объектов (ДО). Создает, поддерживает и уничтожает
объекты исполнительной системы NT
Справочный монитор защиты (СМЗ). Гарантирует выполнение
политики защиты на локальном компьютере
Диспетчер процессов (ДП). Создает и завершает процессы и потоки
Средство локального вызова процедур (LPC). Передает сообщения
между клиентскими и серверными процессами, расположенными на
одном и том же компьютере
Диспетчер виртуальной памяти (ДВП). Реализует виртуальную
память
Слой абстрагирования от оборудования (НАL). Помещает кодовую
прослойку между исполнительной системой NТ и аппаратной
платформой, на которой работает ОС, скрывает аппаратно –
зависимые детали
37
English     Русский Правила