- •Содержание
- •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.2.3. Имитация развития процессов при выполнении л. Р. № 2
Как отмечалось в 4.1.4., при выполнении первой л.р. смена состояний процессов возможна только при поступлении в "систему" ряда определенных команд пользователя. При реализации дисциплины циклической диспетчеризации смена состояний процесса (процессов), приводящая к переупорядочиванию списковых структур дескрипторов, производится и в том случае, если квант времени ЦП, отведенный выполняемому процессу, истек. В связи с этим возникает необходимость определять данную ситуацию. Здесь возможно несколько решений.
Первое. Поскольку реально процессы в рассматриваемой модели ВС не развиваются, истечение кванта времени ЦП можно определить условно, искусственно, считая, что квант времени ЦП, отведенный для текущего выполняемого процесса, истек после поступления определенного количества команд пользователя. Например, после обработки любых трех команд, поступивших а "систему" должна выполняться операция диспетчеризации процессов “Истечение_кванта", и выполняемый процесс должен передать управление ЦП другому процессу.
Второе решение связано с использованием возможностей, предоставляемых системой программирования и операционной системой, в среде которых производится выполнение данного лабораторного практикума. Момент истечения кванта ЦП для выполняемого процесса определяется программно, путем обращения к таймеру вычислительной машины. Реализация данного подхода требует знания программирования работы с таймером и не является обязательной.
4.2.4. Порядок выполнения л.Р. № 2
1. Разработать алгоритм диспетчеризации, реализующий описанную выше схему диспетчеризации. При этом необходимо учитывать имеющуюся программную реализацию, полученную в ходе выполнения первой работы практикума.
2. Осуществить программирование модулей, реализующих разработанный алгоритм.
3. Продумать и подготовить тестовый пример, полно и наглядно демонстрирующий корректность реализации требуемой дисциплины диспетчеризации (совокупность процессов, их характеристик, порядка поступления их в "систему" и т.п.).
4. Осуществить работу с тестовым примером, документируя результаты работы "системы".
5. Подготовить отчет.
4.2.5. Требования к отчету по л.Р. № 2
Отчет должен содержать:
1. Описание алгоритма диспетчеризации, реализуемого в ходе работы (в виде схемы алгоритма или с использованием диаграмм Шнейдерманна или на формализованном ограниченном естественном языке).
2. Перечисление программных модулей, в которые необходимо внести изменения для реализации описанной дисциплины диспетчеризации. При необходимости ввода новых модулей описать из назначение и внешнюю спецификацию.
3. Подробное описание тестового примера, демонстрирующего правильность реализации заданной дисциплины диспетчеризации.
4. Протокол работы Вашей "системы" в соответствии с разработанным тестовым примером.
5. Письменные ответы на контрольные вопросы к л.р. № 2.
4.2.6. Контрольные вопросы к л.Р. № 2
1. Для какого режима работы ВС – а) разделения времени, б) реального времени, в) пакетной обработки – наиболеецелесообразно использование квантование времени ЦП и почему?
2. Какое влияние оказывает длительностькванта времени ЦП на эффективность функционирования многопрограммной ОС?
3. Какие процессы "длительные" или "короткие" находятся в более благоприятных условиях при многоочередной дисциплине циклической диспетчеризации?
4. Приведите преимущества и недостатки использования описанной диспетчеризации.
