
- •Лекция 3. Основные подсистемы ОС: подсистема управления процессами и потоками
- •Основные функции подсистемы управления процессами
- •Определение процесса
- •Процессы в системе UNIX
- •Описание процесса в
- •Описание процесса в системе UNIX (продолжение)
- •Получение списка процессов: ps
- •Потоки
- •Планирование потоков (процессов) состоит в решении задач:
- •При планировании потоков учитываются
- •Диспетчеризация
- •Диспетчеризация процессов (потоков)
- •Состояния потока (процесса)
- •Диаграмма смены состояний потоков
- •Алгоритмы планирования выполнения потоков
- •Алгоритмы планирования, основанные на квантовании
- •Иллюстрация квантового механизма планирования
- •Алгоритмы планирования, основанные на приоритетах
- •Назначение приоритетов
- •Разновидности приоритетов
- •Схема назначения приоритетов в
- •Приоритеты в системе
- •Окно Диспетчера задач
- •Основные подсистемы ОС: подсистема управления памятью
- •Иерархия типов памяти
- •Регистры процессора
- •Основная память
- •Чтение / запись в ОЗУ
- •Функции подсистемы управления основной памятью
- •Организация основной памяти
- •Стратегии управления памятью
- •Типы адресов
- •Типы адресов
- •Организация памяти
- •Распределение памяти фиксированными разделами
- •Достоинства и недостатки работы
- •Распределение памяти динамическими разделами
- •Функции подсистемы при работе с динамическими разделами
- •Достоинства и недостатки работы
- •Понятие виртуальной памяти
- •Основные задачи, решаемые подсистемой виртуальной памяти
- •2 подхода к виртуализации памяти
- •Достоинства и недостатки свопинга
- •Реализации виртуальной памяти
- •Виртуальное адресное пространство процесса 1
- •Страничный файл (файл подкачки)
- •Виртуальная страница (определение)
- •Таблица страниц
- •Алгоритм работы виртуальной памяти
- •Алгоритм работы виртуальной памяти (продолжение)
- •Виртуальный и физический адреса
- •Базисные свойства страничной виртуальной памяти
- •Виртуальный адрес
- •Определение оптимального размера страницы

Схема назначения приоритетов в |
||||||||||||||
Windows NT |
|
|
|
|
|
|
|
|
|
|
||||
|
потоки с переменным |
|
|
потоки реального времени |
|
|||||||||
|
приоритетом |
|
|
|
|
|
|
|
|
|
|
|
||
динамический приоритет |
|
|
|
|
|
|
|
|
|
|||||
потоков процесса |
|
|
|
|
|
|
|
|
|
|
|
|||
|
базовый приоритет |
|
|
|
|
|
|
|
|
|
||||
|
потоков процесса |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
базовый |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
приоритет |
|
|
|
|
|
|
|
|
||
|
|
|
|
процесса |
|
|
|
|
|
|
|
|
|
|
2 |
4 |
6 |
8 |
10 |
12 |
14 |
16 |
18 |
20 |
22 |
24 |
26 |
28 |
30 |
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
Приоритеты в системе
• В Windows существуетWindows32 уровня приоритета, от 0 до 31. Они группируются так: 31 - 16 уровни реального времени; 15 - 1 динамические уровни; 0 - системный уровень, зарезервированный для потока обнуления страниц (zero-page thread).
При создании процесса, ему назначается один из шести
классов приоритетов:
•Real time class (значение 24) – приоритет реального времени,
•High class (значение 13) - высокий,
•Above normal class (значение 10) – выше среднего,
•Normal class (значение 8) - средний,
•Below normal class (значение 6) – ниже среднего,
•и Idle class (значение 4).
22

Окно Диспетчера задач
23
Основные подсистемы ОС: подсистема управления памятью

Иерархия типов памяти
|
|
|
|
|
|
|
|
|
|
Время |
Стоимость |
||
Объем |
|
|
|
|
|
|
хранения 1 |
||||||
|
|
|
0,01-1 |
доступа |
|||||||||
|
|
|
|||||||||||
|
Десятки |
|
Регистры |
|
нс |
|
|
|
бита |
||||
|
|
|
|
|
|
||||||||
|
байт |
|
процессора |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||||
|
Десятки |
Быстродействующая |
|
0,5-2 |
|
|
|
||||||
|
-сотни |
буферная память |
|
|
нс |
|
|
|
|
||||
|
килобайт |
|
(кэш) |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Десятки |
|
Оперативная память |
|
|
2-20 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||
|
мегабайт |
|
|
|
|
|
|
|
нс |
|
|
|
|
|
Десятки |
|
Внешняя память |
|
|
|
Десят |
|
|
|
|||
|
гигабайт |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ки мс |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25
Регистры процессора
•Имеют разное предназначение: от хранения адреса текущей исполняемой инструкции до хранения и обработки данных боле общего характера.
•Регистры процессора работают со скоростью самого процессора, в противном случае они представляли бы узкое место для компьютера в целом.
•Количество регистров процессора (и их использование) напрямую зависит от архитектуры самого процессора. Изменить число регистров процессора невозможно, если только не перейти на процессор с другой архитектурой. Поэтому число регистров процессора можно считать константой.
26
Кэш
•Подсистема кэша в конструкции современных компьютеров может быть многоуровневой
•Уровни кэша часто нумеруются, при этом, чем меньше номер, тем ближе он к процессору. На многих компьютерах имеется два уровня кэша:
–кэш L1, который обычно находится непосредственно внутри процессора и работает со скоростью процессора
–кэш L2 обычно является частью процессорного модуля, его скорость равна (или почти равна) скорости процессора, при этом он немного больше и медленнее кэша L1.
•Некоторые компьютеры (чаще всего это
высокопроизводительные серверы) имеют ещё кэш L3, который обычно расположен на материнской плате. Как можно догадаться, кэша L3 больше (и вероятнее всего медленнее), чем L2.
27
Основная память
•Называется также оперативной памятью, или оперативным запоминающим устройством (ОЗУ)
•На самом низком уровне это микросхемы памяти — микросхемы, которые собственно «запоминают» информацию. Эти микросхемы соединяются с внешним миром четырьмя типами контактов:
–Контакты питания (чтобы микросхема могла работать)
–Контакты данных (чтобы микросхема могла обмениваться данными)
–Контакты чтения/записи (определяющие, выполняется ли чтение или запись данных)
–Контакты адреса (определяющие, куда записываются или откуда считываются данные)
28
Чтение / запись в ОЗУ
•Сохранения данных в ОЗУ:
–На контактах данных микросхемы появляются сохраняемые данные.
–На контактах адреса появляется адрес, по которому будут сохранены данные.
–На контакте чтение/запись устанавливается режим записи.
•Чтение данных из ОЗУ:
–На контактах адреса появляется адрес нужных данных.
–На контакте чтение/запись устанавливается режим чтения.
–Затребованные данные считываются с контактов данных.
29
Функции подсистемы управления основной памятью
•отслеживание свободной и занятой памяти;
•выделение памяти процессам и освобождение памяти по завершении процессов;
•вытеснение кодов и данных из оперативной памяти на диск (полное или частичное), когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место;
•настройка адресов процесса на конкретную область физической памяти;
•защита памяти
30