Skip to content

Solve and simulate using preemptive and non-preemptive algorithm based on the user’s input (Memory & Process Management).

License

Notifications You must be signed in to change notification settings

xtnctx/CPU-Scheduling-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 

Repository files navigation

CPU Scheduling Simulator

Single Contiguous Memory Management

One process at a time

Partitioned Allocation Memory Management

Main memory is divided into separate memory regions or memory partitions. Each holds a separate jobs address space.
  • Static Partition - Job sizes will enter the partition
  • Dynamic Partition - Job sizes will enter the CPU to create a partition
    • Best Fit

      Allocate the smallest hole that is big enough

    • First Fit

      Allocate the first hole that is big enough

Process Management

* A process is said to be running if it currently has the CPU
* A process is said to be ready if it could use the CPU if one were available
* A process is said to be blocked if it is waiting for some event to happen before it can proceed
  • Non-preemptive - Process CAN'T be taken away by another process
    • First Come First Serve
    • Shortest Job First
    • Priority
  • Preemptive - Process CAN be taken away by another process
    • Priority
    • Shortest Remaining Time First
    • Round Robin

      Quantum time = 5

Screenshots

menu_screen menu_screen_dark single_con_input single_con_sim single_con_sim_summary dynamic_inpWindow dynamic_simWindow dynamic_simWindowb process_inpWindow process_simWindow

UI used

  • PyQt5

Releases

No releases published

Packages

No packages published

Languages