Пример построения временной диаграммы мультипрограммной работы ЭВМ (дисциплина обслуживания FIFO)



ЛАБОРАТОРНАЯ РАБОТА №3. Планирование заданий с учетом требований к памяти и внешним устройствам

Цель работы: изучение и исследование некоторых алгоритмов и способов планирования заданий (с учетом требований к памяти и внешним устройствам) в мультипрограммной вычислительной системе.

 

Краткие теоретические сведения

Общие сведения о планировании заданий

Функцией службы управления процессом является распределение аппаратных ресурсов центрального процессора.

Можно выделить следующие компоненты этой службы:

– планировщик заданий,

– планировщик задач (планировщик процессов).

Задание представляет собой описание комплекса работ, которые пользователь хочет выполнить на ЭВМ. Этот комплекс может быть представлен в виде последовательности некоторых частных работ, описываемых с помощью шагов задания. Из шагов задания формируются задачи. Для выполнения задач система создает процессы.

Объектами работы планировщика заданий являются задания, а планировщик задач управляет процессами.

Планировщик заданий выбирает, какие задания и в какой последовательности должны поступать на обработку (своего рода «макропланировщик»).

Планировщик задач выступает в роли «микропланировщика», распределяющего процессор между процессами.

В случае мультипрограммирования планировщик заданий выбирает несколько заданий из множества всех представленных и вводит их в систему. Для каждого задания формируется таблица задания JCB (Job Control Block). Пример таблицы задания приведен на рис. 1.

Идентификатор задания –

Количество шагов –

1

приоритет – объем памяти – число внешних устройств –

предполагаемое время выполнения –

признаки выполнения задачи –

2 . . N

 

 

признаки выполнения задачи –

Рис. 1. Таблица задания.

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

Планировщик процессов должен решить, какому из созданных процессов предоставить процессор, в какой момент и на какое время.

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

Дисциплины обслуживания

Как уже упоминалось, планировщик заданий обеспечивает выбор задания из очереди и передачу его на обработку в соответствии с определенной дисциплиной обслуживания.

Дисциплиной обслуживания называют правило, на основе которого из очереди выбирается задание на обслуживание.

Классификация дисциплин обслуживания приведена на рис.2.


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

1. Линейная дисциплина обслуживания FIFO (First In – First Out). Из очереди заявок на обслуживание выбирается заявка, поступившая в очередь первой.

2. Линейная дисциплина обслуживания LIFO (Last In – First Out). Из очереди заявок на обслуживание выбирается заявка, поступившая в очередь последней.

3. Дисциплина обслуживания с фиксированным приоритетом SJF (Short Job First). Из очереди заявок на обслуживание выбирается заявка с минимальным временем обслуживания.

4. Дисциплина обслуживания с фиксированным приоритетом PRT (PRioriTy). Из очереди заявок на обслуживание выбирается заявка с максимальным приоритетом.

Оценки эффективности планирования

Существует несколько оценок эффективности планирования. Одной из них является время обращения задания – время, прошедшее с момента поступления задания в систему до момента завершения его выполнения.

t = tЗ – tП, где

t – время обращения задания,

tЗ – время завершения задания,

tП – время поступления задания.

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

Более универсальной оценкой, позволяющей сравнивать между собой задания любой длины, является взвешенное время обращения

W = (tЗ – tП) / T, где

W – взвешенное время обращения,

T – действительное время выполнения задания.

Для случая M заданий можно провести оценку по среднему взвешенному времени обращения

, где WСР – средневзвешенное время обращения, Wi – взвешенное

время обращения i -го задания, M – количество заданий.

Пример построения временной диаграммы мультипрограммной работы ЭВМ (дисциплина обслуживания FIFO)

Примем, что в нашем распоряжении имеются 9 Kb оперативной памяти и 5 внешних устройств. Характеристики заданий приведены в таблице 1.

Таблица 1. Характеристики заданий.

Номер задания Время поступления Необходимое процессорное время Требования к ОП Требования к ВУ
1 0 30 8 1
2 7 10 7 1
3 12 10 8 2
4 20 20 1 1

 

Время ввода каждого задания определим по формуле:

tввода = q Ч N , где

q – время работы одного внешнего устройства (q=5 ед.времени), N – число внешних устройств.

Таким образом, если бы задания выполнялись по одному, то на каждое задание было бы затрачено время

T = tввода + tпроц. , где

T – время выполнения задания,

tпроц. – процессорное время, затраченное для выполнения задания.

В ЭВМ поступает поток заданий, поэтому при одновременном выполнении нескольких заданий процессорное время распределяется между ними равномерно. Т.о. реально затраченное время для выполнения задания ≥ необходимого процессорного времени.

Для простоты предположим, что все внешние устройства могут работать параллельно, не задерживая друг друга.

Временная диаграмма мультипрограммной работы ЭВМ при приведенных выше исходных данных изображена на рис.3

 

Рис. 3. Временная диаграмма мультипрограммной работы ЭВМ
(Дисциплина обслуживания FIFO).

 

Процесс построения временной диаграммы рассмотрен в таблице 2.

Таблица 2. Описание построения временной диаграммы.

Время Событие
t = 0 Поступило задание 1. Т.к. свободных ресурсов (ОП и ВУ) заданию хватает, оно назначается на выполнение. (Начинается ввод).
t = 5 Ввод завершен и все процессорное время отдается для выполнения задания 1.
t = 7 Поступило задание 2. Свободных ресурсов для выполнения задания недостаточно, поэтому оно помещается в очередь.
t = 12 Поступило задание 3. Свободных ресурсов для выполнения задания недостаточно, поэтому оно также помещается в очередь. В очереди сейчас находятся задания 2 и 3.
t = 20 Поступило задание 4. Т.к. свободных ресурсов заданию хватает, оно назначается на выполнение. Первые 5 ед. времени процессорное время заданию 4 не требуется и его полностью получает задание 1.
t = 25 Завершился ввод задания 4. С этого момента времени процессор необходим обоим заданиям. Процессор начинает работать в мультипрограммном режиме. Каждое из заданий получает 10 ед. процессорного времени. В сумме процессорного времени затрачено 20 ед.
t = 45 Завершено выполнение задания 1. Ресурсы, занятые им, освобождены. Теперь свободных ресурсов достаточно для назначения на выполнение задания 2 или 3 (но не одновременно). В действие вступает дисциплина обслуживания FIFO. На выполнение назначается задание 2 – оно поступило первым (задание 3 остается в очереди).
t = 50 Те 5 ед. времени, в течение которых выполнялся ввод задания 2, все процессорное время (5 ед.) получило задание 4. Вновь процессор начинает работать в мультипрограммном режиме. 10 ед. процессорного времени распределяются между заданиями 4 и 2.
t = 60 Выполнение задания 4 завершено, но освободившихся ресурсов недостаточно для назначения на выполнение задания 3. Задание 3 остается в очереди.
t = 65 Завершилось выполнение задания 2. освободившихся ресурсов достаточно для назначения на выполнение задания 3. Задание 3 выполняется в однопрограммном режиме.
t = 85 Завершилось выполнение задания 3.

Каким образом можно проверить правильность построения времен­ной диаграммы?

Для этого необходимо определить по временной диаграмме, сколько времени работал процессор. Это временные интервалы с t=5 до t=65 и с t=75 до t=85. В интервале с t=65 до t=75 процессор простаивал. Таким образом, процессор работал в течение 70 ед. времени.

Далее необходимо просуммировать процессорное время всех выполненных заданий.

Tпроцессора = 30+10+10+20=70 ед.

Значения равны, следовательно, диаграмма построена верно.

Для оценки эффективности дисциплины обслуживания найдет средневзвешенное время обращения. Согласно формуле . Необходимо найти взвешенные времена выполнения каждого задания (данные берем из временной диаграммы и таблицы):

1. W1 = (tЗ – tП) / T = (tЗ – tП) / (tввода + tпроц) = (tЗ – tП) / (q Ч N + tпроц) = (45 – 0) / (5 Ч 1 + 40) =
= 1.00

2. W2 = (65 – 7) / (5 Ч 1 + 15) = 2.90

3. W3 = (82 – 12) / (5 Ч 2 + 10) = 3.65

4. W4 = (60 – 20) / (5 Ч 1 + 35) = 1.00

Т.о. Wср = (W1 + W2 + W3 + W4) / 4 = 2.14.

Описание модели, планировщик заданий

В настоящей лабораторной работе реализована модель планировщика заданий. Программная модель планировщика заданий реализует следующие функции:

– ввод параметра потока заданий;

– ввод параметров системы;

– назначение задания на выполнение и выделение заданию необходимых ресурсов (при условии, что свободных ресурсов достаточно для выполнения задания);

– отслеживание выполняющихся заданий в дискретные моменты вре­мени (через каждый квант модельного времени);

– выборку заданий из очереди в соответствии с заданной дисциплиной обслуживания;

– отсчет времени ввода и выполнения задания;

– печать состояния заданий через каждый квант модельного времени.

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

После ввода пользователем параметров системы и заданий, по нажатию клавиши «Старт» программа переходит в режим моделирования. В режиме моделирования программа создает для внутренних целей журнал работы. В этом вывода на экран не происходит.

После завершения моделирования программа переключается в режим диалога с пользователем и осуществляет вывод на экран результатов моделирования. Работа в этом режиме происходит только с журналом полученных результатов, т.е. при изменении параметров просмотра (View -> Diagram, View -> Process и т.д.) повторного моделирования не происходит, а изменяются лишь параметры просмотра содержимого журнала.

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

Блок-схема работы программы в режиме моделирования приведена на Рис. 4.

Рис. 4. Блок-схема программной модели планировщика заданий.

Исходные данные

В ЭВМ (работа которой промоделирована в настоящей лабораторной работе) имеется память объемом 16К и 10 внешних устройств, реализуется режим мультипрограммирования: если одновременно выпол­няется несколько задач, а процессорное время распределяется между ними равномерно. В ЭВМ поступает поток (или пакет) из заданий. Поступившие задания, которым не хватает свободных ресурсов, помещаются в очередь. Для выборки заданий из очереди (среди заданий, для которых достаточно свободных ресурсов) используются дисциплины обслуживания FIFO, LIFO, SJF, PRT. Задание состоит из одной задачи. Для формирования последовательности заданий используется набор из 10 типов задач, характеристики которых приведены в таблице 3. Каждое задание включает одну из этих 10 задач. В одном потоке заданий могут встречаться задания, содержащие одинаковые задачи. Для выполнения каждого задания требуется определенный объем оперативной памяти, несколько внешних устройств, процессорное время.

Если бы задания выполнялись по одному, то на каждое задание было бы затрачено время

T = tвода + tпроцессора, где

T – время выполнения задания,

tввода – время ввода задания,

tпроцессора – процессорное время, необходимое для выполнения задания.

Время ввода задания определяется по формуле

tввода = q Ч N, где

N – число внешних устройств, используемых заданием,

q – время работы одного внешнего устройства (q = 5 ед. модельного времени).

Закрепленные за заданием внешние устройства освобождаются только после завершения задания. Все внешние устройства могут ра­ботать параллельно, не задерживая друг друга.

Варианты заданий

Таблица 3. Характеристики задач.

Номер задачи 0 1 2 3 4 5 6 7 8 9
Процессорное время, ед. модельного времени 70 30 40 10 60 30 20 40 30 50
Требования к ОП, К 6 3 2 4 3 5 7 4 6 1
Требования к ВУ, шт. 2 4 3 2 2 1 4 2 5 4
Приоритет 2 4 6 1 3 7 2 5 6 7

 

Таблица 4. Варианты заданий.


Дата добавления: 2018-06-01; просмотров: 1171; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!