Это консольное приложение основано на первом примере, первом (FCFS), самой короткой работе первой (SJF) и SRTF (сначала кратчайшие оставшиеся время) алгоритмы планирования. В настоящее время он находится в стадии разработки, чтобы включить больше алгоритмов, и функция диаграммы Gantt еще не реализована.
Основная логика алгоритма FCFS проста. Первый процесс всегда имеет время ожидания 0. Время ожидания процесса рассчитывается на основе времени взрыва предыдущего процесса и времени ожидания предыдущего процесса. Приказ о выполнении следует по приказу прибытия.
Алгоритм SJF опирается на основанный на условиях, в то время как цикл для сортировки входящих процессов, в то время как другие процессы все еще работают. Это гарантирует, что время взрыва процесса становится нулевым, что указывает на его завершение, прежде чем перейти к следующему процессу. Алгоритм приоритет более коротким временем взрыва, стремясь минимизировать время ожидания.
Алгоритм SRTF является превентивной версией алгоритма SJF. Он выбирает процесс с самым коротким оставшимся временем для выполнения. Если новый процесс наступит с более коротким временем взрыва, чем процесс выполнения в настоящее время, алгоритм SRTF предотвратит текущий процесс и переключится на новый, более короткий процесс.
Программа была разработана с использованием объектно-ориентированного подхода для улучшения повторного использования и простоты. Ключевые классы включают:
Класс Process :
AvgWTTAT для расчета и отображения среднего времени ожидания и времени выполнения целей для множества процессов.Запасы алгоритма планирования:
Schedule .Process , применяют соответствующий алгоритм планирования и обновляют время ожидания и поворота для каждого процесса.Чтобы использовать программу планирования процессов:
Не стесняйтесь исследовать код, изменить его и реализовать дополнительные алгоритмы или функции планирования в соответствии с вашими требованиями.