- Usage
- FCFS (First-Come, First-Served)
- SJF (Shortest Job First)
- PSJF (Preemptive Shortest Job First)
- RR (Round-Robin)
- Linux Kernel add Syscall (Ubuntu)
$ make // compile all program
$ sudo ./time // calaulate the period of a time unit
$ sudo ./scheduler < data/FCFS_1.txt // test the first data of FCFS
$ ./calc < data/FCFS_1.txt // calculate the the preiod of the first data of FCFS
$ sudo sh time.sh // calculate the period of all ideal cases and real cases
$ python ganttChart_plot.py // plot the gantt chart of all scheduling algorithms
$
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 1000 |
P2 | 0 | 1000 |
P3 | 0 | 1000 |
P4 | 0 | 1000 |
P5 | 0 | 1000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 80000 |
P2 | 100 | 5000 |
P3 | 200 | 1000 |
P4 | 300 | 1000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 8000 |
P2 | 200 | 5000 |
P3 | 300 | 3000 |
P4 | 400 | 1000 |
P5 | 500 | 1000 |
P6 | 500 | 1000 |
P7 | 600 | 4000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 2000 |
P2 | 500 | 500 |
P3 | 500 | 200 |
P4 | 1500 | 500 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 8000 |
P2 | 200 | 5000 |
P3 | 200 | 3000 |
P4 | 400 | 1000 |
P5 | 400 | 1000 |
P6 | 600 | 1000 |
P7 | 600 | 4000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 5000 |
P2 | 0 | 2500 |
P3 | 200 | 1000 |
P4 | 300 | 2000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 100 | 100 |
P2 | 100 | 4000 |
P3 | 200 | 200 |
P4 | 200 | 4000 |
P5 | 200 | 7000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 100 | 3000 |
P2 | 100 | 5000 |
P3 | 100 | 7000 |
P4 | 200 | 10 |
P5 | 200 | 10 |
P6 | 300 | 4000 |
P7 | 400 | 4000 |
P8 | 500 | 9000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 3000 |
P2 | 1000 | 1000 |
P3 | 2000 | 4000 |
P4 | 5000 | 2000 |
P5 | 7000 | 1000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 2000 |
P2 | 500 | 500 |
P3 | 1000 | 500 |
P4 | 1500 | 500 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 5000 |
P2 | 0 | 2500 |
P3 | 200 | 1000 |
P4 | 300 | 2000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 3000 |
P2 | 1000 | 1000 |
P3 | 2000 | 4000 |
P4 | 5000 | 2000 |
P5 | 7000 | 1000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 2000 |
P2 | 500 | 500 |
P3 | 1000 | 500 |
P4 | 1500 | 500 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 7000 |
P2 | 0 | 2000 |
P3 | 100 | 1000 |
P4 | 200 | 4000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 100 | 100 |
P2 | 100 | 4000 |
P3 | 200 | 200 |
P4 | 200 | 5000 |
P5 | 200 | 7000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 1000 |
P2 | 0 | 1000 |
P3 | 0 | 1000 |
P4 | 0 | 1000 |
P5 | 0 | 1000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 600 | 4000 |
P2 | 800 | 5000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 1200 | 5000 |
P2 | 2400 | 4000 |
P3 | 3600 | 3000 |
P4 | 4800 | 7000 |
P5 | 5200 | 6000 |
P6 | 5800 | 5000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 8000 |
P2 | 200 | 5000 |
P3 | 300 | 3000 |
P4 | 400 | 1000 |
P5 | 500 | 1000 |
P6 | 500 | 1000 |
P7 | 600 | 4000 |
Process | Arrive time | Burst time |
---|---|---|
P1 | 0 | 8000 |
P2 | 200 | 5000 |
P3 | 200 | 3000 |
P4 | 400 | 1000 |
P5 | 400 | 1000 |
P6 | 600 | 1000 |
P7 | 600 | 4000 |
linux-4.10.13
https://sls.weco.net/node/21325
https://github.com/wangyenjen/OS-Project-1
https://blog.kaibro.tw/2016/11/07/Linux-Kernel%E7%B7%A8%E8%AD%AF-Ubuntu/