Презентация на тему: ЗАДАЧИ И ПРОЦЕССЫ. УПРАВЛЕНИЕ ПРОЦЕССАМИ И ЗАДАЧАМИ

ЗАДАЧИ И ПРОЦЕССЫ. УПРАВЛЕНИЕ ПРОЦЕССАМИ И ЗАДАЧАМИ
Задачи и процессы. Управление процессами и задачами ОГЛАВЛЕНИЕ
Задачи, процессы и ресурсы
Реализация процессов в операционной системе
Реализация процессов в операционной системе
Планирование и диспетчеризация процессов и задач
Планирование и диспетчеризация процессов и задач
Стратегия планирования процессов и задач
Стратегия планирования процессов и задач
Диспетчеризация процессов
Дисциплины диспетчеризации процессов
Примеры реализации динамических приоритетов
Примеры реализации динамических приоритетов
Примеры реализации динамических приоритетов
Вытесняющие и не вытесняющие дисциплины обслуживания
Проблема гарантированного обслуживания
Критерии сравнения алгоритмов диспетчеризации
Понятие параллельных процессов, методы и проблемы их организации
Понятие параллельных процессов, методы и проблемы их организации
Реализация взаимных исключений
Блокировка памяти
Блокировка памяти
Блокировка памяти
Специальные операции типа «Проверка-установка»
Специальные операции типа «Проверка-установка»
Семафоры и их применение
Семафоры и их применение
Семафоры и их применение
Мониторы и их применение
Мониторы и их применение
Мониторы и их применение
Почтовые ящики сообщений
Почтовые ящики сообщений
Почтовые ящики сообщений
Почтовые ящики сообщений
Конвейеры сообщений
Очереди сообщений
Конец раздела
СПРАВОЧНАЯ СИСТЕМА
Задачи, процессы и ресурсы
Задачи, процессы и ресурсы
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Дисциплины диспетчеризации процессов
Мониторы и их применение
Почтовые ящики сообщений
Почтовые ящики сообщений
Почтовые ящики сообщений
Почтовые ящики сообщений
1/57
Средняя оценка: 4.6/5 (всего оценок: 50)
Код скопирован в буфер обмена
Скачать (584 Кб)
1

Первый слайд презентации: ЗАДАЧИ И ПРОЦЕССЫ. УПРАВЛЕНИЕ ПРОЦЕССАМИ И ЗАДАЧАМИ

Ершов Б.Л. Российский государственный торгово-экономический университет ИВАНОВСКИЙ ФИЛИАЛ Кафедра математики, экономической информатики и вычислительной техники

Изображение слайда
2

Слайд 2: Задачи и процессы. Управление процессами и задачами ОГЛАВЛЕНИЕ

2 Задачи и процессы. Управление процессами и задачами ОГЛАВЛЕНИЕ Задачи, процессы и ресурсы Реализация процессов в операционной системе Планирование и диспетчеризация процессов и задач Управление параллельными взаимодействующими процессами Понятие параллельных процессов, методы и проблемы их организации Реализация взаимных исключений Блокировка памяти Специальные операции типа «Проверка-установка» Семафоры и их применение Мониторы и их применение Почтовые ящики сообщений Конвейеры сообщений Очереди сообщений Выход

Изображение слайда
3

Слайд 3: Задачи, процессы и ресурсы

3 Задачи, процессы и ресурсы Оглавление PID – номер процесса Тип (класс) процесса Приоритет выделения ресурсов Переменная состояния Контекст задачи или его адрес Параметры запуска Программа Набор данных Задача Единица работы для выполнения которой выделяется центральный процессор Задача Задача 1 Задача 2 Задача N Процесс ... Носитель данных и операций по их обработке. Обычно процесс считается последовательным = РЕСУРСЫ (обеспечивающие элементы) Дескриптор процесса = Адрес области ОЗУ, выделенной для обмена данными и сигналами с другими процессами Адрес постоянного местонахождения в ОЗУ Адрес временной выгрузки на диск

Изображение слайда
4

Слайд 4: Реализация процессов в операционной системе

4 Реализация процессов в операционной системе Оглавление Программа Управление Процесс Дескриптор Начало Конец Очередь готовности Очередь ожидания ресурса_1 Д 1 Д 2 ... Д n Д i ... Д 1 Хронология, приоритет Ресурс _1 Ресурс _1 Свободен Д СУПЕРВИЗОР Хронология, приоритет ... Д k Д k Выполнен Прерван

Изображение слайда
5

Слайд 5: Реализация процессов в операционной системе

5 Реализация процессов в операционной системе Оглавление Программа Управление Процесс Дескриптор Начало Конец Очередь готовности Очередь ожидания ресурса_1 Д 1 Д 2 ... Д n Д i ... Д 1 Хронология, приоритет Ресурс _1 Ресурс _1 Свободен Д СУПЕРВИЗОР Хронология, приоритет ... Д k Д k Выполнен Прерван Управление процессами предполагает выполнение операционной системой следующих функций: • создание и удаление задач; • планирование задач; • диспетчеризация задач; • синхронизация задач и обеспечение их средствами коммуникаций.

Изображение слайда
6

Слайд 6: Планирование и диспетчеризация процессов и задач

6 Планирование и диспетчеризация процессов и задач Оглавление Цель планирования и диспетчеризации – повышение эффективности использования процессорного времени как главного ресурса вычислительной системы Подбор процессов и задач в целях минимизации их конкурирования за ресурсы долгосрочный ПЛАНИРОВАНИЕ (стратегический подбор) краткосрочный ДИСПЕТЧЕРИЗАЦИЯ (подбор по событиям) Актуальность в современных ВС СУПЕРВИЗОР ПЛАНИРОВЩИК ДИСПЕТЧЕР осуществляют Не чаще 1 раза/мин 1 раз/(30-100) мс

Изображение слайда
7

Слайд 7: Планирование и диспетчеризация процессов и задач

7 Планирование и диспетчеризация процессов и задач Оглавление ПЛАНИРОВАНИЕ – стратегический (долгосрочный) подбор задач, ориентированных на разные ресурсы в целях повышения эффективности использования процессорного времени. Выполняется планировщиком не чаще 1 раза/мин ОЧЕРЕДЬ ПРОЦЕССОВ, ОЖИДАЮЩИХ ВЫПОЛНЕНИЯ П1 (Р1) П2 (Р1) П3 (Р2) П4 (Р1) П5 (Р3) П6 (Р1) П7 (Р4) П8 (Р1) П9 (Р1) П10 (Р5) МУЛЬТИПРОГРАММНАЯ СМЕСЬ П5 (Р3) П7 (Р4) П10 (Р5) ПЛАНИРОВЩИК П1 (Р1) П3 (Р2) Выполнение ДИСПЕТЧЕР ДИСПЕТЧЕР ДИСПЕТЧЕР

Изображение слайда
8

Слайд 8: Стратегия планирования процессов и задач

8 Стратегия планирования процессов и задач Оглавление ПЛАНИРОВАНИЕ – стратегический (долгосрочный) подбор задач, ориентированных на разные ресурсы в целях повышения эффективности использования процессорного времени. Выполняется планировщиком не чаще 1 раза/мин ОЧЕРЕДЬ ПРОЦЕССОВ, ОЖИДАЮЩИХ ВЫПОЛНЕНИЯ П1 (Р1) П2 (Р1) П3 (Р2) П4 (Р1) П5 (Р3) П6 (Р1) П7 (Р4) П8 (Р1) П9 (Р1) П10 (Р5) МУЛЬТИПРОГРАММНАЯ СМЕСЬ П5 (Р3) П7 (Р4) П10 (Р5) ПЛАНИРОВЩИК П1 (Р1) П3 (Р2) Выполнение ДИСПЕТЧЕР ДИСПЕТЧЕР ДИСПЕТЧЕР по возможности завершать процессы в том порядке, в каком они были начаты; отдавать предпочтение коротким вычислительным процессам; предоставлять всем процессам одинаковое время ожидания. Стратегия планирования – это принципы, на основе которых осуществляется планирование: В планировании используется термин «Задача переднего плана», предполагающий присвоение второго по важности высокого приоритета выполняющейся задаче и наивысшего приоритета задачам управления и ввода-вывода.

Изображение слайда
9

Слайд 9: Стратегия планирования процессов и задач

9 Стратегия планирования процессов и задач Оглавление ПЛАНИРОВАНИЕ – стратегический (долгосрочный) подбор задач, ориентированных на разные ресурсы в целях повышения эффективности использования процессорного времени. Выполняется планировщиком не чаще 1 раза/мин ОЧЕРЕДЬ ПРОЦЕССОВ, ОЖИДАЮЩИХ ВЫПОЛНЕНИЯ П1 (Р1) П2 (Р1) П3 (Р2) П4 (Р1) П5 (Р3) П6 (Р1) П7 (Р4) П8 (Р1) П9 (Р1) П10 (Р5) МУЛЬТИПРОГРАММНАЯ СМЕСЬ П5 (Р3) П7 (Р4) П10 (Р5) ПЛАНИРОВЩИК П1 (Р1) П3 (Р2) Выполнение ДИСПЕТЧЕР ДИСПЕТЧЕР ДИСПЕТЧЕР В операционной системе Windows имеется возможность переключения стратегий планирования в окне «Система/Свойства». По умолчанию применяется старетегия задачи переднего плана, можно выбрать варианты: • обеспечить наивысшее быстродействие ( Windows ХР;) • оптимизировать быстродействие приложений ( Windows 2000 ).

Изображение слайда
10

Слайд 10: Диспетчеризация процессов

10 Диспетчеризация процессов Оглавление ДИСПЕТЧЕРИЗАЦИЯ – краткосрочный подбор задач, ориентированных на разные ресурсы в целях повышения эффективности использования процессорного времени. Выполняется диспетчером задач 1 раза в 30 – 100 миллисекунд. В процессе планирования планировщик создаёт мультипрограммную смесь процессов, запрашивающих разные ресурсы, а диспетчер выбирает из этой смеси процессы с учётом хронологии появления и приоритета и передаёт их на выполнение. На последовательность выбора влияют также различные события, наступающие в системе. МУЛЬТИПРОГРАММНАЯ СМЕСЬ П5 (Р3) П7 (Р4) П10 (Р5) П1 (Р1) П3 (Р2) Выполнение ДИСПЕТЧЕР ДИСПЕТЧЕР ДИСПЕТЧЕР ПЛАНИРОВЩИК

Изображение слайда
11

Слайд 11: Дисциплины диспетчеризации процессов

11 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом С абсолютным приоритетом Адаптивное обслуживание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ С циклическим многоприоритетным алгоритмом С циклическим алгоритмом Циклические SJN SRT RR

Изображение слайда
12

Слайд 12: Примеры реализации динамических приоритетов

12 Примеры реализации динамических приоритетов Оглавление Система UNIX Основной принцип: равенство в обслуживании при обеспечении приемлемого времени ожидания. Реализуется на основе карусельной дисциплины ( RR ) с несколькими очередями. Дескриптор задачи... заказанный приоритет степень использования ресурсов... p_nice p_cpu Пользователь или система программирования Диспетчер задач Текущий приоритет p_priser = a ×p_nice – b×p_cpu, где a – константа, b = 0,5 или b = (2 × load)/(2 × load+1) load – среднее число процессов в системе Пересчёт происходит каждую секунду. Приоритеты имеют следующую нумерацию уровней: • 0 – 65 для режима задачи; • 66 – 97 для режима ядра; • 96 – 127 для поддержки режима реального времени.

Изображение слайда
13

Слайд 13: Примеры реализации динамических приоритетов

13 Примеры реализации динамических приоритетов Оглавление Система Windows NT/2000/XP Windows оперирует с потоками выполнения (легковесными процессами, не имеющими ничего своего, кроме процессорного времени). Потоку назначается базовый приоритет, зависящий от базового приоритета породившего его процесса 31... i+2 i i-2 0 Базовый приоритет процесса Диапазон базового приоритета потока Диапазон изменения приоритета потока Базовый приоритет потока позволяет соизмерять приоритет потока с приоритетами процессов, происходящих в вычислительной системе. Текущий приоритет потока я является динамическим. Диспетчер ведёт 32 очереди, по одной на каждый уровень приоритета, которые распределяются следующим образом: 0 – очередь для системных процессов; 1 –15 – очереди задач с переменным приоритетом; 16 – 31- очереди задач с фиксированным приоритетом. Диспетчер при прерывании задачи с приоритетами1 - 15 понижает её уровень на единицу, а при переходе из состояния ожидания в состояние готовности повышает приоритет задачи на величину, зависящую от типа события, которое ожидает заблокированный поток..

Изображение слайда
14

Слайд 14: Примеры реализации динамических приоритетов

14 Примеры реализации динамических приоритетов Оглавление Система OS/2 OS/2 поддерживает задачи четырёх классов: В пределах каждого класса задачи могут иметь приоритет от в диапазоне от 0 до 31. Диспетчер ведёт 4 × 32 =128 очередей, по одной на каждый уровень приоритета каждого класса задач. Внутри каждого класса задач используется карусельная дисциплина RR. Задачи с более высоки приоритетом вытесняют с процессора задачи с более низким приоритетом по системному прерыванию или по истечении кванта времени. Приоритет задач изменяется в случаях: задача становится активной; завершение операций ввода-вывода; задача не получает управление в течение промежутка времени, указанного оператором MAXWAIT в файле конфигурации CONFIG.SYS критические по времени задачи (задачи реального времени), которые обязательно должны получать в нужный момент некоторый минимум процессорного времени (например, задачи коммуникаций); приоритетные (серверные) задачи; обычные (они же регулярные или стандартные); остаточные (фоновые) задачи.

Изображение слайда
15

Слайд 15: Вытесняющие и не вытесняющие дисциплины обслуживания

15 Вытесняющие и не вытесняющие дисциплины обслуживания Оглавление ДИСЦИПЛИНЫ ОБСЛУЖИВАНИЯ Не вытесняющие Вытесняющие Процессор Процессор Процессор Обозначения: - процессы с большим и малым приоритетами; - супервизор

Изображение слайда
16

Слайд 16: Проблема гарантированного обслуживания

16 Проблема гарантированного обслуживания Оглавление Способ оптимизации: изменение приоритетов процессов с учётом как интересов гарантированного обслуживания процесса, так интересов оптимального использования процессорного времени Возникновение проблемы Высокая загрузка системы приводит к дискриминации низкоприоритетных процессов в обеспечении ресурсами Предъявляются высокие требования ко времени реакции системы на различные события Способы решения проблемы Выделение минимальных квот процессорного времени каждому классу процессов при наличии в них хотя бы одного готового к выполнению процесса Выделение минимальной квоты процессорного времени каждому готовому к выполнению процессу Выделение готовому к выполнению процессу времени, необходимого для выполнения вычислений

Изображение слайда
17

Слайд 17: Критерии сравнения алгоритмов диспетчеризации

17 Критерии сравнения алгоритмов диспетчеризации Оглавление Загрузка центрального процессора (в среднем для персональных систем 2 – 3%, для серверов от 15 – 40% до 90 – 100%); Пропускная способность центрального процессора, измеряется количеством процессов, выполняемым за единицу времени; Время оборота – время, затраченное на выполнение процесса с момента его появления до момента исчезновения; Время ожидания – время нахождения процесса в очереди готовых процессов; Время отклика (для интерактивных программ) – время, прошедшее от момента попадания процесса во входную очередь до момента первого обращения к терминалу.

Изображение слайда
18

Слайд 18: Понятие параллельных процессов, методы и проблемы их организации

18 Понятие параллельных процессов, методы и проблемы их организации Оглавление Процессы, выполняющиеся в мультипрограммной среде одновременно во времени называются параллельными МУЛЬТИПРОГРАММНАЯ СРЕДА Выполняющийся процесс № 2 t t 1 t 2 Выполняющийся процесс № 1 ПАРАЛЛЕЛЬНЫЕ ПРОЦЕССЫ Независимые Взаимодействующие Конкурирующие Сотрудничающие Независимые процессы – это процессы, никак не влияющие друг на друга посредством изменения данных. Взаимодействующие процессы – это процессы, оказывающие влияние друг на друга посредством изменения данных. Сервер Клиент

Изображение слайда
19

Слайд 19: Понятие параллельных процессов, методы и проблемы их организации

19 Понятие параллельных процессов, методы и проблемы их организации Оглавление Обобщённая схема взаимодействия процессов и методы его организации Формальное описание процессов кодом на языке подобном Алголу или Паскалю Р1 CS1 PR1 Р 2 CS2 PR2 Х КР Обозначения: Р1, Р2 – процессы, которые могут повторяться многократно; CS1, CS2 – критические секции программных кодов процессов; PR1, PR2 – обычные секции программных кодов процессов; Х – область общих данных в ОЗУ или на диске; КР – критический ресурс Begin { Начало программы }... Parbegin { Начало описания процессов } S11; S12; …; S1n { Перечень операторов 1 процесса } AND { Логическое И, объединяет процессы } S21; S22; …; S2m { Перечень операторов 2 процесса } Parend { Конец описания процессов } End { Начало программы } Проблемы: Синхронизация по скорости выполнения; Исключение одновременного обращения к критическому ресурсу

Изображение слайда
20

Слайд 20: Реализация взаимных исключений

20 Реализация взаимных исключений Оглавление Условные обозначения: Взаимное исключение – обеспечение невозможности обращения к критическому ресурсу более одного процесса в один и тот же момент времени Р 2 блокировка разрешение t 1 t 2 Р1 CS1 PR1 Р1 CS1 PR1 Р1 CS1 PR1 Р 2 CS2 PR2 Р1 CS1 PR1 t ∆t 1 ≠∞ t 0 ∆t 0 ≠∞ Р1 CS1 PR1 CS2 PR2 1 2 3 3а t i 3б 4 Интервал времени принятия решения о входе в критическую секцию не должен быть бесконечно долгим При любом завершении процесса, находящегося в критической секции режим взаимного исключения должен быть отменён Семафоры СПОСОБЫ РЕАЛИЗАЦИИ Блокировка памяти Команда «проверка-установка» Конвейеры, очереди и почтовые ящики сообщений Мониторы

Изображение слайда
21

Слайд 21: Блокировка памяти

21 Блокировка памяти Оглавление Блокировка памяти – запрет обращений к одному и тому байту памяти одновременно двух и более команд. Поддерживается всеми ЭВМ. Разрешает поочерёдный доступ к байту памяти двух и более процессов. АЛГОРИТМЫ БЛОКИРОВКИ ПАМЯТИ С двумя переменными С тремя переменными С одной переменной С двумя переменными с усилением взаимных исключений Алгоритм с одной переменной X ( алгоритм с переключателем) t Пуск Х 2 1 t Р1 Р2 CS1 PR1 CS1 PR1 PR2 CS2 PR2 CS2 Недостаток: Возможно длительное ожидание одним из процессов вхождения в критическую секцию

Изображение слайда
22

Слайд 22: Блокировка памяти

22 Блокировка памяти Оглавление Недостаток: Нет гарантии полного исключения, т.к. между запросом значения переменной и её установкой одним процессом проходит конечный интервал времени, в течение которого может произойти вхождение в критическую секцию другого процесса Алгоритм с двумя переменными (флагами переключений) X и Y False True CS1 PR1 CS2 PR2 t Пуск Х t Р1 Р2 t Пуск Y Ожидание Запросы Установка Усиление взаимных исключений Х Р1 Р2 Y Обычный алгоритм ?!!! Х Р1 Р2 Y Усиленный алгоритм Недостаток: Нет гарантии того, что все процессы будут иметь конечное время ожидания входа в свою критическую секцию.

Изображение слайда
23

Слайд 23: Блокировка памяти

23 Блокировка памяти Оглавление Алгоритм с тремя переменными X,Y и Z (алгоритм Деккера) Недостаток: Трудно распространяется на три и более процессов False True CS1 PR1 CS2 PR2 Wait 1 2 t Пуск Х t Р1 Р2 t Пуск Y t ... ... ... ... ... ... ... ... Безразлично О В управлении процессами участвуют два переключателя X и Y и переменная О – очередь. Переключатели как и ранее указывают на необходимость войти в критическую секцию кодов процессов, а переменная Очередь является своеобразным арбитром в случае совпадения во времени обращений процессов к критическому ресурсу.

Изображение слайда
24

Слайд 24: Специальные операции типа «Проверка-установка»

24 Специальные операции типа «Проверка-установка» Оглавление Операция «проверка – установка» осуществляется двухадресной командой, которая записывает данные по двум адресам и исключает выполнение каких-либо команд во время своего выполнения. Формат и схема выполнения команды TS операнд_1, операнд_2 1 Операнд_2 Операнд_1 Данные 1 2 Единица «вытесняет» данные из второго операнда в первый Дальнейшее развитие Изначально команда TS появилась как операция над словами данных в машинах IBM 360 и IBM 370. Дальнейшим развитием этой команды явились команды BTC, BTS и BTR, работающие с битами

Изображение слайда
25

Слайд 25: Специальные операции типа «Проверка-установка»

25 Специальные операции типа «Проверка-установка» Оглавление Формат и схема выполнения команды TS операнд_1, операнд_2 1 Операнд_2 Операнд_1 Данные 1 2 Способ применения Описание процессов Р1 Р2 Z X Y 1- хочу R1 1- хочу R1 1 - R1 занят 0 – R1 свободен Условные обозначения P1 и P2 – процессы, R1 – критический ресурс X, Y, Z – переменные – 1 – 0 t t t t Y X Z Р1 : CS X:=1 TS X,Z Z:=0 Р2: : X:=1 TS X,Z Z:=0 CS Критическая секция CS Действие алгоритма

Изображение слайда
26

Слайд 26: Семафоры и их применение

26 Семафоры и их применение Оглавление Семафор – специальная переменная, которая своим значением сигнализирует о состоянии критического ресурса и позволяет выполнить с собой два действия, называемые семафорными примитивами: P(S) – декремент значения семафора и проверка нового значения, если оно не меньше нуля, то выполняется критическая секция процесса, иначе процесс переводится в состояние ожидания; V(S) – увеличение значения семафора на единицу и перевод в состояние готовности процессов, ожидающих критический ресурс. Существует множество «семафорных» алгоритмов, создающих значения семафора с разными областями возможных целочисленных значений. Семафоры, имеющие бинарное значение называются МЬЮТЕКСАМИ. Мьютексы имеют два состояния «Отмечен» (открыт) и «Не отмечен» (закрыт).

Изображение слайда
27

Слайд 27: Семафоры и их применение

27 Семафоры и их применение Оглавление Семафор – специальная переменная, которая своим значением сигнализирует о состоянии критического ресурса и позволяет выполнить с собой два действия, называемые семафорными примитивами: P(S) – декремент значения семафора и проверка нового значения, если оно не меньше нуля, то выполняется критическая секция процесса, иначе процесс переводится в состояние ожидания; V(S) – увеличение значения семафора на единицу и перевод в состояние готовности процессов, ожидающих критический ресурс. Процесс Условные обозначения: Новое значение меньше нуля Новое значение не меньше нуля Текущее значение семафора P(S) Готовность или выполнение обычной секции Выполнение критической секции Процесс V(S) +1 Процесс Процесс Ожидание Схема действий с семафором S Кроме того для задания начального состояния семафора используется метод InitSem ( инициализация семафора )

Изображение слайда
28

Слайд 28: Семафоры и их применение

28 Семафоры и их применение Оглавление Особым видом семафора является МЬЮТЕКС ̶ семафор с двумя состояниями «Отмечен» (открыт) и «Не отмечен» (закрыт). Для работы с ними используются методы: CreateMutex – создать мьютекс; OpenMutex – открыть мьютекс ; WaitForSingleObject – ожидание события от одного объекта ; WaitForMultiplaeObject – ожидание события от множества объектов ; ReleaseMutex – освобождение мьютекса. Недостатком механизма семафоров является примитивность семафоров: они не содержат ни непосредственного указания на синхронизирующий механизм, ни непосредственного указания на ресурс, который они контролируют.

Изображение слайда
29

Слайд 29: Мониторы и их применение

29 Мониторы и их применение Оглавление Монитор – это пассивный набор разделяемых переменных и повторно входимых процедур, обеспечивающих доступ к указанным переменным. Предложены Ч. Хоаром в конце 80-х г.г. ХХ века. Монитор Повторно входимые процедуры Разделяемые переменные Запрос ресурса REQUAEST Состояние Busy Busy=True или False Условие ожидания Condition = Free Освобождение ресурса RELIASE Понятие монитора

Изображение слайда
30

Слайд 30: Мониторы и их применение

30 Мониторы и их применение Оглавление monitor Resource; {заголовок описания монитора} condition free; {условие ожидания – свободный} var busy: boolean; {описание переменной занят} Пример описания монитора Procedure REQUAEST; {заголовок процедуры Запрос ресурса} begin if busy then WAIT(free); {если монитор занят, то блокировать вызвавший } { процесс до сигнала Свободен} busy:=True; {перевод монитора в состояние Занят} TakeOff {предоставить ресурс ожидающему процессу} end; Procedure RELEASE; {заголовок процедуры Освободить монитор} begin TakeOn; {взять предоставленный ресурс} busy:=False; {освободить монитор} SIGNAL(free); {послать сигнал Свободен ожидающим процессам} end;

Изображение слайда
31

Слайд 31: Мониторы и их применение

– Busy = False – Busy = True – передача сигнала Free – передача команды Wait 31 Мониторы и их применение Оглавление Взаимодействие процессов, ресурса и монитора Монитор Процесс_1 Процесс_2 Ресурс RQ B RQ B TakeOff TakeOn RL F Обозначения: RQ – вызов процедуры Requaest RL – вызов процедуры Release t 1 t 2 t 3 t 4 W B B F W CS Критическая секция Busy t 1 Wait t 2 Free Ресурс Процесс_1 CS t 3 t 4 t t t t t

Изображение слайда
32

Слайд 32: Почтовые ящики сообщений

32 Почтовые ящики сообщений Оглавление Р1 CS1 Р 2 CS2 PR2 ПЯ Обозначения: Р1, Р2 – процессы, которые могут повторяться многократно; CS1, CS2 – критические секции программных кодов процессов; PR1, PR2 – обычные секции программных кодов процессов; ПЯ – область данных в ОЗУ или на диске (почтовый ящик); ДП1, ДП2 – дескрипторы процессов ИПЯ – информация о почтовом ящике PR1 ДП1 ДП2 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Почтовый ящик не является разделяемой переменной, он является сложной информационной структурой, хранящей сообщения и предоставляется процессам лишь во временное пользование Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N

Изображение слайда
33

Слайд 33: Почтовые ящики сообщений

33 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Достоинства почтового ящика Процессу нет необходимости иметь информацию о других процессах до получения от них сообщений; Процессы могут обмениваться несколькими сообщениями за один сеанс связи даже обращаясь к почтовым ящикам даже в разные моменты времени; Операционная система гарантирует невмешательство обмен сообщениями процессов, не имеющих к нему никакого отношения; Работа процессов, отправляющих сообщения, не зависит от работы процессов, принимающих сообщения

Изображение слайда
34

Слайд 34: Почтовые ящики сообщений

34 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Недостатки почтового ящика Почтовые ящики имеют статический характер, т.е. их характеристики задаются в момент создания ящика и не могут быть изменены; Почтовые ящики являются дополнительными ресурсами и требуют затрат на управление ими;

Изображение слайда
35

Слайд 35: Почтовые ящики сообщений

35 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Реализация почтового ящика Семафорными примитивами; Мониторами Хоара; Процедуры реализации почтового ящика монитором Хоара Sand_Massage( адресат,сообщение,буфер) Wait_Massage( отправитель,сообщение,буфер) Sand_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер)

Изображение слайда
36

Слайд 36: Конвейеры сообщений

36 Конвейеры сообщений Оглавление Конвейер сообщений представляет собой закольцованную очередь, работающую по дисциплине FIFO. Конвейер имеет начало и конец данных, на которые указывают специальные переменные – указатели. Характеризуется идентификатором и ёмкостью не более  64К. В исходном состоянии указатели равны нулю (рис. 1). При первой записи данных оба указателя увеличиваются на 1,при дальнейшей записи увеличивается только указатель конца (рис. 2). 1 2 3 4 5 6 Указатель начала Указатель конца Пустой конвейер Записанные данные Удалённые данные Начало работы Записана серия данных Стёрта часть данных Достигнут конец конвейера Добавлена серия данных Произведено стирание данных 1 2 3 4 5 6 Чтение с последующим стиранием данных происходит только с начала данных (рис. 3). Далее оба указателя достигают конца конвейера (рис. 4), а затем данные разбиваются на два сегмента (рис. 5).

Изображение слайда
37

Слайд 37: Очереди сообщений

37 Очереди сообщений Оглавление Очереди сообщений, как и конвейеры, являются средством обмена сообщениями, но имеют более сложную реализацию. Их особенностями являются: предоставление возможности использования нескольких дисциплин работы с сообщениями: FIFO, LIFO, приоритетный доступ и произвольный доступ. сохранение в ней прочитанных записей, в то время как из конвейера они удаляются. присутствие в очереди не сообщений, а их адреса в памяти и размера. Сообщения хранятся хранятся в области памяти, которая является об-щей для процессов, обменивающихся ими. Каждый процесс, пользующийся очередью должен получить доступ к общему разделу памяти через системные запросы API, т.к. очередь является системным механизмом.

Изображение слайда
38

Слайд 38: Конец раздела

38 Конец раздела Оглавление КОНЕЦ РАЗДЕЛА Завершить раздел

Изображение слайда
39

Слайд 39: СПРАВОЧНАЯ СИСТЕМА

39 СПРАВОЧНАЯ СИСТЕМА

Изображение слайда
40

Слайд 40: Задачи, процессы и ресурсы

40 Оглавление PID – номер процесса Тип (класс) процесса Приоритет выделения ресурсов Переменная состояния Контекст задачи или его адрес Параметры запуска Программа Набор данных Задача Единица работы для выполнения которой выделяется центральный процессор Задача Задача 1 Задача 2 Задача N Процесс ... Носитель данных и операций по их обработке. Обычно процесс считается последовательным = РЕСУРСЫ (обеспечивающие элементы) Дескриптор процесса = Адрес области ОЗУ, выделенной для обмена данными и сигналами с другими процессами Адрес постоянного местонахождения в ОЗУ Адрес временной выгрузки на диск Задачи, процессы и ресурсы Последовательный процесс – процесс, в котором каждая последующая команда выполняется после предшествующей. Процесс может быть в активным и пассивным. Активный процесс может быть в трёх состояниях: • ожидание; • Готовность к выполнению; • выполнение;

Изображение слайда
41

Слайд 41: Задачи, процессы и ресурсы

41 Оглавление PID – номер процесса Тип (класс) процесса Приоритет выделения ресурсов Переменная состояния Контекст задачи или его адрес Параметры запуска Программа Набор данных Задача Единица работы для выполнения которой выделяется центральный процессор Задача Задача 1 Задача 2 Задача N Процесс ... Носитель данных и операций по их обработке. Обычно процесс считается последовательным = РЕСУРСЫ (обеспечивающие элементы) Дескриптор процесса = Адрес области ОЗУ, выделенной для обмена данными и сигналами с другими процессами Адрес постоянного местонахождения в ОЗУ Адрес временной выгрузки на диск Задачи, процессы и ресурсы Ресурсы – различные элементы аппаратного и программного обеспечения, обеспечивающие выполнение процесса. Ресурс – абстрактная структура, имеющая множество атрибутов, определяющих физическое представление ресурса и способы доступа к нему. Ресурсы бывают разделяемыми и неразделяемыми (неделимыми). Разделяемые ресурсы могут быть разделяемыми одновременно и последовательно во времени.

Изображение слайда
42

Слайд 42: Дисциплины диспетчеризации процессов

42 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Бесприоритетные дисциплины не учитывают ни важности задач, ни время их обслуживания. Приоритетные дисциплины, напротив, учитывают эти факторы и предоставляют отдельным задачам возможность попасть на внеочередное обслуживание. Приоритет может быть постоянным (фиксированным или статическим) и изменяемым (динамическим). SJN SRT RR

Изображение слайда
43

Слайд 43: Дисциплины диспетчеризации процессов

43 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Линейные бесприоритетные дисциплины используют неразветвленные алгоритмы управления, предусматривающие выполнение команд в естественном порядке записи без ветвлений и циклов. Линейная дисциплина осуществляет выбор процессов из очереди в хронологическом порядке их появления в ней ( FCFS – первым пришёл, первым обслужен) или случайным образом. SJN SRT RR

Изображение слайда
44

Слайд 44: Дисциплины диспетчеризации процессов

44 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Дисциплина с выбором в порядке очереди ( FCFS – первым пришёл, первым обслужен) осуществляет выбор процессов из очереди в хронологическом порядке их появления в ней. Супервизор ведёт две очереди: • очередь новых задач; • очередь задач вновь готовых к исполнению. Две очереди позволяют реализовать принцип завершения процессов в порядке их возникновения. Недостаток: При увеличении загрузки вычислительной системы растёт и среднее время ожидания обслуживания. Поэтому для задач с меньшей трудоёмкостью неоправданно увеличивается время ожидания обслуживания. SJN SRT RR

Изображение слайда
45

Слайд 45: Дисциплины диспетчеризации процессов

45 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многопроиритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Циклические алгоритмы порождаются действием механизма прерывания. Существуют два варианта таких алгоритмов: циклические алгоритмы с одной общей очередью, в конец которой ставится прерванный процесс; циклические алгоритмы с двумя очередями для новых и прерванных процессов, причём при разблокировании прерванного процесса ему отдаётся предпочтение перед новым. Во втором случае наблюдается некое подобие приоритета, поэтому эта дисциплина отнесена и к приоритетным и к бесприоритетным дисциплинами обслуживания. Добавление в алгоритм с двумя очередями учёта различных приоритетов даёт циклический многоприоритетный алгоритм. Недостаток дисциплины – относительный рост времени ожидания выполнения коротких задач при повышении загрузки системы. SJN SRT RR

Изображение слайда
46

Слайд 46: Дисциплины диспетчеризации процессов

46 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ SJN SRT RR Дисциплина SJN – циклическая приоритетная дисциплина с одной очередью задач. Прерванные и новые задачи ставятся в неё на общих основаниях, но при выборке на выполнение предпочтение отдаётся задаче с наименьшим процессорным временем. Недостаток: короткие задачи должны ждать своей очереди наряду с прерванными процессами. Дисциплина SRT – циклическая приоритетная дисциплина с одной очередью задач. При выборке на выполнение предпочтение отдаётся задаче, затребовавшей наименьшего процессорного времени.

Изображение слайда
47

Слайд 47: Дисциплины диспетчеризации процессов

47 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многопроиритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ SJN SRT RR Дисциплина RR (карусельная) – циклическая приоритетная дисциплина с одной или несколькими очередями. В первом случае прерванные и новые задачи ставятся в очередь на равных основаниях с учётом приоритетов задач. Выборка на выполнение производится с учётом приоритетов задач. Прервать выполнение задачи может только появление задачи с более высоким приоритетом (см. алгоритм с абсолютным приоритетом). Во втором случае создаётся несколько очередей задач с одинаковыми в пределах очереди приоритетами. Выборка на выполнение производится из очередей в порядке убывания приоритета очередей. Каждой задаче выделяется порция (квант) процессорного времени, который может быть фиксированным или нарастающим. В последнем случае при необходимости величина кванта нарастает от заданного наименьшего до заданного наибольшего значения. По истечение кванта времени задача снимается с процессора. Тем самым создаётся гарантия предоставления процессорного времени всем задачам.

Изображение слайда
48

Слайд 48: Дисциплины диспетчеризации процессов

48 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Алгоритм с абсолютным приоритетом применяется в системах реального времени и предусматривает предоставление процессорного времени задаче с наивысшим приоритетом, а в случае равенства приоритетов обработка задач ведётся в порядке очереди. Прервать выполнение задачи может только появление задачи с более высоким приоритетом. Для реализации алгоритма с абсолютным приоритетом в карусельной дисциплине с одной очередью всем задачам присваивается равный приоритет, но создаётся пустая задача с наивысшим приоритетом, которая обеспечивает переключение процессора с одной задачи на другую. SJN SRT RR

Изображение слайда
49

Слайд 49: Дисциплины диспетчеризации процессов

49 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ SJN SRT RR Алгоритм с относительным приоритетом применяется в системах реального времени и предусматривает выполнение активного процесса до тех пор, пока он сам не освободит процессор. Это происходит в следующих случаях: процесс завершился или произошла ошибка; процесс переходит в состояние «ОЖИДАНИЕ» (т.е. отсутствует переход в состояние готовности после исчерпания времени работы).

Изображение слайда
50

Слайд 50: Дисциплины диспетчеризации процессов

50 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ Адаптивное обслуживание предусматривает одновременное использование и приоритета, и кванта времени, выделяемого процессу. Величина кванта увеличивается по мере повышения приоритета. Выбор из очереди может осуществляться по первому элементу или в соответствии с приоритетом. SJN SRT RR

Изображение слайда
51

Слайд 51: Дисциплины диспетчеризации процессов

51 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ SJN SRT RR Алгоритм с зависимостью приоритета от времени ожидания предусматривает снижение с течением времени приоритета выполняющейся задачи. В этом алгоритме выполняющаяся задача может быть снята с процессора в следующих случаях: процесс завершился или произошла ошибка; процесс перешёл в состояние ожидания; приоритет активного процесса становится меньше, чем у процессов, стоящих в очереди готовых к выполнению; появился новый процессс более высоким приоритетом.

Изображение слайда
52

Слайд 52: Дисциплины диспетчеризации процессов

52 Дисциплины диспетчеризации процессов Оглавление Дисциплины диспетчеризации – это принципы краткосрочного отбора задач для исполнения на основе событий, происходящих в системе. Бесприоритетные Приоритетные В порядке очереди Со случайным выбором С циклическим многоприоритетным алгоритмом С циклическим алгоритмом С зависимостью приоритета от времени ожидания С зависимостью приоритета от времени обслуживания С относительным приоритетом С фиксированным приоритетом Циклические С абсолютным приоритетом Адаптивное обслуживвание С динамическим приоритетом Линейные ДИСЦИПЛИНЫ ДИСПЕТЧЕРИЗАЦИИ SJN SRT RR С зависимостью приоритета от времени обслуживание предусматривает увеличение приоритета ожидающего процесса по мере ожидания в очереди готовых. Смена выполняющегося задания происходит в следующих случаях: процесс завершен или произошла ошибка; процесс перешел в состояние ожидания; приоритет выполняющегося задания становится меньше, чем у ожидающего в очереди готовых задания с наибольшим приоритетом; в очереди появился процесс с большим приоритетом.

Изображение слайда
53

Слайд 53: Мониторы и их применение

monitor Resource; {заголовок описания монитора} condition free; {условие ожидания – свободный} var busy: boolean; {описание переменной занят} Пример описания монитора Procedure REQUAEST; {заголовок процедуры Запрос ресурса} begin if busy then WAIT(free); {если монитор занят, то блокировать вызвавший } { процесс до сигнала Свободен} busy:=True; {перевод монитора в состояние Занят} TakeOff {предоставить ресурс ожидающему процессу} end; Procedure RELEASE; {заголовок процедуры Освободить монитор} begin TakeOn; {взять предоставленный ресурс} busy:=False; {освободить монитор} SIGNAL(free); {послать сигнал Свободен ожидающим процессам} end; 53 Оглавление Монитор Повторно входимые процедуры Разделяемые переменные Запрос ресурса REQUAEST Состояние Busy : Boolean Условие ожидания Condition Free Освобождение ресурса RELIASE

Изображение слайда
54

Слайд 54: Почтовые ящики сообщений

54 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Реализация почтового ящика Семафорными примитивами; Мониторами Хоара; Процедуры реализации почтового ящика монитором Хоара Sand_Massage( получатель,сообщение,буфер) Wait_Massage( отправитель,сообщение,буфер) Sand_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер) Sand_Massage( получатель,сообщение,буфер) выполняет: • Копирование сообщения в буфер, • Запись адреса буфера в переменную Буфер, • Добавление буфера в очередь к получателю.

Изображение слайда
55

Слайд 55: Почтовые ящики сообщений

55 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Реализация почтового ящика Семафорными примитивами; Мониторами Хоара; Процедуры реализации почтового ящика монитором Хоара Sand_Massage( получатель,сообщение,буфер) Wait_Massage( отправитель,сообщение,буфер) Sand_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер) Wait_Massage( отправитель,сообщение,буфер) выполняет блокирование процесса, запросившего сообщение до появления сообщения в его очереди. При передаче процесса на исполнение процессором он получает имя отправителя, текст сообщения и адрес буфера для ответа через переменные, указанные в списке параметров. После получения процессом сообщения буфер сообщения удаляется из очереди к процессу, и процесс может записать в него свой ответ отправителю;

Изображение слайда
56

Слайд 56: Почтовые ящики сообщений

56 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Реализация почтового ящика Семафорными примитивами; Мониторами Хоара; Процедуры реализации почтового ящика монитором Хоара Sand_Massage( получатель,сообщение,буфер) Wait_Massage( отправитель,сообщение,буфер) Sand_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер) Sand_Answer( результат,ответ,буфер) выполняет запись информации, определённой переменной Ответ в буфер, указанный переменной Буфер; Операционная система дополнительно записывает в переменную Результат признак пустого ответа, если сообщение послано несуществующему процессу или процессу так и не ставшему активным.

Изображение слайда
57

Последний слайд презентации: ЗАДАЧИ И ПРОЦЕССЫ. УПРАВЛЕНИЕ ПРОЦЕССАМИ И ЗАДАЧАМИ: Почтовые ящики сообщений

57 Почтовые ящики сообщений Оглавление ПЯ Р1 ДП1 ОПЕРАЦИОННАЯ СИСТЕМА ИПЯ ИПЯ Управление Понятие почтового ящика Устройство почтового ящика Головной элемент (ИПЯ = N, V ) Буфер_1 Буфер_2 ... Буфер_ N V N Р2 ДП2 Реализация почтового ящика Семафорными примитивами; Мониторами Хоара; Процедуры реализации почтового ящика монитором Хоара Sand_Massage( получатель,сообщение,буфер) Wait_Massage( отправитель,сообщение,буфер) Sand_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер) Wait_Answer( результат,ответ,буфер) выполняет блокирование процесса, вызвавшего процедуру до появления в его буфере какого-либо ответа. Переменная Результат является признаком пустого или непустого ответа. Переменная Ответ получает ответ из буфера почтового ящика, адрес которого указан в переменной Буфер. При передаче процесса на выполнение на процессоре, процесс получает ответ, а буфер очищается.

Изображение слайда