
- •Содержание
- •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. Задания для лабораторных работ
4.1 Лабораторная работа № 1. ”Программная реализация средств представления и управления процессами в многопрограммных ос”
Цель работы.
Осуществить формирование средств представления процессов и механизмов управления их состоянием на уровне диспетчеризации.
Содержание работы.
При выполнении лабораторной работы необходимо разработать алгоритм и составить программу, имитирующую работу простейшей ОС, (в дальнейшем будем называть ее "системой"), которая должна выполнять перечисленные ниже действия:
– формирование дескрипторов процессов, вводимых в "систему";
– определение состояний, в котором находятся все известные "системе" процессы;
– формирование и ведение списочных структур ("очередей") дескрипторов на основании их состояний, приоритетов и используемой дисциплины диспетчеризации;
Рассмотрим более подробно перечисленные задачи.
4.1.1. Формирование дескрипторов процессов
Формирование структуры данных, выполняющей роль дескриптора для каждого "поступающего" в "систему" процесса должно осуществляться путем ввода информации с видеотерминала в режиме пассивного диалога (пользователь вводит ответы на вопросы, выводимые системой); при формировании дескриптора необходимо осуществить ввод следующей информации:
– имя процесса (символьная строка, содержащая не более 8 символов);
– приоритет процесса (целое число в диапазоне 0-255);
– объем ОП, необходимый для размещения машинной программы (целое число в диапазоне 512-32767);
– перечень внешних и периферийных устройств, используемых процессом (устройства идентифицируются символическими именами –символьными константами: DISKO, DISK1, ТАРЕО, ТАРE1, PRINT, PLTTR, соответственно – диски, ленты, печать, графопостроитель), каждый процесс может использовать не более трех устройств;
– в том случае, если в качестве внешних устройств используются диски, при формировании дескриптора необходимо запрашивать и помещать в дескриптор наименование файла, используемого данным процессом, (наименование файла – символьная строка, длина которой не превышает 8 символов).
При представлении дескриптора процесса какой-либо структурой данных используемого языка программирования необходимо предусмотреть размещение в нем информации о состоянии данного процесса. Структура, представляющая каждый дескриптор, должна допускать ее расширение при выполнении следующих лабораторных работ практикума (для размещения дополнительной информации о процессе), а также допускать эффективное объединение дескрипторов в списки процессов, находящихся в одинаковых состояниях, и работу с такими списками.
4.1.2. Определение состояний "поступивших" процессов
Определение состояний процессов, поступивших на уровень диспетчеризации, осуществляется "системой" на основании анализа требуемых данному процессу ресурсов и их доступности. Как отмечалось выше, активный процесс - процесс, конкурирующий за использование ресурсов ВС, может находится в одном из трех состояний: готовность, выполнение, описание. Для рассматриваемых однопроцессорных ВС только один процесс в каждый момент времени находится в состоянии выполнение. Остальные поступившие в "систему" процессы могут находится либо в состоянии готовность, либо в состоянии ожидание. Их дескрипторы образуют соответственно списки готовые и ожидающих процессов (каждый из которых, в общем случае, может быть пустым).
Дисциплина диспетчеризации, реализуемая при выполнении первой лабораторной работы, предусматривает помещение вновь поступающего процесса в состояние готовность в том случае, если:
– для машинной программы, соответствующей данному процессу, возможно выделение участка ОП, необходимого размера;
– остальные ресурсы, необходимые для процесса, не используются в момент поступления процесса на уровень диспетчеризации.
При невыполнении любого из перечисленных условий поступившему процессу присваивается состояние ожидание.