4. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.............................................14
5.ПРИЛОЖЕНИЕ. Текст программы..................................................................15
Введение
Задачей данного курсового проекта является разработка многозадачной модели, реализующей управление процессами без приоритетов. Переключение работы центрального процессора происходит по времени. Каждому процессу задаётся длительность обслуживания процессором.
Модель представлена программой на языке GPSS, приведены основные характеристики работы системы — длина очереди, среднее время пребывания процесса в системе.
В проекте приводится зависимость характеристик модели от исходных данных — таких как интервалы между поступлениями процессов в систему, времени, необходимого для завершения процесса, величины кванта времени.
Фрагмент работы
Процессу соответствует заявка (сообщение), которая поступает в систему с интервалом времени, распределённым экспоненциально. Для этого используется функция, задающая экспоненциальный закон: EXPO FUNCTION RN1,C23 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.81/.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7./.9998,8.
Далее объявляется переменная, принимающая значения интервалов времени между соседними поступлениями заявок ( запрос нового процесса на обслуживание процессором): POK FVARIABLE (7#FN$EXPO)
Далее эта переменная POK используется для временной параметризации блока GENERATE, который отвечает за поступление в систему очередной заявки: GENERATE V$POK
Время, необходимое для обслуживания каждого процесса, распределяется равномерно в интервале [a,b], где RN2 — случайная величина от 0 до 999, и сохраняется в переменной PARAM: PARAM VARIABLE a+(b-a)#(RN2/1000)
Время обслуживания записывается в параметр №1 каждой заявки (каждый процесс знает, сколько ему потребуется времени для полного обслуживания): ASSIGN 1,V$PARAM
Процесс (заявка) поступает в очередь: DO_MORE QUEUE CCC
Проверяется состояние процессора занят или свободен: SEIZE CPU
Процесс переходит из очереди на обслуживание: DEPART CCC
Процесс занимает процессор на квант времени, равный единице модельного времени: ADVANCE 1
Значение оставшегося времени обслуживания модифицируется на величину кванта времени ( параметр заявки уменьшается на единицу): ASSIGN 1-,1
Процесс покидает центральный процессор ( заявка освобождает устройство): RELEASE CPU
Производится проверка состояния процесса: если параметр, характеризующий оставшееся время обслуживания, равен нулю, процесс покидает систему, иначе снова поступает в очередь: TEST G P1,0,EXIT_SYS TRANSFER ,DO_MORE TERMINATE 1
2.2. Анализ поведения модели
Модель ведет себя по-разному в зависимости от параметров системы, а именно:
от интенсивности входного потока, т.е. от интервала между поступлениями заявок ( процессов) tз от параметров процессов — времени обслуживания процессором tоб от величины кванта времени tкв
В итоге получаются различные выходные параметры — состояние системы, такие как: время пребывания процесса в системе, включая ожидание в очереди tпреб среднее значение величины очереди Q
В таблице 1 приводятся характеристики системы при различных входных параметрах
Заключение
В данном курсовом проекте разработана модель управления процессами без приоритетов с использованием языка GPSS World.
Рассмотрено поведение системы при различных значениях параметров процессов, занимающих центральный процессор.
Список литературы
1. В.Л. Дашонок, С.Г. Свистунов. Моделирование вычислительных систем - ПГУПС
2. А.В. Красновидов. Конспект лекций по дисциплине «Операционные системы»
3. А.В. Красновидов. Пособие по лабораторным по курсу «Операционные системы»
4. Е.М. Кудрявцев. GPSS World. Основы имитационного моделирования различных систем. - М.: ДМК Пресс, 2004