Операционные системы. Введение (часть 2)

Содержание

Слайд 2

Джон фон Нейман (John Von Neumann)
EDVAC (Electronic Discrete Variable Computer —Электронный Компьютер

Джон фон Нейман (John Von Neumann) EDVAC (Electronic Discrete Variable Computer —Электронный
Дискретных Переменных)
«Предварительный доклад о компьютере EDVAC» (A First Draft Report on the EDVAC)
Джон Мочли (John Mauchly) и Джон Преспер Эккерт (John Presper Eckert)
ENIAC  (Electronic Numerical Integrator And Computer)

Компьютер фон Неймана

Историческая справка

Слайд 3

Компьютер фон Неймана

Структура, основные компоненты компьютера фон Неймана

Принципы построения компьютера фон

Компьютер фон Неймана Структура, основные компоненты компьютера фон Неймана Принципы построения компьютера
Неймана

1. Принцип двоичного кодирования

2. Принцип программного управления

3. Принцип хранимой программы

Слайд 4

Оперативное запоминающее устройство

ОЗУ предназначено для хранения программы, выполняющейся в компьютере.

Тег — поле

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

Машинное слово — поле программно изменяемой информации.

Слайд 5

Оперативное запоминающее устройство

Использование содержимого поля служебной информации
1. Контроль за целостностью данных

При

Оперативное запоминающее устройство Использование содержимого поля служебной информации 1. Контроль за целостностью
записи слова в память контрольная сумма бит = 9 (1001b) ⇒ тег = 1.

Ошибки нет

При чтении машинного слова 16 бит вычисляется сумма бит = 9 (1001b) и сверяется со значением тега.

тег

Ошибка

При чтении машинного слова 16 бит вычисляется сумма бит = 8 (1000b), а тег = 1

Пример контроля за целостностью данных по четности


Сбой в работе ОЗУ

Ошибка не видна

При чтении машинного слова 16 бит вычисляется сумма бит = 7 (111b), и тег = 1


Ошибка будет не выявлена

Слайд 6

Оперативное запоминающее устройство

Использование содержимого поля служебной информации
2. Контроль доступа к командам/данными
3.

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

Слайд 7

Оперативное запоминающее устройство

Время доступа (access time, taccess) — время между запросом на

Оперативное запоминающее устройство Время доступа (access time, taccess) — время между запросом
чтение слова из оперативной памяти и получением содержимого этого слова.
Длительность цикла памяти (cycle time, tcycle) — минимальное время между началом текущего и последующего обращения к памяти.
(tcycle>taccess)

Производительность оперативной памяти — скорость доступа процессора к данным, размещенным в ОЗУ.

Слайд 8

Оперативное запоминающее устройство

К независимых банков памяти, где К = 2L.

L-разрядов

номер банка

Оперативное запоминающее устройство К независимых банков памяти, где К = 2L. L-разрядов
(0...2L-1)

Расслоение памяти

Слайд 9

Оперативное запоминающее устройство

Расслоение памяти

Общий Контроллер доступа к памяти

Последовательность адресов
i, i+1,

Оперативное запоминающее устройство Расслоение памяти Общий Контроллер доступа к памяти Последовательность адресов
i+2, ..., i+K–1

Слайд 10

Оперативное запоминающее устройство

Расслоение памяти

. . .

Контроллер доступа к памяти

Последовательность адресов
i,

Оперативное запоминающее устройство Расслоение памяти . . . Контроллер доступа к памяти
i+1, i+2, ..., i+K–1

Контроллер банка №0

Контроллер банка №1

Контроллер банка №2

Контроллер банка №K–1

Сравнение времени доступа

Схема работы

Слайд 11

Центральный процессор

Устройство управления (control unit) — координация выполнения команд.
Арифметико-логическое устройство

Центральный процессор Устройство управления (control unit) — координация выполнения команд. Арифметико-логическое устройство
(arithmetic/logic unit) —выполнение команд, арифметической или логической обработки операндов.
Регистровая память (register memory) — совокупность устройств памяти процессора - регистров.
Кэш-память (cache memory) — буферизация работы процессора с оперативной памятью.

Слайд 12

Центральный процессор

Регистры общего назначения (РОН)

Специальные регистры:
счетчик команд (program counter)
указатель стека (stack

Центральный процессор Регистры общего назначения (РОН) Специальные регистры: счетчик команд (program counter)
pointer)
слово состояние процессора (processor status word)
.........................

Регистровая память

Слайд 13

Центральный процессор

Рабочий цикл процессора

.…

да

Условие не выполняется

Передача управления

Логическая или арифметическая операция

Выборка команды

Центральный процессор Рабочий цикл процессора .… да Условие не выполняется Передача управления
по значению СчК, формирование адреса следующей команды:
СчК = СчК+1

Анализ кода операции

Вычисление адресов операндов и их значений

АЛУ
Выполнение команды

Анализ условия перехода

Вычисление исполнитель-ного адреса операнда Аперехода,
СчК = Аперехода

Слайд 14

Центральный процессор

Кэш-память (cache memory) первого уровня (L1)

Обмен данными между кэшем и

Центральный процессор Кэш-память (cache memory) первого уровня (L1) Обмен данными между кэшем
оперативной памятью осуществляется блоками фиксированного размера
Адресный тег блока — содержит служебную информацию о блоке (соответствие области ОЗУ, свободен/занят блок, …)
Нахождение данных в кэше – попадание (hit). Если искомых данных нет в кэше, то фиксируется промах (cache miss)
При возникновении промаха происходит обновление содержимого кэша — вытеснение. Стратегии вытеснения:
случайный выбор блока
вытеснение наименее «популярного» блока (LRU — Least-Recently Used)
5. Вытеснение кэша данных:
сквозное кэширование (write-through caching)
кэширование с обратной связью (write-back cache) — тег модификации (dirty bit )

Слайд 15

Аппарат прерываний

Прерывание — событие в компьютере, при возникновении которого в процессоре происходит

Аппарат прерываний Прерывание — событие в компьютере, при возникновении которого в процессоре
предопределенная последовательность действий.

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

Типы прерываний

Слайд 16

Аппарат прерываний

Этап аппаратной обработки прерываний

Завершение текущей команды

Блокировка прерываний. Сохранение актуального состояния процессора

прерывание

Программный

Аппарат прерываний Этап аппаратной обработки прерываний Завершение текущей команды Блокировка прерываний. Сохранение
этап обработки прерывания

Слайд 17

Аппарат прерываний

Программный этап обработки прерываний


да

нет

нет

Идентификация типа прерывания

короткое ?

обработка

Выход из прерывания: восстановление

Аппарат прерываний Программный этап обработки прерываний … да нет нет Идентификация типа
состояния процессора в точке прерывания, возврат, снятие блокировки прерываний

«Полное» сохранение регистров

фатальное?

да

Снятие блокировки прерывания

Снятие блокировки прерывания

Завершение обработки прерывания

Завершение прерванной программы

Слайд 18

Внешние устройства

Внешние устройства

Слайд 19

Внешние устройства

Внешние запоминающие устройства (ВЗУ)

Обмен данными:
записями фиксированного размера — блоками
записями

Внешние устройства Внешние запоминающие устройства (ВЗУ) Обмен данными: записями фиксированного размера —
произвольного размера

Доступ к данным:
операции чтения и записи (жесткий диск, CD-RW)
только операции чтения (CD-ROM, DVD-ROM, …)
Последовательного доступа:
Магнитная лента
Прямого доступа:
Магнитные диски
Магнитный барабан
Магнито-электронные ВЗУ прямого доступа


Слайд 20

Устройство последовательного доступа

Магнитная лента

Маркер конца ленты

Маркер конца i-ой записи

Маркер начала i-ой записи

Маркер

Устройство последовательного доступа Магнитная лента Маркер конца ленты Маркер конца i-ой записи
начала ленты

i-ая запись

Слайд 21

Устройство прямого доступа

Магнитные диски

Условный цилиндр

головка

Операции, необходимые для начала чтения (позиционирования)
Установка головки на

Устройство прямого доступа Магнитные диски Условный цилиндр головка Операции, необходимые для начала
требуемую дорожку
Поворот для совмещения головки с началом сектора

Слайд 22

Устройство прямого доступа

Магнитный барабан

Операции, необходимые для начала чтения (позиционирования)
Поворот для совмещения головки

Устройство прямого доступа Магнитный барабан Операции, необходимые для начала чтения (позиционирования) Поворот
с началом сектора

Слайд 23

обращение к внешнему устройству

Модели синхронизации при обмене с внешними устройствами

Синхронная организация обмена

завершение

обращение к внешнему устройству Модели синхронизации при обмене с внешними устройствами Синхронная
обмена с ВУ

возможность выполнения
процесса1

приостановка выполнения процесса, ожидание завершения обмена

завершение обработки прерывания

обработка прерывания

1 Примечание: процесс выполняется до возникновения следующего прерывания

Асинхронная организация обмена

обращение к внешнему устройству

обращение к внешнему устройству

Слайд 24

ЦП:

Иерархия устройств хранения информации

РОН

КЭШ L2

ОЗУ

ВЗУ прямого доступа с внутренней кэш буферизации (оперативный

ЦП: Иерархия устройств хранения информации РОН КЭШ L2 ОЗУ ВЗУ прямого доступа
доступ к данным)

ВЗУ прямого доступа без кэш буферизации
(оперативный доступ к данным)

ВЗУ долговременного хранения данных (архивы, резервные копии...)

КЭШ L1

Увеличение ёмкости
Увеличение времени доступа
Уменьшение скорости чтения/записи
Увеличение времени хранения информации

Слайд 25

Аппаратная поддержка ОС и систем программирования

Мультипрограммный режим — режим, при котором возможна

Аппаратная поддержка ОС и систем программирования Мультипрограммный режим — режим, при котором
организация переключения выполнения с одной программы на другую.

программа 1

t1

t2

t3

время обмена программы 1 (операции ввода/вывода)

программа 2

программа 3

программа 1

t

Слайд 26

Аппарат защиты памяти
Специальный режим операционной системы (привилегированный режим или режим

Аппарат защиты памяти Специальный режим операционной системы (привилегированный режим или режим супервизора)
супервизора)
Аппарат прерываний (как минимум, прерывание по таймеру)

Базовая аппаратная поддержка мультипрограммного режима

Слайд 27

Аппаратная поддержка программных систем и мультипрограммного режима

Проблемы:
Вложенные обращения к подпрограммам
Накладные расходы при

Аппаратная поддержка программных систем и мультипрограммного режима Проблемы: Вложенные обращения к подпрограммам
смене обрабатываемой программы
Перемещаемость программы по ОЗУ
Фрагментация памяти

Слайд 28

Перемещаемость программы по ОЗУ

Соответствие адресов, используемых в программе, области ОЗУ, в которой

Перемещаемость программы по ОЗУ Соответствие адресов, используемых в программе, области ОЗУ, в
будет размещена данная программа

Загрузка и начало выполнения

ОЗУ

Буфер программ, ожидающих начала обработки

Слайд 29

Фрагментация памяти

V1своб.

V2своб.

V3своб.

V4своб.

VKсвоб.

Буфер программ, ожидающих начала обработки

V1прог.

V2прог.

VLпрог.

Проблема фрагментации: Viпрог. > Vjсвоб. для ∀

Фрагментация памяти V1своб. V2своб. V3своб. V4своб. VKсвоб. Буфер программ, ожидающих начала обработки
i,j (несмотря на то, что ∃{i}:
) => деградация системы

Несмотря на то, что имеется достаточное количество места в памяти, разместить ни одну из программ не удаётся.

Слайд 30

Виртуальная память. Базирование

Исходный текст программы

Транслятор

Объектный модуль

Библиотека объектных модулей, редактор внешних связей

Исполняемый модуль

Проблема

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

В исполняемом модуле используется программная (логическая или виртуальная) адресация

Слайд 31

Виртуальная память. Базирование

Аппарат виртуальной памяти — аппаратные средства компьютера, обеспечивающие преобразование (установление

Виртуальная память. Базирование Аппарат виртуальной памяти — аппаратные средства компьютера, обеспечивающие преобразование
соответствия) программных адресов, используемых в программе с адресами физической памяти, в которой размещена программа во время выполнения.
Базирование адресов — реализация одной из моделей аппарата виртуальной памяти.

Слайд 32

Виртуальная память. Базирование

Аисп.прог.

Базирование адресов — решение проблемы перемещаемости программы по ОЗУ.

Абсолютный

Виртуальная память. Базирование Аисп.прог. Базирование адресов — решение проблемы перемещаемости программы по
адрес
⇒ Аисп.физ. = Аисп.прог.

Относительный (адрес относительно начала программы)
⇒ Аисп.физ. = Аисп.прог. +

Слайд 33

Виртуальная память. Базирование

Базирование адресов — отображение виртуального адресного пространства программы в физическую

Виртуальная память. Базирование Базирование адресов — отображение виртуального адресного пространства программы в
память «один в один».

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

0

L -1

Физическая память

Слайд 34

Виртуальная память. Страничная организация памяти

0-я страница
1-я страница
...
...

Страницы - блоки фиксированного размера. Размер

Виртуальная память. Страничная организация памяти 0-я страница 1-я страница ... ... Страницы
страницы — 2k

номер страницы номер в странице

Количество страниц ограничено размером поля «номер страницы»

k k-1 0

Структура адреса

Слайд 35

Виртуальная память. Страничная организация памяти

Аисп.вирт.

Таблица страниц
процессора

Аисп.физ.

Преобразование виртуального адреса в физический —

Виртуальная память. Страничная организация памяти Аисп.вирт. Таблица страниц процессора Аисп.физ. Преобразование виртуального
замена номера виртуальной страницы на соответствующий номер физической страницы

Слайд 36

Виртуальная память. Страничная организация памяти

Модельный пример организации страничной виртуальной памяти

нет

да

Аисп.вирт.

Номер виртуальной
страницы

Номер

Виртуальная память. Страничная организация памяти Модельный пример организации страничной виртуальной памяти нет
в странице

α0
α1
αi
αm-1

0:

1:

i:

m-1:

αi >0

i-ой виртуальной странице соответствует физическая страница с номером αi

Получаем физический адрес,
продолжение работы

Полученный виртуальный адрес не размещен в ОЗУ

Обращение в «чужую» память

Страница откачена в целях оптимизации использования ОЗУ

Прерывание «защита памяти»
Причина?

СТОП

Подкачка нужной страницы,
вычисление физического адреса, продолжение работы программы

Слайд 37

Регистровые окна (Register windows)

Окно N–1

Окно 0

Окно 1

Виртуальные регистры

CWP — указатель текущего окна

Регистровые окна (Register windows) Окно N–1 Окно 0 Окно 1 Виртуальные регистры

(current window pointer)
SWP — указатель сохраненного окна
(saved window pointer)

Окно 0

Множество
физических регистров

0

K-1

Окно 1

Окно N–1

. . .

. . .