Файл: Курсовая работа по дисциплине операционнные системы Тема курсовой работы Исследование алгоритмов планирования многопоточных вычислительных процессов.doc
Добавлен: 29.11.2023
Просмотров: 380
Скачиваний: 5
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
-
СОЗДАНИЕ ПРЕДВАРИТЕЛЬНОГО СПИСКА ПРЕЦЕДЕНТОВ
-
Вводить данные о системе, проектировать систему.
-
Выбирать алгоритм обслуживания процессов. -
Определять характеристики обслуживаемых процессов. -
Просматривать результаты обработки процессов. -
Просматривать диаграмму обслуживания процессов. -
Сохранять полученные результаты и диаграмму.
-
Создает очередь процессоров (если их несколько). -
Передает процессорам данные о времени кванта, времени, затрачиваемом на смену контекста. -
Создает очередь процессов и передает каждому данные о времени прихода в систему, о времени обработки, приоритет. -
Запускает обработку по выбранному алгоритму. Получает результаты обработки.
-
Пользователь может осуществить ввод данных о системе (процессорах). -
Пользователь может осуществить выбор требуемого алгоритма. -
Пользователь может осуществить ввод данных о процессах. -
Пользователь может получить результаты обработки.
-
РАЗДЕЛЕНИЕ ПРЕЦЕДЕНТОВ
-
Пользователь может определить количество процессоров в системе. -
Пользователь может определить время смены контекста. -
Пользователь может определить время кванта. -
Пользователь может определить количество приоритетов. -
Пользователь может определить количество процессов в системе. -
Пользователь может определить время прихода каждого процесса. -
Пользователь может определить время обслуживания каждого процесса. -
Пользователь может определить приоритет каждого процесса. -
Пользователь может осуществить выбор требуемого алгоритма. -
Система может создать очередь процессоров. -
Система может передать сведения о времени кванта, времени, затрачиваемом на смену контекста процессорам. -
Система может создать очередь процессов. -
Система может передать сведения о времени прихода в систему, о времени обработки, приоритете процессам. -
Пользователь может получить результаты обработки.
-
ОБЪЕДИНЕНИЕ ПРЕЦЕДЕНТОВ
-
Пользователь может определить количество процессоров в системе. -
Пользователь может определить параметры системы (время смены контекста, время кванта, количество приоритетов). -
Пользователь может определить количество процессов в системе. -
Пользователь может определить параметры процессов (время прихода, время обслуживания, приоритет). -
Пользователь может осуществить выбор требуемого алгоритма. -
Система может инициализировать очередь процессоров. -
Система может инициализировать очередь процессов. -
Пользователь может получить результаты обработки.
-
КОНЕЧНЫЙ СПИСОК ПРЕЦЕДЕНТОВ
-
Определение количества процессоров в системе. -
Определение параметров системы. -
Определение количества процессов в системе. -
Определение параметров процессов. -
Определение алгоритма. -
Получение результатов работы системы. Система-
Инициализация очереди процессоров. -
Инициализация очереди процессов.
-
-
ОПРЕДЕЛЕНИЕ ПОСЛЕДОВАТЕЛЬНОСТИ СОБЫТИЙ ДЛЯ КАЖДОГО ПРЕЦЕДЕНТА
-
Определение количества процессоров в системе.
-
Определение параметров системы. Ввод необходимых параметров системы, Предпосылки - не требуются. Последствия - инициализация процессоров. Альтернатива: окончание работы с системой. -
Определение количества процессов в системе.
-
Определение параметров процессов. Ввод необходимых параметров процессов.
-
Определение алгоритма. Выбор алгоритма обслуживания.
Альтернатива: обработка по алгоритму FIFO (по умолчанию).
-
Получение результатов работы системы. Просмотр результатов работы системы. Предпосылки: определение алгоритма, обработка данных. Последствия: получение результатов.
-
Инициализация очереди процессоров,
-
Инициализация очереди процессов.
3.11. КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ
3.12. ОБЩИЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
-
Поскольку система создается в учебных целях, то необходимо, чтобы она представляла простой и удобный графический интерфейс (GUI - Graphical User Interface). -
Пользователю будет предложено ввести параметры системы, в которой он хочет работать: количество процессоров в системе, время, затрачиваемое на переключения контекста, количество приоритетов и время кванта (для алгоритма RoundRobin). После чего происходит инициализация данной системы. -
Далее ему будет необходимо определить алгоритм, по которому будут обрабатываться процессы. В системе будет реализовано четыре основных алгоритма: FIFO, LIFO, SJF и RoundRobin, особенности которых уже были описаны выше. Для удобства работы с системой предполагается, что у пользователя будет возможность изменить алгоритм обработки вплоть для начала работы системы (нажатия специальной клавиши), т.е. даже введя данные о системе и процессах, пользователь может изменить алгоритм. Он также может изменить алгоритм обработки и после начала обработки, но в этом случае данные о предыдущей обработке будут утеряны. -
Затем пользователь должен будет ввести параметры процессов для обработки. В системе предполагается использовать следующие параметры: время до начала процесса (или время прихода процесса в систему, в секундах, отсчет времени ведется от начала инициализации), время, необходимое для обработки процесса, приоритет процесса. Следует заметить, что приоритет используется лишь в алгоритме RoundRobin, но вводить его необходимо даже при работе с другими алгоритмами. Это связано с тем, что программа предполагает работу с различными алгоритмами без потери данных о системе и введенных процессах. Поэтому если пользователь после обработки алгоритмом FIFO, LIFO или SJF захочет посмотреть на результат работы алгоритма RR, а приоритет не будет введен, данная обработка не будет иметь смысла. -
После ввода всех необходимых сведений о системе пользователь может начать обработку процессов по выбранному алгоритму. -
После обработки на экран будут выведены сведения о результатах. Также предполагается вывод диаграммы обслуживания процессов. -
Для удобства анализа и сравнения должна быть возможность сохранения полученных данных в файл. -
После завершения обработки пользователь может изменить алгоритм обработки (для сравнения полученных данных). При изменении алгоритма обработки результаты прошлой обработки теряются. Для того чтобы пользователь мог сравнить полученные результаты, предусматривается запись в файл (см. предыдущий пункт). Пользователь также может изменить параметры системы, при этом данные о процессах не теряются и пользователь может по полученным результатам определить оптимальные параметры системы. При изменении данных о процессах не меняются все остальные данные, т.е. подобрав необходимую систему, есть возможность проверить ее на различных очередях.
4. Объектно-ориентированное проектирование и программирование
-
ПРОЕКТИРОВАНИЕ ВЫВОДА
-
время ожидания каждого из процессов; -
время нахождения в системе каждого из процессов; -
среднее время ожидание процессов в системе; -
среднее время нахождения процессов в системе; -
время простоя каждого процессора; -
время работы каждого процессора; -
время, затраченное на смену контекста каждого процессора; -
среднее время простоя процессоров в системе; -
среднее время работы процессоров в системе; -
среднее время, затраченное на смену контекста в системе; -
диаграмма обслуживания процессов.
-
ПРОЕКТИРОВАНИЕ ВВОДА
-
количество процессоров -
время на смену контекста -
количество приоритетов -
время кванта -
количество процессов -
время прихода процесса в систему -
время обслуживания процесса -
приоритет процесса
-
ПРОЕКТИРОВАНИЕ ОБРАБОТКИ ДАННЫХ
Для других алгоритмов задача существенно усложняется, так как в алгоритме LI] система должна брать процесс, пришедший последним. Но также нельзя брать процесс, который еще «не пришел», т.е. необходимо ввести некоторое процессорное Bf мя, с которым будут сравниваться времена прихода процессов в систему. Для удобства обработка будет вестись до тех пор, пока в очереди будут «не обслуженные» процесс. Для простоты в определение процесса необходимо будет ввести индикатор, который и будет говорить системе, обслуживался ли уже этот процесс, или еще нет.Кроме того, предполагается, что система будет многопроцессорной. Поэтому на каждом шаге необходимо будет определить, какой из процессоров должен обслужить следующий процесс. Для этого в начале каждого шага очередь процессоров будет сортироваться процессорному времени, процессор с наименьшим процессорным временем и будет бр; следующий процесс. После того как определен процессор обслуживания, необходимо определить процесс для обслуживания. По-видимому, должна будет формироваться резервная очередь «пришедших» процессов, которая будет отсортирована по времени прихода процессора в систему. Из нее должен будет последний пришедший процесс.Данная очередь формируется на основе сравнения времени прихода процесса в систему и процессорного времени отобранного процессора. Возможен случай, когда в очереди не идет не одного процесса, т.е. существует разрыв между временем прихода процесса и процессорным временем (процессор простаивал). В этом случае из общей очереди берется первый пришедший процесс, а время простоя процессора продвигается на величину разрыва, вместе со временем простоя продвигается и процессорное время. Поскольку в системе участвует несколько процессоров, и их процессорное время движется не синхронно, то возможно шествование процессов, которые уже «поступили» в один процессор, но еще не «поступи, в другой, во избежание возможных ошибок, на каждом шаге, для каждого процессора фомируется новая очередь «поступивших» процессов. В конце шага эта очередь очищается.Отличие алгоритма SJF от описанного выше LIFO заключается в том, что обслуживаться должен не последний поступивший процесс, а процесс с наименьшей длинной. Таким образом обслуживание при алгоритме обслуживания SJF отличается ли в способе сортировке очереди «поступивших» процессов. Алгоритм RR имеет наибольшие отличия от всех остальных алгоритмов.