jElhamm / CPU-Scheduling

"CPU Scheduling Algorithms Implementation Repository"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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