1.22M
Category: softwaresoftware

Лекция №2. Классификация ОС, концепция и структура ОС

1.

Учебный курс
«ОРГАНИЗАЦИЯ
ОПЕРАЦИОННЫХ СИСТЕМ»
Преподаватель каф. КИБ:
ст. преп. Зуева Екатерина Александровна

2.

Классификация ОС,
концепция и структура ОС
Лекция 2

3.

Классификация ОС, концепция и
структура ОС
1. Краткая эволюция ОС.
2. Архитектура ОС.
3. Классификация ОС.
4. Требования, предъявляемые к ОС.
5. Принципы разработки архитектуры ОС.
6. Множественные прикладные среды.
Совместимость

4.

Краткая эволюция ОС

5.

Краткая эволюция ОС
Многопрограммные ОС
Второе поколение
(первое
поколение)
однопрограммные ОС
Отсутствие ОС
1970 Динамическое распределение основной памяти
Разделение времени, многотерминальные системы
1965 Управляемое мультипрограммирование
Классическое мультипрограммирование, OS/360
ОС CTSS (1963), MULTICS (начало работ)
Оверлейные структуры
Логическая система управления вводом-выводом
1960 Системы прерываний, контрольные точки
Управление файлами, таймеры
Спулинг (SPOOL)
Мониторы
1955 Методы доступа, полибуферизация
Загрузчики, редакторы связей
1950 Диагностические программы
Ассемблеры, макрокоманды
Библиотеки подпрограмм
1946 Первый компьютер

6.

2014 Windows 10
2012 Windows 8
2007 Windows Vista, Windows 7
2005 Windows 2003, 64-разрядная
распре2003 Windows 2003
делен.NET Framework, MAC OS X
ные
2000 Windows 2000
ОС
Windows 4.0 – 1996
1995 Windows 95
многочетвертое
Корпоративные информационные системы
процеспоколение
NetWare 4.0 – 93, Windows NT 3.1 – 93
сорные
ОС
Linux 0.01 - 1993
ОС
1990 MINIX – 87 (11800 стр. С + 800 стр. Asm.)
сетевые многоOS/2 - 87
ОС машинные
1985 OS-Net (Novell), MS-Net, Windows 1.0 (1985)
ОС
Интернет (1983), Персон-е комп-ры(1981)
MS DOS 1.0 – (1981)
1980 Сети ЭВМ, UNIX, TCP/IP
третье
Локальные сети
поколение
1975 SNA (System Network Architecture),
MULTICS
Протокол X.25, телеобработка, базы данных
1965
Виртуальная ЭВМ, Виртуальная память

7.

Классификация ОС
Реализация многозадачности
По числу одновременно выполняемых задач:
– многозадачные (Unix, OS/2, Windows);
– однозадачные (например, MS-DOS).
Поддержка многопользовательского режима
По числу одновременно работающих пользователей
ОС можно разделить на:
– однопользовательские (MS-DOS, Windows 3.x);
– многопользовательские (Windows 2000, XP, Unix).
Наиболее существенное отличие между этими ОС
заключается в наличии у многопользовательских
систем механизмов защиты персональных данных
каждого пользователя.

8.

Классификация ОС
Многопроцессорная обработка
Вплоть до недавнего времени вычислительные системы имели
один центральный процессор. В результате требований к
повышению производительности появились многопроцессорные
системы, состоящие из двух и более процессоров общего
назначения, осуществляющих параллельное выполнение
команд.
Поддержка мультипроцессирования является важным свойством
ОС и приводит к усложнению всех алгоритмов управления
ресурсами. Многопроцессорная обработка реализована в Linux,
Solaris, Windows NT, и ряде других.
Многопроцессорные ОС разделяют на симметричные и
асимметричные.
– В симметричных ОС на каждом процессоре функционирует
одно и то же ядро, и задача может быть выполнена на любом
процессоре, то есть обработка полностью децентрализована.
При этом каждому из процессоров доступна вся память.
– В асимметричных ОС процессоры неравноправны. Обычно
существует главный процессор (master) и подчиненные
(slave), загрузку и характер работы которых определяет
главный процессор.

9.

Классификация ОС
Системы реального времени
В разряд многозадачных ОС, наряду с пакетными
системами и системами разделения времени,
включаются также системы реального времени.
Они используются для управления различными
техническими объектами или технологическими
процессами.
Такие
системы
характеризуются
предельно допустимым временем реакции на
внешнее событие, в течение которого должна быть
выполнена программа, управляющая объектом.
Система
должна
обрабатывать
поступающие
данные быстрее, чем они могут поступать, причем от
нескольких источников одновременно.

10.

Состав компонентов и функции ОС
1. Управление процессами
2. Управление памятью
3. Управление файлами
4. Управление внешними устройствами
5. Защита данных
6. Администрирование
7. Интерфейс прикладного программирования
8. Пользовательский интерфейс

11.

ОСНОВНЫЕ ПРИНЦИПЫ РАЗРАБОТКИ АРХИТЕКТУРЫ ОС
1. Концепция многоуровневой иерархической вычислительной
системы (виртуальной машины) с ОС многослойной
структуры.
2. Разделение модулей ОС по функциям на две группы: ядро –
модули, выполняющие основные функции ОС, и модули,
выполняющие остальные (вспомогательные) функции.
3. Разделение модулей ОС по размещению в памяти
вычислительной
системы:
резидентные,
постоянно
находящиеся в ОЗУ, и транзитные, загружаемые в ОЗУ только
на время выполнения своих функций.
4. Реализация двух режимов работы вычислительной системы:
привилегированного режима (режима ядра – kernel mode) или
режима супервизора (supervisor) и пользовательского режима
(user mode) или режима задача (task mode).
5. Ограничение функций ядра (а, следовательно и числа его
модулей) до минимально необходимых функций.

12.

6. Модульное строение (однократно используемые – при
загрузке ОС) и повторно используемые (привилегированные –
не допускают прерываний, реентерабельные – допускают
прерывания и повторный запуск, повторновходимые –
допускают прерывания после завершения секций).
7. Параметрическая универсальность. Возможность генерации
ОС и создания нескольких рабочих конфигураций.
8. Функциональная избыточность.
9. Функциональная избирательность.
10.
Открытость,
модифицируемость,
расширяемость
(возможность получения текстов исходных модулей).
11. Мобильность – возможность
аппаратные платформы.
переноса
на
различные
12. Совместимость – возможность выполнения приложений,
рассчитанных на другие ОС.
13. Безопасность – защита от несанкционированного доступа,
защита легальных пользователей друг от друга, аудит,
12
возможность восстановления ОС после сбоев и отказов.

13.

Требования, предъявляемые к ОС
1. Эффективность – степень соответствия
своему назначению, техническое совершенство
и экономическая целесообразность
2. Надежность и отказоустойчивость
3. Безопасность (защищенность)
4. Предсказуемость
5. Расширяемость
6. Переносимость
7. Совместимость
8. Удобство
9. Масштабируемость
13

14.

Множественные прикладные среды.
Совместимость
Совместимость – возможность ОС выполнять
приложения, разработанные для других ОС.
Виды совместимости:
1. На двоичном уровне (уровень исполняемой программы).
2. На уровне исходных текстов (уровень исходного модуля).
Вид совместимости определяется:
1. Архитектурой центрального процессора.
2. Интерфейсом прикладного программирования (API).
3. Внутренней структурой исполняемого файла.
4. Наличием соответствующих компиляторов и библиотек.
Способы достижения совместимости:
1. Эмуляция двоичного кода.
2. Трансляция библиотек.
3. Создание множественных прикладных сред различной арх-ры.

15.

Прикладная среда OS2
Обычное
приложение
OS1
Прикладная среда OS3
Приложение
Приложение
OS2
OS3
API OS2
API OS3
Пользовательский
режим
Привилегированный режим
API OS1
Менеджеры ресурсов
Базовые механизмы
Машинно-независимые задачи
15

16.

Приложение
OS1
Приложение
OS2
Пользовательский
режим
Привилегированный
режим
API OS1
API OS2
API OS3
Менеджеры ресурсов
Базовые механизмы
Машинно-независимые задачи
Приложение
OS3

17.

Приложения
Серверы ОС
Сетевой
сервер
Приложение
OS2
Приложение
OS1
Сервер
безопасности
Пользовательский
режим
Приложение
OS3
Прикладная
программная
среда OS3
Привилегированный
режим
МИКРОЯДРО
Прикладная
программная
среда OS2
Прикладная
программная
среда OS1

18.

Способы работы с программами разных ОС на 1
компьютере
Способ №1: многовариантная загрузка
Популярный способ.
Жесткий диск компьютера разбивается на несколько
разделов и на каждый из них устанавливается своя ОС.
Настраивается менеджер многовариантной загрузки,
позволяющий выбрать ОС при загрузке компьютера.
При таком подходе невозможно одновременно работать
с приложениями разных ОС и для смены ОС необходимо
перезагрузить компьютер. Зато ОС и их приложения
исполняются без потерь в скорости и надежности. Если
ОС совместимы по типу файловой системы, то
возможно создание общего раздела для обмена файлов
между ними.

19.

Способ №2: эмуляция API ОС
Приложения работают в изолированном адресном
пространстве и взаимодействуют с оборудованием при
помощи API, предоставляемым ОС. Если ОС совместимы
по своим API (например, Windows 98 и Windows 2000), то
приложения, разработанные для одной из них, будут
работать и на другой. Если ОС несовместимы по своим API
(например, Windows и Linux), то можно перехватить
обращения приложений к API и сымитировать поведение
одной ОС средствами другой. При таком подходе можно
поставить одну ОС и работать одновременно как с ее
приложениями, так и с приложениями другой ОС.
Поскольку весь код приложения исполняется без эмуляции
и
лишь
вызовы
API
эмулируются,
потеря
в
производительности незначительная. Но из-за того что
многие приложения используют недокументированные
функции API или обращаются к ОС в обход API даже
хорошие эмуляторы API имеют проблемы совместимости.

20.

Способ №3: полная эмуляция
Проекты, выполненные по технологии полной
эмуляции
работают
как
интерпретаторы.
Они
последовательно выбирают код гостевой ОС и
эмулируют
поведение
каждой
отдельно
взятой
инструкции. Поскольку при этом полностью эмулируется
поведение как процессора, так и всех внешних
устройств виртуального Intel x86 компьютера, то
существует возможность запускать эмулятор на
компьютерах с совершенно другой архитектурой.
Скорость работы гостевых приложений может упасть в
100-1000 раз, что означает практическую невозможность
нормальной работы с гостевой ОС внутри эмулятора.
Полная эмуляция используется редко (низкоуровневых
отладчиков для исследования и трассировки ОС).

21.

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

22.

Способ №4: виртуальная машина эмулирует реальное
аппаратное обеспечение (квазиэмуляция)
Идея естественной виртуализации: поверх аппаратного
уровня (физический сервер) располагается уровень
монитора виртуальных машин VMM (гипервизор).
Гипервизор
полностью
эмулирует
компьютер,
и способен поддерживать выполнение более чем одной
ОС. На VMM выполняются так называемые гостевые ОС
(guest OS) виртуальных машин, непосредственно
поддерживающие работу приложений.

23.

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

24.

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

25.

Гипервизоры
Виртуализация ― это создание гибкой замены реальных
ресурсов – с теми же функциями и внешними интерфейсами,
что и у физических прототипов, но с разными атрибутами,
такими как размер, производительность и стоимость. Такая
замена
называется
виртуальными
ресурсами,
и
пользователи, как правило, не знают об этой замене.
Виртуализация
обычно
применяется
к
физическим
аппаратным ресурсам путем объединения нескольких
физических ресурсов в общие пулы, из которых
пользователи получают виртуальные ресурсы. С помощью
виртуализации из одного физического ресурса можно
сделать
несколько
виртуальных.
Дает
следующие
преимущества:
•консолидация
с
целью
уменьшения
стоимости
оборудования;
•оптимизация рабочей нагрузки;
•гибкость и оперативность ИТ-услуг.

26.

27.

Существует два типа гипервизоров:
1.гипервизоры типа 1
2.гипервизоры типа 2.
Гипервизоры типа 1 работают непосредственно на
оборудовании системы. Гипервизоры типа 2 работают
поверх
базовой
операционной
системы,
которая
обеспечивает службы виртуализации, такие как поддержка
устройства ввода/вывода и управление памятью. На рисунке
показано, чем различаются гипервизоры типа 1 и типа 2.

28.

29.

29

30.

ЭТО
ВСЕ
НА СЕГОДНЯ
И НА ЭТУ
ТЕМУ
ВООБЩЕ
30
English     Русский Rules