Department of Computing: CLO4 (Design & Implement Various Pieces of OS Software)
Department of Computing: CLO4 (Design & Implement Various Pieces of OS Software)
Department of Computing: CLO4 (Design & Implement Various Pieces of OS Software)
Introduction
The process scheduling is the activity of the process manager that handles the removal of the
running process from the CPU and the selection of another process on the basis of a particular
strategy.
Process scheduling is an essential part of a Multiprogramming operating systems. Such
operating systems allow more than one process to be loaded into the executable memory at a
time and the loaded process shares the CPU using time multiplexing.
Objectives
The purpose of this lab is to introduce the concept of process scheduling and let the study get
the hands on experience on writing process scheduling code for themselves
Tools/Software Requirement
Description
A Process Scheduler schedules different processes to be assigned to the CPU based on particular
scheduling algorithms. There are six popular process scheduling algorithms which we discussed in class
−
● First-Come, First-Served (FCFS) Scheduling
● Shortest-Job-Next (SJN) or Shortest Job First Scheduling
● Shortest Remaining Time
● Priority Scheduling
● Round Robin(RR) Scheduling
● Multiple-Level Queues Scheduling
Tasks
Task 1:
Create a C code for priority scheduling. Working in the following manner. The program asks the
user to give the total number of jobs. User also provide the job ID, Burst time and the priority.
For each job compute the following: Calculate response time of each process and also compute
the turnaround time, Finish time and waiting time for each process. At the end, the program
should also compute the average waiting time as well. Also show and represent any kind of
Gantt Chart for the algorithm.
Task 2:
To implement Round Robin CPU scheduling algorithm. The program should ask for the list
of processes and their arrival time and burst time. It also ask the user for quantum time. Do
the round robin scheduling and provide the finish time, waiting time, turnaround time and at
the end also show the list of all processes in any form of Gantt Chart.
Deliverables: