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.
This commit is contained in:
1 parent
64bbc4ca27
commit
9c552e53fa
12 files changed
+550
-67
No files matched your search
@@ -65,10 +65,10 @@ describe('SchedulerConfig', () => {
|
||||
expect(screen.getByLabelText('Quantum do Round Robin')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('shows Quantum field when algorithm is MULTILEVEL', () => {
|
||||
it('shows MLQ queue config panel when algorithm is MULTILEVEL', () => {
|
||||
setAlgorithm('MULTILEVEL');
|
||||
render(<SchedulerConfig />);
|
||||
expect(screen.getByTestId('quantum-field')).toBeInTheDocument();
|
||||
expect(screen.getByTestId('mlq-queues-config')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('does NOT show Quantum field for SJF_NP', () => {
|
||||
|
||||
Reference in new issue
Block a user