Создан заказ №3629563
10 февраля 2019
Разработка программы для моделирования работы планировщика потоков.
Как заказчик описал требования к работе:
Разработка программы для моделирования работы планировщика потоков.
Назначение программы: демонстрация работы основных алгоритмов управления порядком выполнения потоков БЕЗ создания реальных потоков.
Реализуемая модель: схема с динамическими (но НЕ абсолютными) приоритетами, квантованием процессо
рного времени и блокированием потоков в связи с необходимостью ожидания наступления какого-либо события.
Исходные данные:
- возможные состояния потоков: выполнение, готовность, блокировка
- в блокированном состоянии потоки НЕ претендуют на время процессора
- число уровней приоритета: 5
- абсолютные приоритеты: НЕ используются
- основная структура данных: МАССИВ дескрипторов потоков
- структура дескриптора: запись с тремя полями (порядковый номер потока, его текущий приоритет, текущее состояние)
- требование к массиву: упорядоченность в зависимости от убывания приоритета, причем набор потоков с ОДИНАКОВЫМИ приоритетом должен вести себя как ОЧЕРЕДЬ
Программа должна отрабатывать ПЯТЬ событий: создание нового потока, завершение кванта времени у активного потока, завершение выполнения активного потока, блокирование активного потока, разблокирование выбранных потоков
Создание нового потока включает в себя:
- генерацию порядкового номера потока
- случайную генерацию приоритета
- проверку состояния процессора
- включение нового потока в соответствующее место очереди потоков с установкой соответствующего состояния в зависимости от состояния процессора
Завершение кванта времени у АКТИВНОГО потока включает в себя:
- уменьшение на 1 приоритета (если это возможно)
- изменение состояния и включение в конец набора потоков с таким же приоритетом
- выбор на выполнение наиболее приоритетного потока (из числа готовых) с изменением его состояния
Завершение выполнения АКТИВНОГО потока включает в себя:
- удаление дескриптора из массива
- выбор на выполнение наиболее приоритетного потока (из числа готовых) с изменением его состояния или выводом сообщения о бездействии процессора
Блокирование АКТИВНОГО потока включает в себя:
- увеличение на 1 приоритета (если это возможно)
- изменение состояния и включение в конец набора потоков с таким же приоритетом
- выбор на выполнение наиболее приоритетного потока (из числа готовых) с изменением его состояния или выводом сообщения о бездействии процессора
Разблокирование потока включает в себя:
- выбор пользователем одного из заблокированных потоков
- изменение его состояния на «готовность»
Требования к программе:
- тип приложения консольный или оконный (по выбору)
- управление программой (запуск обработки событий): простейшее меню или кнопки
- отображение текущего состояния массива дескрипторов
- язык реализации: С/C++, Паскаль/Delphi, Java, C# (по выбору)
подробнее
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
11 февраля 2019
Заказ завершен, заказчик получил финальный файл с работой
5
Разработка программы для моделирования работы планировщика потоков..docx
2021-03-19 18:05
Последний отзыв студента о бирже Автор24
Общая оценка
4.9
Положительно
Прекрасно выполненная работа! Рекомендую всем, у кого возникают трудности с выполнением контрольных работ.