CPU Scheduling Simulator (CPUSS) 0.2 released!
This release includes a few new scheduling strategies including:
- Priority First (PF)
- Round Robin (varying time quantum)
Download CPUSS 0.2
As you might expect in CPUSS 0.1 the Process type had no notion of a priority and by default all processes unless stated otherwise have a medium priority.
RR - few words of warning. If you decide to use a time quantum of 1 then you should be aware that you are in effect giving each process in the ready queue 1/n of the CPU where n is the number of processes in the ready queue so it looks like each process has its own CPU, each of which of course is running at 1/n speed of the main CPU. It's somewhat a general rule that the time quantum used should be greater than 80% of CPU bursts (this will reduce the number of context switches).
A custom strategy devised by me was meant to hit this release but I've not had time to properly evaluate the equation I've produced so that will unfortunately have to wait until CPUSS 0.3. The majority of strategies here on in will be those created by me, they may take properties from other established strategies but with various other preconditions and behaviours etc in the hope of creating a "better" strategy for particular scenarios.
There are a few other features I want to add to the actual CPUSS framework in future releases including metrics for preemption, and some events to hook into for that. Quite a few other little features as well would be nice but I'll postpone them to a latter release. Like I mentioned earlier the emphasis for future releases is on the creation of new scheduling strategies using various techniques, e.g. expert rules (this will be in CPUSS 0.3) and fuzzy logic (latter releases).
Download CPUSS 0.2