Моделирование алгоритмов планирования операционной системы для процессов, например, приоритетное планирование, многоуровневое планирование, ...


Этот репозиторий, обнаруженный здесь, на самом деле является университетским проектом operating system курса
И реализовано с языком Java .
Отображение иерархии классов демонстрируется здесь:
---- Cpuscheduler
----------- |
----------- SRC
------------------ |
------------------ Процесс // Данные каждого процесса, например, время начала, время взрыва, ...
------------------ ЦП // ЦП для моделирования графика
------------------ Планировщик // Аннотация класса для примитивных методов и полей
------------------ SCH_FCFS // Сначала приходите First Hear Scheduler
------------------ SCH_SJF // САМЕЙ КОРОТКОЙ РАБОТЫ Первый планировщик (может быть упреждающим)
------------------ SCH_PRIORITY // Приоритетный планировщик (может быть превентивным)
------------------ SCH_RR // Планировщик Round Robin
------------------ SCH_LOTTERY // Планировщик лотереи
------------------ SCH_MULTILEVEL // Multi-Plageler (может быть упреждающим)
------------------ FXMLDOCUMENTCONTROLLER // Контроллер для основного графического интерфейса
------------------ SIMUTIONCONTROLLER // Контроллер для моделирования GUI
----/
Процесс: либо процесс выполняет, либо ожидает, что эти 2 состояния обрабатываются в:
ПРОЦЕССОР:
Планировщик:
ПРИМЕЧАНИЯ
Обратите внимание, что блок времени моделирования составляет 0,1, поэтому время взрыва или время задержки должно быть кратным 0,1
Обратите внимание, что порядок каждой строки указывает порядок прибытия процесса
Обратите внимание, что входной формат такой для каждой строки (время взрыва, время задержки, приоритет, уровень)
Обратите внимание, что минимальная продолжительность переключения контекста в этом моделировании составляет 0,4
Обратите внимание, что минимальная продолжительность Quantum для круглого планировщика Robbin в этом моделировании составляет 0,2, потому что единица времени составляет 0,1, а квант не может быть меньше, чем единица времени
Введите Tabel:
| Имя процесса | Время прибытия | Выполнить время | Уровень |
|---|---|---|---|
| 1 | 0 | 5 | 1 |
| 2 | 1 | 8 | 2 |
| 3 | 3 | 7 | 2 |
| 4 | 4 | 3 | 1 |
| 5 | 5 | 3 | 1 |
| 6 | 8 | 11 | 2 |
| 7 | 15 | 3 | 1 |
| 8 | 25 | 4 | 1 |
Например, мы проводим процесс планирования в многоуровневом не упущенном (L1: FCFS, L2 FCFS) ниже (файл input.txt)

Сначала мы вводим информацию о процессе и выбираем планирование Alghorithm, затем нажмите кнопку запуска

Подождите, пока симуляция закончится

Теперь вы можете увидеть результаты

Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.