A CPU scheduler determines an order for the execution of its scheduled processes; it decides which process will run according to a certain data structure that keeps track of the processes in the system and their status.
A process, upon creation, has one of the three states: Running, Ready, Blocked (doing I/O, using other resources than CPU or waiting on unavailable resource).
Consider a Computer with 1-CPU and fixed size memory (1024 ==> can be changed). Our scheduler implemented the complementary components as sketched in the following diagrams.
📌 NOTE:
We are supporting the following Scheduling algorithms:
- HPF (Highest Priority First)
- STRN (Shortest Time Remaining Next)
- RR (Round Robin)
- HPFP(The Preemtive version of HPF)
- FCFS(First Come )
Algo/Part | DS |
---|---|
Processes WTA - RR - Waiting list | Queue |
HPF - SRTN - HPFP | Priority queue |
Buddy | Sorted linked list |
Part | Person |
---|---|
HPF - SRTN - HPFP - FCFS - RoundRobin | Mahmoud Reda - Mustafa Hamzawy |
Buddy System | Mohamed Walid |
Mahmoud Reda |
Mustafa Hamzawy |
Mohamed Walid |