https://github.com/jarvis-ai/algocpu
CPU Scheduling Algorithm in Static Webpage
https://github.com/jarvis-ai/algocpu
cpu fcfs mlfq rr
Last synced: 3 months ago
JSON representation
CPU Scheduling Algorithm in Static Webpage
- Host: GitHub
- URL: https://github.com/jarvis-ai/algocpu
- Owner: JARVIS-AI
- License: gpl-3.0
- Created: 2023-05-10T04:59:45.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-21T11:10:39.000Z (about 3 years ago)
- Last Synced: 2025-01-31T04:12:45.508Z (over 1 year ago)
- Topics: cpu, fcfs, mlfq, rr
- Language: JavaScript
- Homepage: http://algocpu.amsl.ir/
- Size: 488 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# CPU Scheduling Algorithms
## Functionalities
- 9 Algorithms are implemented.
- Each process can have different number of CPU Burst Time and I/O Burst Time.
- Gantt Chart and Timeline Chart for the given Schedule.
- Context Switching Time.
- Animation of the Time Log.
- Comparison for Round Robin Algorithm for all time quantum.
- Comparison between all the algorithms wrt Average Completion Time, Turn Around Time, Waiting Time and Response Time.
### Different Criteria and Algorithms
- The first process arrived in the ready queue is processed first.
- **First Come First Serve (FCFS)**
>Non-Preemptive
- The shortest job in the ready queue is processed first.
- **Shortest Job First (SJF)**
>Non-Preemptive
- **Shortest Remaining Job First (SRJF)**
>Preemptive
- The longest job in the ready queue is processed first.
- **Longest Job First (LJF)**
>Non-Preemptive
- **Longest Remaining Job First (LRJF)**
>Preemptive
- The highest priority job in the ready queue is processed first.
- **Priority Non-Preemptive (PNP)**
>Non-Preemptive
- **Priority Preemptive(PP)**
>Preemptive
- The jobs in the ready queue are given a fixed time quantum.
- **Round Robin (RR)**
>Preemptive
- The job with the highest response ratio in the ready queue is processed first.
- **Highest Response Ratio Next (HRRN)**
>Non-Preemptive
**Non-Preemptive:**
Once a job enters the Running Queue, it will only leave when its required CPU Burst Time is completed or it requires an I/O Job.
**Preemptive:**
A job in the Running Queue can be removed (preeempted) by other process of higher priority or with better criteria satisfaction or the given time quantum is completed.
#### Different States in CPU Scheduler
- Remain
>The processes which are yet to arrive.
- Ready
>The processes which are ready to be executed.
- Running
>Current Process Running in the CPU.
- Block
>The processes which are blocked for I/O Time.
- Terminate
>The processes which have completed all the CPU and I/O.
### Technologies Used
- HTML
- CSS
- Vanilla JS
- Google Charts
- Chart.js