{"id":21518380,"url":"https://github.com/jarvis-ai/algocpu","last_synced_at":"2026-03-02T23:36:01.618Z","repository":{"id":163670385,"uuid":"638779557","full_name":"JARVIS-AI/algocpu","owner":"JARVIS-AI","description":"CPU Scheduling Algorithm in Static Webpage","archived":false,"fork":false,"pushed_at":"2023-05-21T11:10:39.000Z","size":500,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-31T04:12:45.508Z","etag":null,"topics":["cpu","fcfs","mlfq","rr"],"latest_commit_sha":null,"homepage":"http://algocpu.amsl.ir/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JARVIS-AI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-10T04:59:45.000Z","updated_at":"2023-05-10T20:17:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"814e4a23-46c0-461e-a929-4f40e6322be9","html_url":"https://github.com/JARVIS-AI/algocpu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JARVIS-AI%2Falgocpu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JARVIS-AI%2Falgocpu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JARVIS-AI%2Falgocpu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JARVIS-AI%2Falgocpu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JARVIS-AI","download_url":"https://codeload.github.com/JARVIS-AI/algocpu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244071501,"owners_count":20393437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpu","fcfs","mlfq","rr"],"created_at":"2024-11-24T00:51:48.583Z","updated_at":"2026-03-02T23:35:56.589Z","avatar_url":"https://github.com/JARVIS-AI.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CPU Scheduling Algorithms\n\n## Functionalities\n- 9 Algorithms are implemented.\n- Each process can have different number of CPU Burst Time and I/O Burst Time.\n- Gantt Chart and Timeline Chart for the given Schedule.\n- Context Switching Time.\n- Animation of the Time Log.\n- Comparison for Round Robin Algorithm for all time quantum.\n- Comparison between all the algorithms wrt Average Completion Time, Turn Around Time, Waiting Time and Response Time.\n\n\n### Different Criteria and Algorithms\n- The first process arrived in the ready queue is processed first.\n    - **First Come First Serve (FCFS)**\n      \u003eNon-Preemptive\n- The shortest job in the ready queue is processed first.\n    - **Shortest Job First (SJF)**\n      \u003eNon-Preemptive\n    - **Shortest Remaining Job First (SRJF)**\n      \u003ePreemptive\n- The longest job in the ready queue is processed first.\n    - **Longest Job First (LJF)**\n      \u003eNon-Preemptive\n    - **Longest Remaining Job First (LRJF)**\n      \u003ePreemptive\n- The highest priority job in the ready queue is processed first.\n    - **Priority Non-Preemptive (PNP)**\n      \u003eNon-Preemptive\n    - **Priority Preemptive(PP)**\n      \u003ePreemptive\n- The jobs in the ready queue are given a fixed time quantum.\n    - **Round Robin (RR)**\n      \u003ePreemptive\n- The job with the highest response ratio in the ready queue is processed first.\n    - **Highest Response Ratio Next (HRRN)**\n      \u003eNon-Preemptive\n\n**Non-Preemptive:**\nOnce 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.\n\n**Preemptive:**\nA 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.\n\n#### Different States in CPU Scheduler\n- Remain\n  \u003eThe processes which are yet to arrive.\n- Ready\n  \u003eThe processes which are ready to be executed.\n- Running\n  \u003eCurrent Process Running in the CPU.\n- Block\n  \u003eThe processes which are blocked for I/O Time.\n- Terminate\n  \u003eThe processes which have completed all the CPU and I/O.\n\n### Technologies Used\n- HTML\n- CSS\n- Vanilla JS\n- Google Charts\n- Chart.js\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarvis-ai%2Falgocpu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjarvis-ai%2Falgocpu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjarvis-ai%2Falgocpu/lists"}