Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания (новвое форматирование).doc
Скачиваний:
24
Добавлен:
08.02.2015
Размер:
262.66 Кб
Скачать

4. Задания для лабораторных работ

4.1 Лабораторная работа № 1. ”Программная реализация средств представления и управления процессами в многопрограммных ос”

Цель работы.

Осуществить формирование средств представления процессов и механизмов управления их состоянием на уровне диспетчеризации.

Содержание работы.

При выполнении лабораторной работы необходимо разработать алгоритм и составить программу, имитирующую работу простейшей ОС, (в дальнейшем будем называть ее "системой"), которая должна выполнять перечисленные ниже действия:

– формирование дескрипторов процессов, вводимых в "систему";

– определение состояний, в котором находятся все известные "системе" процессы;

– формирование и ведение списочных структур ("очередей") дескрипторов на основании их состояний, приоритетов и используе­мой дисциплины диспетчеризации;

Рассмотрим более подробно перечисленные задачи.

4.1.1. Формирование дескрипторов процессов

Формирование структуры данных, выполняющей роль дескриптора для каждого "поступающего" в "систему" процесса должно осуществляться путем ввода информации с видеотерминала в режиме пассивно­го диалога (пользователь вводит ответы на вопросы, выводимые системой); при формировании дескриптора необходимо осуществить ввод следующей информации:

имя процесса (символьная строка, содержащая не более 8 символов);

приоритет процесса (целое число в диапазоне 0-255);

объем ОП, необходимый для размещения машинной программы (целое число в диапазоне 512-32767);

перечень внешних и периферийных устройств, используемых процессом (устройства идентифицируются символическими именами  –символьными константами: DISKO, DISK1, ТАРЕО, ТАРE1, PRINT, PLTTR, соответственно – диски, ленты, печать, графопостроитель), каждый процесс может использовать не более трех устройств;

– в том случае, если в качестве внешних устройств используются диски, при формировании дескриптора необходимо запрашивать и помещать в дескриптор наименование файла, используемого данным процессом, (наименование файла – символьная строка, длина которой не превышает 8 символов).

При представлении дескриптора процесса какой-либо структурой данных используемого языка программирования необходимо предусмотреть размещение в нем информации о состоянии данного процесса. Структура, представляющая каждый дескриптор, должна допускать ее расширение при выполнении следующих лабораторных работ практикума (для размещения дополнительной информации о процессе), а также допускать эффективное объединение дескрипторов в списки процес­сов, находящихся в одинаковых состояниях, и работу с такими списками.

4.1.2. Определение состояний "поступивших" процессов

Определение состояний процессов, поступивших на уровень диспетчеризации, осуществляется "системой" на основании анализа требуемых данному процессу ресурсов и их доступности. Как отмечалось выше, активный процесс - процесс, конкурирующий за использование ресурсов ВС, может находится в одном из трех состояний: готовность, выполнение, описание. Для рассматриваемых однопроцессорных ВС только один процесс в каждый момент времени находится в состоянии выполнение. Остальные поступившие в "систему" процес­сы могут находится либо в состоянии готовность, либо в состоянии ожидание. Их дескрипторы образуют соответственно списки готовые и ожидающих процессов (каждый из которых, в общем случае, может быть пустым).

Дисциплина диспетчеризации, реализуемая при выполнении первой лабораторной работы, предусматривает помещение вновь поступающего процесса в состояние готовность в том случае, если:

– для машинной программы, соответствующей данному процессу, возможно выделение участка ОП, необходимого размера;

– остальные ресурсы, необходимые для процесса, не использую­тся в момент поступления процесса на уровень диспетчеризации.

При невыполнении любого из перечисленных условий поступившему процессу присваивается состояние ожидание.