Skip to content

"CPU Scheduling Algorithms Implementation Repository"

License

Notifications You must be signed in to change notification settings

jElhamm/CPU-Scheduling

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU Scheduling

This repository contains implementations of various (CPU scheduling Algorithms) in Java. The implemented algorithms include:

Performance of Algorithms

  1. FCFS:

    • This Algorithm Schedules processes based on their arrival times.
    • The process that arrives first gets executed first, and subsequent processes wait in a queue until it's their turn.
    • It operates under the assumption that all processes are equally important.
    • More Information
  2. SJF:

    • This Algorithm Schedules processes based on their burst times.
    • The process with the shortest burst time is executed first, minimizing the average waiting time.
    • It can be either preemptive or non-preemptive
    • More Information
  3. RR:

    • This Algorithm allocates a fixed time slice (Quantum) to each process in a cyclic manner.
    • Each process gets a chance to execute for the defined time quantum before being preempted and placed back in the ready queue.
    • It ensures fairness by giving equal opportunities to all processes and prevents starvation.
    • More Information
  4. Priority:

    • This Algorithm assigns priorities to processes based on certain criteria.
    • The process with the highest priority is executed first.
    • It can be either preemptive or non-preemptive.
    • More Information
  5. Multi-Level:

    • This Algorithm divides the ready queue into multiple separate queues, each with its own Scheduling Algorithm.
    • Processes are assigned to different queues based on specified criteria.
    • Each queue can use a different Scheduling Algorithm to manage its processes.
    • More Information

References