/
glrbbir
/
ShedulerOS
Обзор
Документация
Войти
/
glrbbir
/
ShedulerOS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
utils/factory.js
30 строк
961 B
Gleb
project
12 июн 2026, 19:15
12 июн 2026, 19:15
9180c5a
Код
Авторство
О чём код?
/** * Создание планировщика по имени алгоритма */ class SchedulerFactory { static create(algorithmName, params = {}) { switch (algorithmName.toUpperCase()) { case 'FCFS': return new FCFSScheduler(params); case 'RR': return new RRScheduler(params); case 'SJF_NP': return new SJFScheduler({ ...params, preemptive: false }); case 'SJF_P': return new SJFScheduler({ ...params, preemptive: true }); case 'HRRN': return new HRRNScheduler(params); case 'PRIORITY_NP': return new PriorityScheduler({ ...params, preemptive: false }); case 'PRIORITY_P': return new PriorityScheduler({ ...params, preemptive: true }); case 'MLQ': return new MLQScheduler(params); case 'MLFQ': return new MLFQScheduler(params); default: throw new Error(`Unknown algorithm: ${algorithmName}`); } } }