Commit Graph
5 Commits
Author SHA1 Message Date
Lucas Guerra 571d8e51d2 refactor: Convert scheduling algorithms to class-based BaseAlgorithm structure, update engine and tests, and add new algorithm and metrics documentation. 2026-03-23 16:04:14 -03:00
Lucas Guerra 9c552e53fa feat: implement Multilevel Queue (MLQ) scheduling algorithm
- Added MLQ scheduling logic in multilevel.ts, including queue selection, preemption rules, and quantum expiration checks.
- Updated SchedulerConfig to include mlqQueues for MLQ configuration.
- Created default MLQ queue definitions for use in presets and process store.
- Modified process store to auto-increment process IDs.
- Enhanced tests for MLQ scheduling, covering selection, preemption, quantum expiration, and integration scenarios.
- Updated existing presets to support MLQ and adjusted process definitions to include auto-incremented IDs.
2026-03-19 18:28:04 -03:00
Lucas Guerra 64bbc4ca27 feat: enhance context switch handling in Gantt chart and add related tests 2026-03-19 17:43:07 -03:00
Lucas Rayan 51a8a6fa40 Implement Priority Round Robin Scheduling Algorithm with Tests
- Added `priority_rr` algorithm to handle scheduling based on priority and round-robin principles.
- Created unit tests for `select()`, `shouldPreempt()`, and `isQuantumExpired()` functions to ensure correct behavior.
- Developed integration tests to validate the scheduling logic under various scenarios, including preemption and round-robin execution.
- Introduced `useExport` hook for exporting process metrics to CSV format.
- Added `useGanttScroll` hook to manage smooth scrolling of the Gantt chart during simulation.
2026-03-19 16:45:05 -03:00
Lucas Guerra 083fc0027e feat: Implement initial Process Scheduling Simulator application with core logic, algorithms, UI components, and project setup. 2026-03-19 14:12:21 -03:00