ТВП. Отчёт №1
.doc
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра автоматизированных систем управления (АСУ)
МОДЕЛИРОВАНИЕ ОРГАНИЗАЦИИ И ОБСЛУЖИВАНИЯ ОЧЕРЕДЕЙ ПРОЦЕССОВ К СОВМЕСТНО ИСПОЛЬЗУЕМЫМ РЕСУРСАМ
Отчёт по лабораторной работе №1
по дисциплине «Теория вычислительных процессов»
Выполнил:
студент гр. 430-2
_______ Тимофеев Д. Н.
«____»_________2013 г.
Проверил:
доцент кафедры АСУ
________ Ефремов В. А.
«____»_________2013 г.
-
Цель и постановка задачи
Научиться организовывать очереди процессов к совместно используемым ресурсам, моделировать дисциплины обслуживания созданных очередей.
-
Краткое описание метода управления процессами и алгоритма, моделирующего данный метод
-
Круговой циклический алгоритм
В основе лежит дисциплина FIFO. Процессы добавляются в очередь. Время обслуживания каждого процесса ограничено и определяется так называемым квантом времени. Первым обслуживается процесс в начале очереди. Если запрос на использование ресурса из начала очереди обслуживается до конца за время выделенного кванта, то он покидает очередь, в противном случае - становится в конец очереди.
-
Обслуживание с абсолютным приоритетом
Приоритет процесса определяется очередью (ее номером). Первый запрос из очереди i поступает на обслуживания лишь тогда, когда все очереди от 1 до i-1 пустые. На обслуживание выделяется квант времени. Если за это время обслуживание запроса завершается полностью, то он покидает систему. В противном случае недообслуженный запрос поступает в конец очереди с номером i+1.
При поступлении запроса с более высоким приоритетом обслуживание текущего запроса прерывается и обслуживается вновь поступивший. После этого дообслуживается прерванный запрос.
-
Обслуживание с относительным приоритетом
Приоритет процесса определяется очередью (ее номером). Первый запрос из очереди i поступает на обслуживания лишь тогда, когда все очереди от 1 до i-1 пустые. На обслуживание выделяется квант времени. Если за это время обслуживание запроса завершается полностью, то он покидает систему. В противном случае недообслуженный запрос поступает в конец очереди с номером i+1.
При данной дисциплине заявка, входящая в систему, не вызывает прерывания обслуживаемой заявки, даже если последняя и менее приоритетная. В данном случае только после окончания обслуживания менее приоритетной начинается обслуживание более приоритетной.
-
Описание разработанной программы
Внешний вид главного окна представлен на рисунке 3.1.
При запуске программы отображается главное окно и диалог открытия файла XML.
Из входного файла считываются данные о параметрах ресурса (единица измерения времени, максимальный временной интервал, который может быть выделен отдельно взятому процессу ресурсом) и отображаются на форме.
Далее программа переходит в режим ожидания и предлагает пользователю выбрать алгоритм обслуживания процессов. После выбора алгоритма необходимо нажать кнопку «Запуск», которая инициализирует необходимую структуру данных для выбранного алгоритма. В случае кругового циклического алгоритма используется очередь (FIFO), а в многоочередных алгоритмов – список очередей.
Далее необходимо добавить процессы нажатием кнопки «Добавить» (одно нажатие добавляет один процесс). При добавлении процесса программно считываются параметры процесса из записи XML-файла и заносятся в структуру данных, соответствующую выбранному алгоритму. Первый добавленный процесс сразу же извлекается из структуры данных и поступает на обслуживание (при этом параметры текущего процесса отображаются на форме).
При выполнение процесса происходит обновление данных на форме каждую единицу времени выполнения (параметр ресурса). Состояние очередей отображаются в таблице на форме. В любой момент можно приостановить или возобновить обслуживание текущего процесса нажатием соответствующей кнопки на форме.
После того, как выполнятся все добавленные процессы, программы переходит в режим ожидания, в котором можно добавить новые процессы либо завершить обслуживание процессов по данному алгоритму нажатием кнопки «Завершить», после которой можно выбрать другой алгоритм обслуживания.
Рисунок 3.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 |
-
Выводы
В ходе выполнения данной лабораторной работы мной были получены практические навыки по организации очередей процессов к совместно используемым ресурсам и моделированию дисциплины обслуживания созданных очередей. Были изучены многоочередные алгоритмы обслуживания с абсолютным и относительным приоритетами, а также круговой циклический алгоритм.