Разработка программы для моделирования работы планировщика потоков.
Назначение программы: демонстрация работы основных алгоритмов управления порядком выполнения потоков БЕЗ создания реальных потоков.
Реализуемая модель: схема с динамическими абсолютными приоритетами и квантованием выделяемого процессорного времени, но БЕЗ блокирования потоков в связи с необходимостью ожидания наступления какого-либо события.
Исходные данные: - возможные состояния потоков: выполнение и готовность - число уровней приоритета: 5 - основная структура данных: АДРЕСНЫЙ СПИСОК дескрипторов потоков - структура дескриптора: запись с тремя полями (порядковый номер потока, его текущий приоритет, текущее состояние) - требование к списку: упорядоченность в зависимости от убывания приоритета, причем набор потоков с ОДИНАКОВЫМ приоритетом должен вести себя как ОЧЕРЕДЬ
Программа должна отрабатывать ТРИ события: создание нового потока, завершение кванта времени у активного потока, завершение выполнения активного потока.
Создание нового потока включает в себя: - генерацию порядкового номера потока - запрос приоритета у пользователя - проверку занятости процессора - сравнение приоритетов у нового и активного потоков - при необходимости досрочное прерывание активного потока с увеличением на 1 его приоритета, изменением состояния и включением в конец набора потоков с таким же приоритетом - включение нового потока в соответствующее место очереди потоков с установкой соответствующего состояния
Завершение кванта времени у АКТИВНОГО потока включает в себя: - уменьшение на 1 приоритета (если это возможно) - изменение состояния и включение в конец набора потоков с таким же приоритетом - выбор на выполнение наиболее приоритетного потока с изменением его состояния
Завершение выполнения АКТИВНОГО потока включает в себя: - удаление дескриптора из списка - выбор на выполнение наиболее приоритетного потока с изменением его состояния или выводом сообщения о бездействии процессора
Требования к программе: - тип приложения: консольный или оконный (по выбору) - управление программой (запуск обработки событий): простейшее меню или кнопки - отображение текущего состояния списка дескрипторов - язык реализации: С/C++
Тип: Решение задач
Предмет: C/C++
Задача на С++ ввод из файлов input и вывод в output
Стоимость: 409,5 руб.
Эссе — вид творческого задания, в котором автор должен аргументировано изложить свою позицию. Эссе может быть как аудиторной или домашней работой, так и частью экзамена по иностранному языку: его пишут на ЕГЭ или при .Если хотите получать больше полезных советов и интересной информации о студенческ…
Читать дальшеВо время учёбы студентам приходится выполнять расчётные курсовые, или проекты с расчётной частью. Данный вид заданий вызывает наибольший страх. Но не волнуйтесь! В этой статье мы расскажем, как написать расчётную или расчётно-технологическую часть курсовой работы и какие программы помогут сделать…
Читать дальше