- •Содержание
- •1. Введение и структура лабораторного практикума
- •2. Основные требования, предъявляемые к разрабатываемым программам
- •3. Краткие сведения о проблемной области выполняемых работ
- •Пассивные состояния
- •Активные состояния
- •Операции создания/удаления процессов
- •Операции планирования процессов
- •Удаление_п
- •Выполнение
- •Возобновление
- •Операции диспетчеризации процессов
- •4. Задания для лабораторных работ
- •4.1 Лабораторная работа № 1. ”Программная реализация средств представления и управления процессами в многопрограммных ос”
- •4.1.1. Формирование дескрипторов процессов
- •4.1.2. Определение состояний "поступивших" процессов
- •4.1.3. Формирование и ведение списков дескрипторов процессов
- •4.1.4. Принцип имитации развития процессов
- •4.1.5. Организация взаимодействия с "системой"
- •4.1.5.1. Описание состава и назначения команд пользователя "Система" должна выполнять следующие команды пользователя:
- •4.1.5.2. Основные требования к форме ввода команд "системы"
- •Формирование дескриптора
- •Протокол работы программы
- •4.1.6. Порядок выполнения л.Р. № 1
- •4.1.7. Требования к отчету по л.Р. № 1
- •4.1.8. Контрольные вопросы к л.Р. № 1
- •4.2. Лабораторная работа № 2. "Изучение дисциплин диспетчеризации процессов в многопрограммных ос".
- •4.2.1. Краткое описание схемы одноочередной круговой (циклической) диспетчеризации.
- •Конец … начало
- •З Конец … начало Выполнениеапуск Выбор Завершение
- •4.2.2. Краткое описание алгоритма многоочередной диспетчеризации для операцииИстечение_кванта.
- •Конец … начало
- •4.2.3. Имитация развития процессов при выполнении л. Р. № 2
- •4.2.4. Порядок выполнения л.Р. № 2
- •4.2.5. Требования к отчету по л.Р. № 2
- •4.2.6. Контрольные вопросы к л.Р. № 2
- •4.3. Лабораторная работа № 3. "Реализация дисциплин диспетчеризации процессов с учетом приоритетов".
- •4.3.1. Краткое описание схемы многоочередной диспетчеризации с учетом приоритета.
- •Выполнение
- •Конец … начало
- •4.3.2. Порядок выполнения л.Р. № 3
- •4.3.3. Требования к отчету по л.Р. № 3.
- •4.3.4. Контрольные вопросы к л.Р. № 3
- •4.4. Лабораторная работа № 4. "Реализация дисциплины диспетчеризации процессов с учетом запросов ввода/вывода"
- •4.4.1. Краткое описание схемы диспетчеризации процессов с учетом ввода/вывода и ее реализации.
- •4.4.2. Порядок выполнения и требования к отчету л.Р. № 4
- •4.4.3. Контрольные вопросы к л.Р. № 4
4.1.7. Требования к отчету по л.Р. № 1
Отчет должен содержать:
1. Сформулированную студентом постановку задачи.
2. Структуру разрабатываемой программы (на уровне модулей) с указанием их входных и выходных данных.
3. Алгоритмы работы модулей (в виде схемы алгоритма или с использованием диаграмм Шнейдерманна или на формализованном ограниченном естественном языке).
4. Описание алгоритма диспетчеризации, реализуемого в ходе данной работы.
5. Подробное описание тестового примера, демонстрирующего правильность реализации поставленной задачи.
6. Протокол работы Вашей "системы" в соответствии с разработанным тестовым примером.
7. Письменные ответы на контрольные вопросы к л.р. № 1
4.1.8. Контрольные вопросы к л.Р. № 1
I группа.
1 .Сформулируйте определение состояния процесса. 2. Охарактеризуйте причины изменения состояний процессов в ВС. З. Что является причиной изменения состояний процессов в разработанной Вами "системе"?
II группа.
1. Перечислите операции диспетчеризации, реализуемые при выполнении л. р. № 1. 2. Составьте диаграмму переходов процессов из одного состояния в другое. 3. Каким образом инициируется выполнение каждой из реализованных в Вашей "системе" операции диспетчеризации?
III. группа.
1. Приведите краткое описание команд взаимодействия с разработанной Вами "системой". 2. Каждой "управляющей" команде поставьте в соответствие операции планирования и диспетчеризации, выполнение которых вызывает данная команда 3. Перечислите ситуации в работе Вашей "системе", которые приводят к выполнению операции "Выделение_ресурса".
4.2. Лабораторная работа № 2. "Изучение дисциплин диспетчеризации процессов в многопрограммных ос".
Цель работы.
Освоение и программная реализация дисциплин распределения ресурсов, используемых в многопрограммных ОС.
Содержание работы.
При выполнении лабораторной работы № 2 необходимо осуществить развитие дисциплины диспетчеризации, реализованной в ходе выполнения лабораторной работы № 1. Развитие дисциплины диспетчеризации должно осуществляться по следующим направлениям:
1. Изменение при переводе процесса в состояние готовность. Формирование соответствующего списка должно осуществляться в соответствии с перечисленными выше условиями (см. 4.1.3.); однако место в спискеготовыхпроцессов, определяемое ранее по принципуHPF=FCFS, при выполнении лабораторной работы № 2 должно определяться с учетом объема ОП, необходимой для выполнения машинной программы, - чем "короче" программа, тем ближе к началу списка должен располагаться соответствующий дескриптор (при сохранении принципаHPF), т.е. речь идет о реализации комплексного правилаHPF=SMN=FCFS.
2. Реализация принципа циклическойдиспетчеризации.
3. В ходе лабораторной работы № 2 дополнительно к операциям диспетчеризации процессов Выбор, Запрос_ресурса, Выделение_ресурсаи операции планирования процессов –Завершение(реализуемых при выполнении лабораторной работы № 1) необходимо осуществить программную имитаций операции диспетчеризации процессовИстечение_кванта.
4.2.1. Краткое описание схемы одноочередной круговой (циклической) диспетчеризации.
Схема дисциплины циклической диспетчеризации достаточно проста и в основном базируется на принципе FIFO, реализующим классическуюочередь.Однако, для повышения эффективности работы ВС в условиях необходимости распределения того или иного ресурса, который в каждый момент времени может обслуживать только один процесс, а также при необходимости учета приоритетов, диспетчеризуемых процессов, целесообразно использовать различные модификации алгоритмов циклической диспетчеризации
Приведем последовательное рассмотрение алгоритмов циклического обслуживания применительно к операциям диспетчеризации активных процессов.
