Skip to content

Process scheduling is the efficient allocation of resources to processes, aiming to maximize CPU utilization and minimize process wait times.

Notifications You must be signed in to change notification settings

KareemAshrafSaeed/Scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Scheduler

Table of Contents

Description

Process scheduling is the method of assigning resources to various processes in a way that optimizes efficiency and timeliness. Its primary objectives include maximizing resource utilization, ensuring the CPU is consistently engaged, optimizing CPU usage, and reducing both the response and wait times for the scheduled processes.

This project simulates the operation of a process scheduler by reading a file. This file contains various details such as the number of each processor, the number of processes, the arrival time of each process, their I/O requests, the CPU time of each process, kill signals, and the probability of forking.

The simulation generates a file that includes relevant statistics such as the average waiting time, response time, and the percentage of process migration, work stealing, forking, and killing. This data provides valuable insights into the performance and efficiency of the process scheduling system.

GIF Demo

Scheduler

Features

  • Work Stealing
  • I/O Requests
  • Process Migration
  • Process Forking
  • Killing a Process
  • 3 Modes
    • Silent Mode
    • Interactive Mode
    • Step By Step Mode

About

Process scheduling is the efficient allocation of resources to processes, aiming to maximize CPU utilization and minimize process wait times.

Resources

Stars

Watchers

Forks

Languages