0% found this document useful (0 votes)
8 views3 pages

Operating Systems Scheduling Project

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views3 pages

Operating Systems Scheduling Project

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

CS 330: Operating System

Semester Design Project (CEP)


Instructor: AP Mobeena Shahzad/ LE Tayyab
Course-Code: CS-330
Semester: Spring 2024

Complex Engineering Problem:


Semester project is designed in a way to able students to solve the complex engineering problem.
Following characteristics of complex engineering problem are targeted in this semester project of
Operating Systems.
CEP Mapping WAs and WPs
Operating Systems Project Attributes Complex Engineering Problem Graduate
Attributes Attributes
Basic Knowledge: Understanding
fundamental concepts and types of
process scheduling algorithms.
WP-1: Depth of Knowledge Required WA-1
Advanced Knowledge: Analysing, WA-2
implementing, comparing, and WA-5
optimizing scheduling algorithms based
on performance metrics and real-world
constraints.

Balancing CPU utilization, response WP-2: Range of Conflicting


time, throughput, fairness, and handling Requirements
trade-offs between priorities and process
types.

Analysing and comparing scheduling


algorithms' performance metrics and WP-3: Depth of Analysis required
optimizing for specific workloads and
scenarios.
Problem Statement
Process scheduling is a core concept of operating systems. Students are required to Design and
Implement a Process Scheduling Simulator with Multiple Scheduling Algorithms.
By successfully completing this project, students will gain a deeper understanding of process
scheduling algorithms and their impact on system performance, as well as practical experience in
software development, simulation, and performance evaluation.

Problem Definition
In this project, students are tasked with developing a program to simulate a process scheduling
module that implements various scheduling algorithms commonly used in operating systems.
The program will read input data from a file containing information about processes, including
process ID, priority, arrival time, CPU burst time, etc. The objective is to evaluate the
performance of different scheduling algorithms on these processes, generate a Gantt chart
illustrating the execution timeline, and calculate average turnaround time and average waiting
time.

Requirements
1. Scheduling Algorithms Implementation: (WP-1, WP-2), [CLO 4 -> P-3]
 Implement multiple scheduling algorithms such as First Come First Serve (FCFS),
Shortest Job First (SJF), Round Robin (RR), Priority Scheduling, and Multilevel Queue
Scheduling etc. Each algorithm should have its respective function or module within the
program.
 Ensure that the scheduling algorithms adhere to the principles and characteristics of their
respective scheduling policies.

2. Input Data Parsing: (WP-1), [CLO 2 -> C-4]


 Develop a parser to read process information from an input file. The file should contain
details such as process ID, arrival time, priority, CPU burst time, etc., for each process.
 Validate the input data to handle potential errors or inconsistencies in the input file
format.

3. Gantt Chart Generation: (WP-1, WP-3), [CLO 2 -> C-4]


 Create a visualization module to generate Gantt charts representing the execution
timeline of processes for each scheduling algorithm.
 Ensure that the Gantt chart clearly illustrates the start and end times of each process, as
well as any context switches or interruptions caused by the scheduling algorithm.

4. Performance Evaluation: (WP-3), [CLO 2 -> C-4]


 Calculate and display the average turnaround time and average waiting time for each
scheduling algorithm based on the simulated execution of processes.
 Compare the performance metrics of different scheduling algorithms to evaluate their
effectiveness in minimizing turnaround time and waiting time.

5. User Interface: (WP-2), [CLO 4 -> P-3]


 Develop a user-friendly interface to facilitate interaction with the program, allowing users
to select scheduling algorithms, input files, and view simulation results.
 Provide options for users to customize simulation parameters such as time quantum for
RR scheduling, priority levels for priority scheduling, etc.

6. Documentation and Testing: (WP-1), [CLO 1 -> C-2]


 Document the design, implementation, and usage of the scheduling simulator, including
explanations of the implemented scheduling algorithms and their respective performance
metrics.
 Conduct comprehensive testing to ensure the correctness and robustness of the program,
including handling edge cases and boundary conditions.

You might also like