Основы операционных...

34
Основы операционных систем (курс лекций) Игорь Алексеевич Малышев [email protected] (С) Кафедра «Компьютерные системы и программные технологии», Санкт-Петербургский политехнический университет Петра Великого

Upload: others

Post on 10-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Основы

операционных систем (курс лекций)

Игорь Алексеевич Малышев

[email protected]

(С) Кафедра «Компьютерные системы и программные технологии»,

Санкт-Петербургский политехнический

университет Петра Великого

Page 2: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 2

Лекция 2

Миры операционных систем

(Часть 2)

Page 3: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 3

Содержание лекции

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Часть 1

Часть 2

Page 4: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 4

План лекции: тема подраздела

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Page 5: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: классы

Классы моделей ОС:

Обобщённые (концептуальные) модели

Определения базового понятия «ОС»

Функциональные модели

Формы функциональных связей компонентов ОС

Структурные модели

Формы структурных связей компонентов ОС

Динамические модели

Формы событийных связей компонентов ОС

Курс "Основы операционных систем" -

Лекция 2 5

Page 6: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: обобщённые модели

Типы обобщённых моделей ОС:

Реактивная система

Система управления ресурсами

Виртуальная машина

Курс "Основы операционных систем" -

Лекция 2 6

Page 7: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: реактивная система

Курс "Основы операционных систем" -

Лекция 2 7

Начало

Конец

Выгрузка ОС

Загрузка ОС Power

Login

Event

«Жизнь» ОС

Shutdown

да

да

да

да

нет

нет

нет

нет

Page 8: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: система управления ресурсами

Курс "Основы операционных систем" -

Лекция 2 8

Потребители

ресурсов

(процессы)

Очереди

к ресурсам

(по типам)

Диспетчер ресурсов: Пулы

ресурсов: «деньги» права

«товары» в наличии

на заказ ?

«аренда» кванты

приоритеты

массивы

списки

и др.

Page 9: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: виртуальная машина

Курс "Основы операционных систем" -

Лекция 2 9

Процессор

Диспетчеры:

процессов

ресурсов

Системная шина

Системная шина

Команды

Процессы

Данные

Ресурсы

Память

Оконный

Рабочий стол

Символьный

Командная строка

Программный

Системные вызовы

Интерфейсы

Ввода /

Вывода

Внутри

ОС

Вне

ОС

Page 10: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: функциональные модели

Типы функциональных моделей ОС:

Субъект – Объект Субъект – постановщик задач

Объект – решаемая задача

Событие – Реакция

Событие – изменение состояния ресурса

Реакция – изменение состояния процесса

Процесс – Ресурс Процесс – обладатель прав

Ресурс – обладатель разрешений

Клиент – Сервер Клиент – процесс-арендатор ресурса

Сервер – процесс-владелец ресурса

Курс "Основы операционных систем" -

Лекция 2 10

Page 11: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: структурные модели – 1

Типы структурных моделей ОС:

А. Предметно-ориентированные модели:

Объектная модель (объекты, управляемые ОС): Процессы (*)

Данные

Устройства

Пользователи

Атрибутивная модель (свойства, управляемые ОС): Активности

Состояния

Носители

Связи

Курс "Основы операционных систем" -

Лекция 2 11

Page 12: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: структурные модели – 2

Типы структурных моделей ОС (продолжение):

B. Фрейм-ориентированные модели:

Сервисная модель (фреймы – сервисы ОС): Ядро ОС (прерывания, ПРОП-ресурсы, процессы, интерфейсы)

Локальные сервисы (файлы, безопасность, диспетчеризация и т.п.)

Сетевые сервисы (сокеты, протоколы, сеансы и т.п.)

Контейнерная модель (фреймы – контейнеры ОС): Applications

Operating System

Platforms

Курс "Основы операционных систем" -

Лекция 2 12

Page 13: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: структурные модели – 3

Типы структурных моделей ОС (продолжение):

B. Файл-ориентированные модели:

Компонентная модель (файлы – компоненты ОС): Драйверы

Диспетчеры

Системный реестр

и т.п.

Кодовая модель (файлы – коды, допустимые в ОС): EXE, ELF, COFF – бинарные форматы исполнимых кодов

MP3, JPG, PDF – бинарные форматы данных

TXT, HTML, XML – ASCII форматы данных

и т.п.

Курс "Основы операционных систем" -

Лекция 2 13

Page 14: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: контейнерная модель – 1

Прототип контейнерной модели –

модель взаимодействия открытых систем (ISO OSI).

Курс "Основы операционных систем" -

Лекция 2 14

Operating System

Platform(-s)

Application(-s) Программы для решения прикладных задач

Операционная система

Вычислительные устройства

(ядра, процессоры, ЭВМ, сети ЭВМ)

Page 15: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: контейнерная модель – 2

Примеры применения контейнерной модели:

Курс "Основы операционных систем" -

Лекция 2 15

A1 A2 An A1 A2 An

A1 A2 An A1 A2 Am

O

P1 P2 Ps

P1 P2 Ps P1 P2 Pk

А) многозадачная, однопроцессорная ОС

O

O (клиент)

P

B) многозадачная, многопроцессорная ОС

C) клиент-серверная, многозадачная, многопроцессорная ОС

O (сервер)

Page 16: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: динамические модели

Типы динамических моделей ОС:

Графовые модели потоков вычислений Однодольные орграфы

(диаграмма состояний процессов ОС)

Двухдольные орграфы

(сети Карла Адама Петри)

Временные диаграммы Событийная шкала времени

(диаграмма клиент-серверного взаимодействия)

(диаграмма распределения ресурсов)

(диаграмма ожидания завершения родственных процессов)

Дискретная шкала времени

(квантование процессорного времени)

(планирование и диспетчеризация процессов)

Курс "Основы операционных систем" -

Лекция 2 16

Page 17: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: диаграмма состояний процесса

Модель «как не заблудиться в трёх соснах ?»

Курс "Основы операционных систем" -

Лекция 2 17

Выполнение

Готовность Ожидание

Исполнение процессором

программного кода процесса

Ожидание (в очереди)

ресурса (не процессора !)

Ожидание (в очереди)

обслуживания процессором «Вход»

в ОС

«Выход»

из ОС

Page 18: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: сеть Петри

Модель состояний ОС (временная диаграмма):

Курс "Основы операционных систем" -

Лекция 2 18

время T начало T конец

состояние «жизнь»

«сон» «сон»

Модель состояний ОС (сеть Петри):

T начало T конец P «жизнь»

P i – позиции

T j – переходы

Page 19: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Модели: диаграмма распределения ресурсов

Модель «как разделить пирог ?»

Курс "Основы операционных систем" -

Лекция 2 19

П 1 Н1 П 1 Н1 Н 2 П 1

Адресное пространство процесса П 1

Только сам процесс Процесс и одна нить Процесс и две нити

время

время

время

П 1

Н 1

Н 2

Page 20: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 20

План лекции: тема подраздела

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Page 21: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Алгоритмы: классы

Классы алгоритмов функционирования ОС: «Конструкторы» алгоритмов (элементы + структуры)

Элементарные операторы

(тип данных – объекты / атрибуты: именование, адресация, связывание)

(тип данных – таблицы / списки: добавление/удаление, поиск, сортировка)

(тип данных – события / состояния: ожидание, синхронизация)

Управляющие структуры

(последовательность, ветвление, итерация, параллельность)

Семейства алгоритмов (решение одной задачи несколькими методами)

Алгоритмы диспетчеризации процессов (FIFO, LIFO, RR)

Алгоритмы замещения виртуальных страниц памяти (FIFO, LRU, NRU)

Алгоритмы обработки сигналов (mask, ignore, terminate)

Именные (авторские) алгоритмы (оригинальные методы решения задач)

Алгоритм Эдсгера Дейкстры (доступ процессов к разделяемому ресурсу)

Алгоритм Лесли Лэмпорта (синхронизация событийных шкал процессов)

Курс "Основы операционных систем" -

Лекция 2 21

Page 22: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Алгоритмы: алгоритм Лесли Лэмпорта – 1

Автор – Leslie Lamport (1978).

Назначение алгоритма:

синхронизация событий на временных шкалах процессов

в распределённой системе («логические часы»).

Ключевые идеи алгоритма:

на множестве событий вводится отношение частичного порядка

«логические часы» присваивают каждому событию каждого процесса

единственное число (значение счётчика событий)

значение счётчика событий (далее - значение) каждого процесса

монотонно увеличивается по правилам:

значение увеличивается перед каждым внутренним событием любого процесса

процесс-отправитель посылает сообщение вместе с меткой равной значению

процесс-получатель устанавливает новое значение равным инкременту (+1)

максимума текущего значения и метки.

Курс "Основы операционных систем" -

Лекция 2 22

Page 23: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Алгоритмы: алгоритм Лесли Лэмпорта – 2

Курс "Основы операционных систем" -

Лекция 2 23

0 6 12 18 24 30 36 42 60 66

0 8 16 24 32 40 51 59 67 75

0 10 20 30 40 50 60 70 80 90

0 10 20 30 40 50 60 70 80 90

0 8 16 24 32 40 48 56 64 72

0 6 12 18 24 30 36 42 48 54

t

Начальные метки

событий

m k n

Конечные метки

событий

t

t

t

Три процесса

m k n

Без изменений

С изменениями

ШАГ = 6

ШАГ = 8

ШАГ = 6

ШАГ = 10

Page 24: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 24

План лекции: тема подраздела

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Page 25: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Стандарты: классы

Классы стандартов ОС:

Стандарты «де-юре»:

Стандарты системных интерфейсов (IEEE 1003)

Стандарты безопасности (DoD 5200.28, DES)

Стандарты стеков сетевых протоколов (ISO OSI – 7 уровней)

Стандарты «де-факто»:

Стандарты самовосстановления конфигурации ОС (учётная запись

суперпользователя – root (Unix), Administrator (Windows))

Стандарты инициализации ОС («нулевой» процесс, корень файловой

системы – / (Unix), C: (Windows))

Стандарты стеков сетевых протоколов (TCP/IP – 4 уровня, SMB/NetBEUI – 2

уровня)

Курс "Основы операционных систем" -

Лекция 2 25

Page 26: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Стандарты: POSIX (IEEE 1003)

POSIX – Portable Operating System Interface for uniX.

Первоначальная цель стандарта (2001 год) –

обеспечение совместимости версий Unix-подобных ОС.

Стандарт определяет:

интерфейсы между ОС и прикладной программой

(системный API)

библиотека языка C

набор приложений и их интерфейсов

Текущая версия стандарта: ISO/IEC/IEEE 9945 2009

POSIX-cертифицированные ОС (примеры): Mac OS X, Solaris, QNX Neutrino.

POSIX-совместимые ОС (примеры): Minix, FreeBSD, OpenSolaris, VxWorks.

Курс "Основы операционных систем" -

Лекция 2 26

Page 27: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Стандарты: «Оранжевая книга» (DoD 5200.28)

«Критерии оценки доверенных компьютерных систем» (1983 год)

TCSEC – Trusted Computer System Evaluation Criteria Автор: Министерство обороны (DoD – Department of Defense) США.

Стандарт определяет 7 категорий безопасности ОС

(в порядке увеличения степени безопасности):

D – минимальная защита

С1 – избирательная защита

С2 – декреционный контроль доступа (сертификат: ОС MS Windows NT 3.51)

B1 – мандатный контроль доступа

B2 – структурированная защита

B3 – домены безопасности

A – верифицированная разработка

Текущий международный стандарт (1999 год):

Common Criteria for Information Technology Security Evaluation

Курс "Основы операционных систем" -

Лекция 2 27

Page 28: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 28

План лекции: тема подраздела

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Page 29: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Продукты: классы

Классы программных продуктов:

ОС для типов решаемых прикладных задач (вычислений): Учебные

Офисные

Серверные

Мобильные

Облачные

Управляющие

ОС для компьютеров (конфигураций вычислительных систем): x86 / x64 - совместимые

Персональные компьютеры

Маршрутизаторы сетевого трафика

Суперкомпьютеры

Специализированные компьютеры (игровые консоли и т.п.)

ОС для пользователей (потребителей рынка ОС): Ядра ОС

Оболочки ядер ОС

Сервисы ОС

Курс "Основы операционных систем" -

Лекция 2 29

Page 30: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Продукты: ОС, клоны ОС, спецОС

Операционные системы общего назначения:

Windows-совместимые:

MS DOS (клоны: Windows 3.1, Windows 95, Windows 98).

MS Windows NT (клоны: Windows 2000, Windows XP, Windows Server 2003,

Windows Vista, Windows Server 2008, Windows 7, Windows 8, Windows 10).

Unix-совместимые:

Unix (клоны: System V, SunOS, Solaris, FreeBSD, NetBSD).

Linux (клоны: RedHat, Debian, Mandriva, Fedora, Ubuntu).

Специализированные операционные системы:

Системы «жёсткого» реального времени

VxWorks (WindRiver Systems), QNX Neutrino RTOS (QNX Software Systems)

Системы «мягкого» реального времени

функциональные расширения ОС общего назначения

Курс "Основы операционных систем" -

Лекция 2 30

Page 31: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 31

План лекции: тема подраздела

Мир вычислений

Мир терминов

Мир возможностей

Мир ограничений

Мир моделей

Мир алгоритмов

Мир стандартов

Мир продуктов

Мир потребностей

Page 32: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Потребности: классы

Классы потребностей в ОС:

Профессиональные потребности:

Программисты (автоматизированные и/или автоматические подготовка и

решение алгоритмических задач).

Администраторы (назначение и мониторинг отношений владения и

пользования вычислительными и программными ресурсами).

Производственно-технологические потребности:

Машины и оборудование (целевое управление функционированием).

Программы (доступ к ресурсам, интерпретация кодов, безопасность)

Пользователи (электронный документооборот, САПР, АСУТП).

Личностные потребности:

Коммуникации (текстовые, звуковые, видео и т.п.) между людьми и

формирование информационных интерфейсов «человек-машина».

Модели виртуальной реальности (обучение – тренажёры, развлечения – игры,

реабилитация – сенсорные адаптеры).

Курс "Основы операционных систем" -

Лекция 2 32

Page 33: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Потребности: модели виртуальной реальности

Автоматизированные обучающие системы (АОС):

Курс "Основы операционных систем" -

Лекция 2 33

Вычислительная

машина

Персональный

компьютер

Операционная система

Менеджер виртуальных машин

VirtualBox

VM

Windows 8.1

VM

Ubuntu 16.04

#!/bin/bash

# our comment

echo “Current dir :”

pwd

‘ our comment

Dim Button

Button = MsgBox(“_

Press any button”,2,_

“Title”)

Page 34: Основы операционных системkspt.icc.spbstu.ru/media/files/2017/course/basicos/BOS_L02.pdf · Лекция 2 3 Содержание ... Мир потребностей

Курс "Основы операционных систем" -

Лекция 2 34

Спасибо за внимание !

Вопросы ?