Презентация - "Лекция по предмету Операционные системы на тему: "Управление процессами""
- Презентации / Другие презентации
- 0
- 29.10.24
Просмотреть и скачать презентацию на тему "Лекция по предмету Операционные системы на тему: "Управление процессами""
2
1. Мультипрограммирование в системах разделения времени
1
2
3
…
n
Центральный процессор
TКВ = 0,02 мс
2. Мультипрограммирование в системах реального времени
Управление техническими объектами, технологическими процессами, системами обслуживания и т. п.
Фиксированный набор заранее разработанных задач.
Жесткие ограничения на время обслуживания.
Режим типа запрос – ответ.
3. Мультипроцессорная обработка
Операционные системы : Windows NT/2000/XP,7, Sun Solaris 2/x, Santa Cruz Operations Open Server 3.x, OS/2 и др.
Симметричная архитектура и асимметричная архитектура.
3
4. Роль процессов, потоков и волокон в мультипрограммировании
Отдельный процесс не может быть выполнен быстрее, чем в однопрограммном режиме.
Сложно создать программу, реализующую параллелизм в рамках одного процесса.
Стандартные средства современных ОС не позволяют создать для одного приложения несколько процессов для параллельных работ.
Многопоточная обработка позволяет распараллелить вычисления в рамках одного процесса.
Многопоточная (multithreading) обработка эффективна в многопроцессорных вычислительных системах.
Использование аппарата волокон (Windows 2000) повышает эффективность мультипрограммирования за счет сокращения переключения процессов, но увеличивает трудоемкость разработки приложений.
4
5. Управление процессами и потоками
5.1. Основные функции управления процессами и потоками
Создание процессов и потоков.
Обеспечение процессов и потоков необходимыми ресурсами.
Изоляция процессов.
Планирование выполнения процессов и потоков.
Диспетчеризация потоков.
Синхронизация процессов и потоков.
Завершение и уничтожение процессов и потоков.
События, приводящие к созданию процессов:
Инициализация (загрузка) ОС.
Запрос процесса на создание дочернего процесса.
Запрос пользователя на создание процесса (например, при входе в систему в интерактивном режиме).
Инициирование пакетного задания.
Создание операционной системой процесса какой-либо службы.
5
Типичный граф состояния потока
ВЫПОЛНЕНИЕ
ГОТОВНОСТЬ
ОЖИДАНИЕ
Поток завершен или ошибка
Поток ожидает завершения ввода-вывода или другого события
Ввод-вывод завершен (событие произошло)
Поток вытеснен (исчерпал квант)
Поток выбран на выполнение
Вновь созданный поток
6
Дескриптор процесса содержит:
1. Информацию по идентификации процесса (идентификатор процесса, идентификатор пользователя,
идентификаторы родительского и дочерних процессов).
2. Информацию по состоянию процесса
3. Информацию, используемую для управления процессом
7
Информация по состоянию и управлению процессом
Состояние процесса, определяющее его готовность к выполнению (выполняющийся, готовый к выполнению, ожидающий события, приостановленный);
Данные о приоритете (текущий, по умолчанию, максимально возможный);
Информация о событиях – идентификация события, наступление которого позволит продолжить выполнение процесса;
Указатели, позволяющие определить расположение образа процесса в оперативной памяти и на диске;
Указатели на другие процессы (находящиеся в очереди на выполнение);
Флаги,сигналы и сообщения, имеющие отношение к обмену информацией между двумя независимыми процессами;
Данные о привилегиях, определяющие прав доступа к определенной области памяти или возможности выполнять определенные виды команд, использовать системные утилиты и службы;
Указатели на ресурсы, которыми управляет процесс;
Сведения по использованию ресурсов и процессора;
Информация, связанная с планированием.
8
КОНТЕКСТ ПРОЦЕССА
Содержимое регистров процессора, доступных пользователю (обычно 8 – 32 регистра и до 100 регистров в RISC – процессорах);
Содержимое счетчика команд;
Состояние управляющих регистров и регистров состояния;
Коды условия, отражающие результат выполнения последней арифметической или логической операции (например, равенство нулю,переполнение);
Указатели вершин стеков,хранящие параметры и адреса вызова процедур и системных служб.
Значительная часть этой информации фиксируется в виде слова состояния программы PSW (program status word – EFLAGS в процессоре Pentium).
9
Простейшая модель процесса
Диспетчеризация
Пауза
Не выполняется
Выполняется
Вход
Выход
CPU
Вход
Выход
Очередь
Пауза
Диспетчеризация
CPU
Граф состояний и переходов
tкв
10
Новый
Готовый к выполнению
Выполняю-щийся
Вход
в систему
Ожидание
Завершаю-щийся
Освобо-ждение
события
Блокирова-нный
CPU
Поступление процесса
Очередь готовых процессов
Тайм – аут ( tКВ )
Ожидание события
11
5.2. Потоки и их модели
Описатель потока: блок управления потоком и контекст потока (в многопоточной системе процессы контекстов не имеют).
Способы реализации пакета потоков:
в пространстве пользователя (user – level threads – ULT);
в ядре (kernel – level threads – KLT).
13
Долгосрочное планирование
Тайм-аут
Очередь готовых заданий
Среднесрочное планирование
Среднесрочное планирование
Очередь готовых приостановленных заданий
Очередь заблокированных приостановленных заданий
Очередь
заблокированных заданий
Событие
Интерактивные пользователи
Пакетные задания
Ожидание события
ЦП
Выход
ОП
Диск
Диск
ОП
14
7. Создание процессов и потоков. Модели процессов и потоков
Образ процесса: программа, данные, стек и атрибуты процесса
15
Алгоритмы планирования потоков
Невытесняющие (non-preemptive)
планирование распределяется между ОС и прикладными программами;
необходимость частых передач управлений ОС, в противном случае возможна монополизация процессора приложением;
зависания приложений могут привести к краху системы
2. Вытесняющие (preemptive)
функции планирования сосредоточены в ОС;
планирование на основе квантования процессорного времени;
планирование на основе приоритетов потоков: статических, динамических, абсолютных, относительных, смешанных;
16
Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводом-выводом
Ожидание события
Тайм - аут
Процессор
Новый поток
Очередь 2
Очередь 1
Переключение контекстов потоков связано с потерями процессорного времени.
С увеличением времени кванта ухудшается обслуживание пользователей.
В алгоритмах, основанных на квантовании, ОС не имеет никаких сведений о характеристиках решаемых задач.
17
Алгоритмы приоритетного планирования
Процессор
Назначение приоритета
Тайм-аут
Очередь высшего приоритета
Очередь низшего приоритета
Ожидание события
Ожидание события
Тайм-аут
Завершение (ошибка)
Новый поток
Приоритетное переключение с квантованием
18
31
30
16
-1
0
15
Системные приоритеты
Пользоват. приоритеты
7
8
6
Наивысший
Повышенный
Обычный
Пониженный
Наинизший
Поток обнуления страниц
Пустой поток
Базовый приоритет
Наивысший
Наинизший
Очереди системных потоков и потоков псевдореального времени
Наивысший
Наинизший
ПРОЦЕССОР
19
8. Взаимодействие и синхронизация процессов и потоков
8.1. Проблемы взаимодействия и синхронизации
20
Взаимоблокировки (тупики, deadlock)
Группа процессов находится в тупиковой ситуации, если каждый процесс из группы ожидает события, которое может вызвать только другой процесс из этой же группы
Процесс
Ресурс
R1
P2
R2
P1
Исходное распределение ресурсов
R1
P2
R2
P1
P2
P1
R1
R2
Тупиковая ситуация
21
Проблема “голодание”
R
R
R
R
P1
P2
P3
P1
P2
P3
P1
P2
P3
P1
P2
P3
Активный
Блокированные
Блокированные
Активный
Активный
Блокированные
Блокированные
Активный
22
8.2. Синхронизирующие объекты ОС
Для синхронизации потоков, принадлежащих разным процессам, ОС должна предоставлять потокам системные объекты синхронизации.
К таким объектам относятся события (event), мьютексы (mutex – mutual exclusion – взаимное исключение), системные семафоры и др.
Объект-событие используется для того, чтобы оповестить потоки о том, что некоторые действия завершены.
Мьютекс (простейший двоичный семафор) используется для управления доступом к данным.
Семафоры используются для оповещения свершения последовательности событий.
Для синхронизации используются также “обычные ” объекты ОС: файлы, процессы, потоки
Все объекты синхронизации могут находиться в сигнальном и несигнальном (свободном) состоянии. Поток с помощью системного вызова WAIT(X) может синхронизировать свое выполнение с объектом синхронизации X. С помощью системного вызова SET(X) поток может перевести объект X в сигнальное состояние. Кроме того, в ОС определен набор сигналов для логической связи меду процессами, а также процессами и пользователями (терминалами).
23
Мониторы – еще один, более надежный способ синхронизации, предложенный в 1974 г. одним из классиков компьютерных наук профессором Чарльзом Хоаром.
Основные компоненты ОС следующие: управление процессами; управление основной памятью; управление файлами; управление системой ввода-вывода; управление внешней памятью; поддержка сетей; система защиты; система поддержки командного интерпретатора; графическая оболочка.
Монитор – еще один удобный механизм синхронизации процессов по ресурсам. Он более надежен, чем семафоры, поскольку вызов операции монитора автоматически обеспечивает разблокировку ресурса после завершения вызова.
8.3 Мониторы
Монитор содержит описание общих для процессов данных и операций над ними, таких, что в каждый момент не более чем один параллельный процесс может выполнять какую-либо операцию монитора.
Монитор – многовходовый модуль M, в котором определены общие для процессов данные D (скрытые) и (абстрактные) операции P1, … PN над этими данными (в виде процедур).
В каждый момент не более чем один из параллельных процессов может вызвать какую-либо из операций: M.Pi (X, Y, …)
Вызов каждой операции монитора – атомарен (как и операции над семафором).
24
Выводы:
Основные компоненты ОС следующие: управление процессами; управление основной памятью; управление файлами; управление системой ввода-вывода; управление внешней памятью; поддержка сетей; система защиты; система поддержки командного интерпретатора; графическая оболочка.
Процесс – программа пользователя при ее исполнении. ОС поддерживает средства создания, удаления, синхронизации, приостановки и возобновления, взаимодействия процессов. Облегченный процесс исполняется в том же пространстве виртуальной памяти, что и процесс-родитель.
Классические средства синхронизации процессов – семафоры и мониторы. Семафор может находиться в открытом и закрытом состояниях и в закрытом состоянии блокирует все, кроме одного, процессы, которым требуется доступ к общему ресурсу.
Монитор – еще один удобный механизм синхронизации процессов по ресурсам. Он более надежен, чем семафоры, поскольку вызов операции монитора автоматически обеспечивает разблокировку ресурса после завершения вызова.
25
Контрольные вопросы:
Назовите компоненты операционной системы.
Какие действия по управлению процессами выполняет ОС?
Что такое графическая оболочка ОС?
Что такое процесс?
Что такое дескриптор процесса?
Что такое облегченный процесс?
В каких состояниях может находиться процесс?
Что такое семафор и какие операции над ним определены?
Что такое критическая секция?
В чем суть принципа взаимного исключения критических секций?
Что такое атомарная операция?
Что такое взаимная блокировка процессов (deadlock)?
Что такое монитор?
Какое условие для выполнения своих операций обеспечивает монитор?