Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТВП. Отчёт №1

.doc
Скачиваний:
22
Добавлен:
11.05.2015
Размер:
107.01 Кб
Скачать

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра автоматизированных систем управления (АСУ)

МОДЕЛИРОВАНИЕ ОРГАНИЗАЦИИ И ОБСЛУЖИВАНИЯ ОЧЕРЕДЕЙ ПРОЦЕССОВ К СОВМЕСТНО ИСПОЛЬЗУЕМЫМ РЕСУРСАМ

Отчёт по лабораторной работе №1

по дисциплине «Теория вычислительных процессов»

Выполнил:

студент гр. 430-2

_______ Тимофеев Д. Н.

«____»_________2013 г.

Проверил:

доцент кафедры АСУ

________ Ефремов В. А.

«____»_________2013 г.

  1. Цель и постановка задачи

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

  1. Краткое описание метода управления процессами и алгоритма, моделирующего данный метод

    1. Круговой циклический алгоритм

В основе лежит дисциплина FIFO. Процессы добавляются в очередь. Время обслуживания каждого процесса ограничено и определяется так называемым квантом времени. Первым обслуживается процесс в начале очереди. Если запрос на использование ресурса из начала очереди обслуживается до конца за время выделенного кванта, то он покидает очередь, в противном случае - становится в конец очереди.

    1. Обслуживание с абсолютным приоритетом

Приоритет процесса определяется очередью (ее номером). Первый запрос из очереди i поступает на обслуживания лишь тогда, когда все очереди от 1 до i-1 пустые. На обслуживание выделяется квант времени. Если за это время обслуживание запроса завершается полностью, то он покидает систему. В противном случае недообслуженный запрос поступает в конец очереди с номером i+1.

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

    1. Обслуживание с относительным приоритетом

Приоритет процесса определяется очередью (ее номером). Первый запрос из очереди i поступает на обслуживания лишь тогда, когда все очереди от 1 до i-1 пустые. На обслуживание выделяется квант времени. Если за это время обслуживание запроса завершается полностью, то он покидает систему. В противном случае недообслуженный запрос поступает в конец очереди с номером i+1.

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

  1. Описание разработанной программы

Внешний вид главного окна представлен на рисунке 3.1.

При запуске программы отображается главное окно и диалог открытия файла XML.

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

Далее программа переходит в режим ожидания и предлагает пользователю выбрать алгоритм обслуживания процессов. После выбора алгоритма необходимо нажать кнопку «Запуск», которая инициализирует необходимую структуру данных для выбранного алгоритма. В случае кругового циклического алгоритма используется очередь (FIFO), а в многоочередных алгоритмов – список очередей.

Далее необходимо добавить процессы нажатием кнопки «Добавить» (одно нажатие добавляет один процесс). При добавлении процесса программно считываются параметры процесса из записи XML-файла и заносятся в структуру данных, соответствующую выбранному алгоритму. Первый добавленный процесс сразу же извлекается из структуры данных и поступает на обслуживание (при этом параметры текущего процесса отображаются на форме).

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

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

Рисунок 3.1 – Главное окно программы

  1. Набор тестов

Название

Входные данные

Выходные данные

Имя

Приоритет

Время

Имя

Приоритет

Время

Круговой циклический алгоритм

(параметры ресурса: time_measurement = "ss", resource_time_limit = "4")

Homer Simpson

1

40

Homer Simpson

1

36

Marge Simpson

2

10

Marge Simpson

2

6

Bart Simpson

3

15

Bart Simpson

3

11

Обслуживание с абсолютным приоритетом (параметры ресурса: time_measurement = "ms", resource_time_limit = "2")

Stan

Marsh

1

5

Stan

Marsh

2

3

Kyle

Broflovsky

2

6

Kyle

Broflovsky

3

4

Eric Cartman

3

15

Eric Cartman

4

13

Обслуживание с относительным приоритетом

(параметры ресурса: time_measurement = "ms", resource_time_limit = "7")

Philip J. Fry

1

5

<покинул систему>

Turanga Leela

2

6

<покинул систему>

Bender Bending Rodrigues

3

15

Bender Bending Rodrigues

4

8

  1. Выводы

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

7