Component 14

Death Clock

GitHub issues GitHub forks

About

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).

System Description

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:

  1. HPF (Highest Priority First)
  2. STRN (Shortest Time Remaining Next)
  3. RR (Round Robin)
  4. HPFP(The Preemtive version of HPF)
  5. FCFS(First Come )

Used Data structures

Algo/Part DS
Processes WTA - RR - Waiting list Queue
HPF - SRTN - HPFP Priority queue
Buddy Sorted linked list

Results

Test Case

Schedular File

Memory File

Work load

Part Person
HPF - SRTN - HPFP - FCFS - RoundRobin Mahmoud Reda - Mustafa Hamzawy
Buddy System Mohamed Walid

Contributors


Mahmoud Reda


Mustafa Hamzawy


Mohamed Walid