
- •Тема 2. Организация вычислительного процесса.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков. Задания,
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •Взаимосвязь между заданиями, процессами и потоками Задание
- •2.1. Концепция процессов и потоков.
- •2.1. Концепция процессов и потоков.
- •Задание (JOB)
- •2.2. Мультипрограммирование. Формы
- •2.2.1. Мультипрограммирование в системах пакетной обработки
- •2.2.1. Мультипрограммирование в системах пакетной обработки
- •2.2.1. Мультипрограммирование в системах пакетной обработки
- •2.2.1. Мультипрограммирование в системах пакетной обработки
- •2.2.2. Мультипрограммирование в системах разделения времени
- •2.2.2. Мультипрограммирование в системах
- •2.2.2. Мультипрограммирование в системах разделения времени
- •2.2.3. Мультипрограммирование в системах реального времени
- •2.2.3. Мультипрограммирование в системах
- •2.2.3. Мультипрограммирование в системах реального времени
- •2.2.3. Мультипроцессорная обработка
- •2.2.3. Мультипроцессорная обработка
- •2.2.3. Мультипроцессорная обработка
- •2.2.3. Мультипроцессорная обработка
- •2.2.3.Мультипроцессорная обработка
- •2.2.3.Мультипроцессорная обработка
- •2.2.3. Мультипроцессорная обработка
- •2.2.3.Мультипроцессорная обработка
- •2.2.3. Мультипроцессорная обработка
- •2.2.3.Мультипроцессорная обработка
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.Управление процессами и потоками
- •2.3.2. Роль процессов, потоков и волокон в мультипрограммировании
- •2.3.2. Роль процессов, потоков и волокон в мультипрограммировании
- •2.4. Создание процессов и потоков.
- •2.4. Создание процессов и потоков.
- •2.4. Создание процессов и потоков. Модели процессов и потоков
- •2.4. Создание процессов и потоков. Модели процессов и потоков
- •Дескриптор процесса (блок управления) содержит:
- •Идентификация процесса
- •Информация по состоянию и управлению процессом
- •КОНТЕКСТ ПРОЦЕССА
- •Простейшая модель процесса
- •Простейшая модель процесса
- •Новый
- •Модель с тремя состояниями
- •2.4.2. Потоки и их модели
- •Поток на уровне пользователя (в пользовательском пространстве)
- •Поток на уровне пользователя (в
- •Поток на уровне пользователя (в
- •Поток на уровне пользователя ДОСТОИНСТВА:
- •Поток на уровне пользователя НЕДОСТАТКИ:
- •Поток на уровне ядра
- •Поток на уровне ядра
- •Поток на уровне ядра
- •Потоки и их модели
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •2.5.Планирование заданий, процессов и потоков
- •Схема планирования с учетом очередей заданий (процессов)
- •Долгосрочное
- •Граф состояния потока
- •Граф состояния потока
- •Граф состояния потока
- •Типичный граф состояния потока
- •Алгоритмы планирования потоков
- •Алгоритмы планирования потоков
- •Алгоритмы планирования потоков
- •Простейший алгоритм планирования, реализующий состояния потока для типичного графа состояния потоков
- •Кванты, выделяемые потокам, могут быть равными или различными (типичное значение десятки - сотни
- •Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводом-выводом
- •Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводом-выводом
- •Алгоритм планирования, реализующий предпочтения потокам с интенсивным вводом-выводом
- •Граф состояния потока
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •приоритеты
- •Алгоритмы приоритетного планирования
- •Алгоритмы приоритетного планирования
- •Изменение базового приоритета потока Увеличение приоритета
- •Работоспособные процессы (потоки)
- •2.6. Взаимодействие и синхронизация процессов и потоков
- •2.6. Взаимодействие и синхронизация процессов и потоков
- •2.6.2. Конкуренция процессов в борьбе за ресурсы
- •Взаимоблокировки (тупики, deadlock)
- •Взаимоблокировки (тупики, deadlock)
- •Взаимоблокировки (тупики, deadlock)
- •Проблема “голодание”
- •Проблема “голодание”
- •Проблема “голодание”
- •2.6.3. Сотрудничество с использованием разделения
- •2.6.3. Сотрудничество с использованием
- •2.6.3. Сотрудничество с использованием
- •2.6.4. Сотрудничество с использованием связи
- •2.6.4. Сотрудничество с использованием связи
- •2.6.4.Методы взаимоисключений
- •3.Использование системных функций входа в критическую секцию
- •4. Семафоры Дейкстры (Dijkstra)
- •5. Мониторы Хоара и Хансена
- •Описание структуры и функциональной схемы
- •Абстрактное описание структуры монитора:
- •Абстрактное описание структуры монитора:
- •Описание функционирования монитора
- •Описание функционирования монитора
- •Пример монитора Хоара
- •Пример монитора Хоара
- •Реализация мониторов
- •Решение задачи производитель-потребитель с помощью мониторов:
- •Решение задачи производитель-потребитель с помощью мониторов:
- •Решение задачи производитель-потребитель с помощью мониторов:
- •2.6.5. Взаимоблокировки (тупики)
- •Методы обнаружения взаимоблокировок
- •Граф ресурсов и процессов
- •2. В системе несколько ресурсов каждого типа.
- •Алгоритм обнаружения тупиков
- •Методы устранения тупиков
- •2.6.6. Синхронизирующие объекты ОС
- •2.6.6. Синхронизирующие объекты ОС
- •2.6.6. Синхронизирующие объекты ОС
- •2.6.7. Средства взаимодействия ОС между
- •Конвейеры
- •Конвейеры
- •Конвейеры
- •Конвейеры
- •Конвейеры
- •Конвейеры
- •2.6.7. Средства взаимодействия ОС между
- •Очереди сообщений
- •Очереди сообщений
- •Очереди сообщений
- •Очереди сообщений
- •Очереди сообщений
- •2.6.7. Средства взаимодействия ОС между
- •Почтовые ящики
- •Почтовые ящики
- •2.6.7. Средства взаимодействия ОС между процессами
- •2.6.7. Средства взаимодействия ОС между
- •2.6.7. Средства взаимодействия ОС между
- •2.7. Аппаратно-программные средства поддержки
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •2.7. Аппаратно-программные средства поддержки
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •2.7. Аппаратно-программные средства поддержки мультипрограммирования
- •Последовательность действий при обработке прерываний
- •2.7.2. Системные вызовы
- •Централизованная схема обработки системных вызовов
- •Централизованная схема обработки системных вызовов
- •Централизованная схема обработки системных вызовов
- •Централизованная схема обработки системных вызовов
- •Централизованная схема обработки системных вызовов

2.2.2. Мультипрограммирование в системах разделения времени
1 |
2 |
3 |
… |
n |
|
|
TКВ = 0,02 мс |
Центральный процессор |
31
Операционные системы

2.2.3. Мультипрограммирование в системах реального времени
Назначение систем реального времени:
1.управление техническими объектами
(спутник, ракета, атомные электростанции, станок, научная установка и др.),
2.управление технологическими процессами
(гальваническая линия, долинный процесс и т. п.),
3.управление системами обслуживания
разного |
рода |
(резервирование |
авиабилетов, |
оплата покупок и счетов и др.). |
|
||
|
|
Операционные системы |
32 |
|
|
|

2.2.3. Мультипрограммирование в системах
реального времени Особенности реализации систем реального
времени:
1.существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа управления объектом (время реакции системы);
2.мультипрограммная смесь представляет собой фиксированный набор заранее
разработанных программ решения функциональных задач управления объектом или процессом;
33
Операционные системы

2.2.3. Мультипрограммирование в системах реального времени
3.выбор программы на выполнение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ;
4.закладывается запас вычислительной мощности на случай пиковой нагрузки, а также принимаются меры обеспечения
высокой надежности работы системы (резервирование, дублирование, троирование с мажоритарным элементом и др.).
34
Операционные системы

2.2.3. Мультипроцессорная обработка
Мультипроцессорная обработка - это способ организации вычислительного процесса в системе с несколькими процессорами, при котором несколько задач (процессов, потоков) могут одновременно выполняться на разных процессорах системы
(часто в качестве серверов ЛВС). Мультипроцессорная обработка не
исключает мультипрограммной обработки на каждом процессоре. При этом резко усложняются все алгоритмы управления ресурсами, т. е. операционная система.
35
Операционные системы

2.2.3. Мультипроцессорная обработка
Мультипроцессирование поддерживают: Sun Solaris 2.x, Santa Cruz Operation Open Server 3.x, OS/2, Windows NT/2000/2003 , NetWare, начиная с версии 4.1.
Мультипроцессорные системы делятся на
симметричные и асимметричные.
Эти термины относятся, с одной стороны, к архитектуре вычислительной системы, а с другой - к способу организации вычислительного процесса.
36
Операционные системы

2.2.3. Мультипроцессорная обработка |
|
||||||
|
Симметричная |
|
архитектура |
||||
мультипроцессорной |
системы |
предполагает |
|||||
однотипность |
и |
единообразие |
включения |
||||
процессоров и большую разделяемую между |
|||||||
этими |
процессорами |
память. |
|
||||
Масштабируемость, |
т. |
е. |
возможность |
||||
наращивания числа процессоров в данном |
|||||||
случае ограничена, т. к. все они используют |
|||||||
одну и ту же оперативную память и, |
|||||||
следовательно, |
|
должны |
располагаться |
в |
|||
одном корпусе. |
|
|
|
|
|
|
|
|
|
Операционные системы |
|
|
37 |
||
|
|
|
|
|

2.2.3. Мультипроцессорная обработка |
|
|||
Такая конструкция (масштабирование по |
||||
вертикали) практически ограничивает число |
||||
процессоров до 4 или 8. |
|
|
||
В |
симметричных |
архитектурах |
все |
|
процессоры пользуются одной и той же |
||||
схемой отображения памяти, потому могут |
||||
быстро обмениваться данными. |
|
|||
Это |
обеспечивает достаточно высокую |
|||
производительность |
для |
приложений, |
в |
|
которых несколько задач должны активно |
||||
взаимодействовать |
между |
собой (например, |
||
при работе с базами данных). |
|
|||
|
Операционные системы |
38 |
||
|
|

2.2.3.Мультипроцессорная обработка
Всимметричных архитектурах вычислительных систем легко реализуется
симметричное мультипроцессирование общей |
|
для всех процессоров операционной системой. |
|
При этом все процессоры равноправно |
|
участвуют и в управлении вычислительным |
|
процессом, и в выполнении прикладных |
|
задач. |
|
Разные процессоры могут в какой-то |
|
момент времени одновременно |
обслуживать |
как разные, так и одинаковые модули общей |
|
ОС. |
|
Операционные системы |
39 |
|

2.2.3.Мультипроцессорная обработка
Программы ОС должны быть
реентерабельными (повторновходимыми). |
|||||
Операционная |
система |
полностью |
|||
децентрализована. |
|
|
|
|
|
Ее модули выполняются на любом |
|||||
доступном процессоре. Как только процессор |
|||||
завершает выполнение очередной задачи, он |
|||||
передает управление планировщику задач. |
|||||
Последний выбирает из общей для всех |
|||||
процессоров |
системной |
очереди |
задачу, |
||
которая будет выполняться на данном |
|||||
процессоре следующей. |
|
|
|
||
|
Операционные системы |
|
|
40 |
|
|
|
|
|