OperatingSystemScheduling
Operating Systems project - Processes scheduling simulator
Install / Use
/learn @AhmadYahya97/OperatingSystemSchedulingREADME
Operating System Scheduling
This is Operating Systems project. The project idea is to generate a randomly uniform stream of jobs as the first stage. Then in the second stage, we will pick a scheduling algorithm out of the most 6 commonly used algorithms. after this, we will make a comparison of which algorithm performed better on which data.
as a Bonus part, we designed an interactive user interface so the project can be used later for educational uses.
in the UI the progress of each job and the progress of the whole system can be seen.
The implemented algorithms:
- First-Come, First-Served FCFS Scheduling
- Shortest-Job-First SJF Scheduling
- Shortest Remaining Time
- Priority Scheduling
- Round Robin - RR Scheduling
- Exponential Average SRJF
Features
- The student can visualize the job queue, device queue, and ready queue.
- The visualizing of the queue is done time unit by time unit so he/she can catch everything.
- There's a log window which shows all the changes in every time unit.
- There's also changes window which logs up all the changes in a job burst.
- There are mainly three options in tracking an algorithm:
- Next Step: moves to the next time unit.
- Next Change: moves to the next change (a change in any queue).
- Animation: which is adjusted by a speed bar.
- The student can visualize the status of CPU utilization, throughput, Turnaround time and Waiting time of all process at any time unit.
- also, he can check the Waiting and Turnaround times for a specific job at any time unit.
- For the stream of job generation, the user can choose all the variables he/she want. like :
- The number of jobs.
- The degree of multi-programming.
- The number of bursts for a job.
- CPU and IO bursts ranges.
- Priority.
- Arrival time range.
- The context switch.
- Tau and Alpha. (if needed)
- There are two progress bars, one for the current burst of the job in the running state. and the other for the total progress of this job.
Screenshots
Initial screen
Jobs uniform generation
Picking an algorithm
Animation mode
Authors
- Ahmad Yahya. ( @AhmadYahya97 )
- Hamed Hijazi. ( @hamed3 )
Special thanks
- For prof. Adnan Yahya on his amazing efforts during this course!.
- Jfoenix library for its flexible and stylish tools.
Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
