Result_M:TMemo; – Место, куда выводятся результаты анализа
Proc_L:TListBox; – Основной список процессов (основная очередь)
DoneOneTime_L:TListBox; – Список процессов, использовавших свою временную квоту (очередь ожидания)
Line_RG:TRadioGroup; – Место выбора одной из трех систем распределения
Label5:TLabel; – Место вывода информации об обрабатываемом процессе
procedureStartData; - Установка начальных параметров, независящих от пользователя
procedureFindMuchStay; - Поиск процессов, слишком долго стоявших без обработки
procedure ProcessMuchIdealStay; - Помещение процесса на обработку (приближено к идеальным значениям)
procedure ProcessMuchStay; - Помещение процесса на обработку
procedureFindMuchIdealStay; - Поиск процессов, слишком долго стоявших без обработки (приближено к идеальным значениям)
procedureDoProcess; - Выбор функции распределения
procedureIncStayTime; - Увеличение времени простоя
procedurePrior_Process; - Процедура распределения задач
procedureReplace; - Перенос процессов, исчерпавших свою временную квоту
procedureShowResult; - Вывод результатов анализа
procedureSumTime; - Расчет общего времени
procedureFreeManager; - Очистка класса
functionSearchDisChecked:boolean; - Поиск процессов, не находившихся на обработке одну единицу времени
4.Используемые алгоритмы и структуры данных
Алгоритм распределения процессов является самой важной частью реализации поставленных задач. В алгоритме остро ощущается необходимость правильной расстановки процедур и функций для правильной работы системы распределения.
Этапы вышеописанного алгоритма:
1. Проверка основного списка на наличие необработанных процессов.
2. В случае отсутствия необработанных на раз процессов, метка всех процессов основного списка «необработанными».
3. При невыполнении первого условия – проверка наличия процесса на обработке.
4. Если на обработке отсутствует процесс, то происходит помещение новго процесса на обработку.
5. При наличии процесса в обработке – очистка условного «процессора».
После выполнения четвертого и пятого пункта алгоритм заканчивает свою работу. (Рисунок 1)
Алгоритм выполняется периодически. Период устанавливается таймером.
Рисунок 1. UML - Диаграмма деятельности процедуры распределения процессов:
5. Пользовательский интерфейс
Элементы интерфейса:
1. Область выбора системы распределения (один из двух).
2. Управление списком процессов – добавление (с установкой приоритета), удаление процессов, очистка рабочего места, сохранение, загрузка готовых списков.
3. Основной список процессов (основная очередь).
4. Состояние процессора (какой процесс находится на обработке).
5. Пуск/остановка работы системы распределения.
6. Счетчик процессорного времени.
7. Область для вывода результатов анализа работы системы распределения.
8. Временный список процессов (очередь ожидания)
Последовательность работы с программой:
Для добавления нового процесса необходимо воспользоваться областью управления основным списком (2), предварительно указав нужный приоритет. Для удаления ненужного процесса достаточно щелкнуть по нему в списке процессов (3) и нажать кнопку «Удалить».Уже готовый список процессов можно сохранить в отдельный файл до последующей загрузки для повторного анализа работы систем распределения.
После того как пользователь добавил нужные процессы, необходимо в области выбора (1) отметить один из двух типов системы распределения задач.
Для начала распределения нужно нажать на кнопку «Старт программы» (5)
Когда начнется распределение, некоторые процессы будут перемещаться из основной очереди во временную(8). Состояние условного «процессора» отображается в виде строчки, на которую выводится информация о процессе, в данный момент обрабатывающийся в процессоре (4). В зависимости от выбора системы распределения в нужный момент времени процессы будут возвращены в основную очередь из очереди ожидания.
После некоторого необходимого пользователю времени распределение останавливается нажатием на кнопку «Стоп» (5).
Сразу после нажатия кнопки «Стоп», в
область результатов анализа (7) выводятся все данные о проделанной работе
(результаты анализа).
6. Анализ результатов
моделирования
При моделировании у двух разных систем распределения были одинаковые первоначальные условия: значения приоритетов процессов находилось в отрезке от 1 до 10, от каждого приоритета по пять процессов, счетчик времени обнулен, ни одного процесса во временной очереди.
Ниже приведена гистограмма разницы между идеальной системой распределения и реальной, а также гистограмма среднего времени ожидания. Гистограммы затрагивают каждый из десяти приоритетов. Гистограммы приведены для каждой системы распределения.
Примечание: Если в гистограмме разницы между реальными и идеальными значениями отсутствует полоса какого-либо приоритета, то это значит что у приоритета эта разница равна 0.
Внимание! У гистограммы разницы между идеальным и реальным временем распределения по вертикали расположена сама разница, а по горизонтали – общее время. У гистограмм среднего времени ожидания по вертикали расположены сами значения ожидания, а по горизонтали – общее время.
ФУНКЦИЯ РАСПРЕДЕЛЕНИЯ №1
Гистограмма разницы между реальными и идеальными значениями:
Гистограмма среднего времени ожидания:
ФУНКЦИЯ РАСПРЕДЕЛЕНИЯ №2
Гистограмма разницы между реальными и идеальными значениями:
Гистограмма среднего времени ожидания:
7. Вывод
В ходе проделанной работы удалось:
1. Создать возможность установления начальных условий для анализа.
2. Сделать возможным сохранение и загрузку начальных списков процессов.
3. Сделать интуитивно понятный и удобный интерфейс.
4. Реализовать поставленные в рамках курсовой работы задачи.
5. Выявить наиболее удобную системы распределения задач.
Исходя из результатов анализа работы систем распределения, наиболее удобной и справедливой (в плане отношения реального и близкого к идеальным значениям доставшегося на обработку времени, а также среднего времени простоя процессов с i-ым приоритетом) является система распределения задач №2.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.