1. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Sistem Operasi
Penjadwalan Proses
Elkaf Rahmawan Pramudya,M.Kom
2. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Penjadwalan Proses
Penjadwalan proses
Adalah manajemen pengelolaan proses yang menangani
penghapusan proses yang berjalan dari CPU dan pemilihan
proses lain berdasarkan strategi tertentu.
SO multiprogramming memuat beberapa proses ke memori
sekaligus, dan berbagi penggunaan CPU dengan membagi
waktu eksekusi berdasarkan strategi tertentu
▪ Proses mana yang harus dieksekusi?
▪ Kapan dan berapa lama proses dieksekusi?
Sistem Operasi
Sumber : ers.co.ke
3. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Process Scheduling Queues
OS mengelola semua PCB (Process Control Block)
Pada Process Scheduling Queues.
OS mengelola secara terpisah setiap status proses
pada tiap PCB yang dimuat di memori
PCB dari semua proses yang mempunyai status
eksekusi proses sama, dikelompokkan pada antrian
yang sama.
Ketika status proses berubah, antrian PCB berubah
ke status yang baru
Sistem Operasi
4. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Process Scheduling Queues
Pengelolaan Antrian oleh OS
Job queue
Menampung semua proses dalam system
Ready queue
Mengelola semua proses untuk tetap di dalam
memory, ready dan waiting to execute.
Device queues
Proses di blok karena ketidaktersediaan atau
tidak adanya hak akses ke antrian I/O device
Sistem Operasi
Sumber : https://www.tutorialspoint.com/operating_system
OS menerapkan kebijakan untuk mengelola antrian (FIFO, Round Robin, priority dsb)
OS scheduller, menentukan bagaimana memindah status proses antara ready dan run, dimana
hanya satu entry proses per prosesor core
5. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Process Scheduling Queues
Sistem Operasi
Status dan Deskripsi
1. Running
Ketika proses baru di create, maka akan masuk ke system dalam
status running
2. Not Running
Proses akan tetap berada di antrian, menunggu berubah ke
status execute. Setiap entry di antrian merupakan pointer ke
proses tertentu. Antrian diimplementasikan dengan linked list.
Ketika suatu proses di interupt, proses tersebut di transfer dalam
waiting queue. Proses berikutnya akan dipilih dari antrian
Jika proses telah selesai atau dibatalkan, maka proses akan
dibuang.
6. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Process Scheduling Criteria
Fairness
Semua proses pasti mendapat alokasi waktu
eksekusi
Eficiency
Efisiensi dihitung dari rasio CPU busy time
Response Time
▪ Interactive system
Lama waktu yang dihitung berdasarkan
inputan karakter terakhir instruksi s/d hasil
muncul di layar
Disebut terminal response time
▪ Realtime system
Lama waktu yang dihitung dari saat
kejadian internal/external sampai instruksi
pertama dari suatu rutin dikerjakan
Disebut event response time
Sistem Operasi
Turn Around Time
Waktu dihitung dari job masuk ke sistem s/d
selesai dikerjakan
TAT = waktu selesai – waktu datang
Troughput
Jml job yang dapat dieksekusi dalam satu
waktu.
Kriteria tersebut dapat saling bertentangan, shg
butuh kebijakan => algoritma penjadwalan
7. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Process Scheduling Outcome
▪ Menjamin setiap Job diproses secara fair
▪ Menjaga CPU busy time
▪ Minimal response time
▪ Minimal Turn Around Time
▪ Maximal Troughput
Sistem Operasi
8. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
3 type Process Scheduller
▪ Long time scheduller
▪ Short time scheduller
▪ Medium time scheduller
▪ Long time scheduller
Disebut juga job scheduler, berupa batch2 instruksi, bekerja dengan memilih antrian batch
mana yang akan dieksekusi.
Tujuan utama dari job scheduller adalah menyeimbangkan job antara I / O bound dan prosesor
bound.
Digunakan juga untuk mengontrol tingkat multiprogramming, created prosses = discharged
process (completed atau aborted)
Sistem Operasi
9. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
3 type Process Scheduller
▪ Short time scheduller
Disebut juga CPU scheduler,
Tujuan utamanya adalah untuk meningkatkan kinerja sistem sesuai dengan kriteria yang dipilih.
Ini adalah perubahan status ready ke running menjalankan proses.
CPU scheduller memilih proses di antara ready proses dan mengalokasikan CPU ke proses
tersebut
▪ Medium time scheduller
Merupakan bagian dari swapping, me-remove dari memory, mengurangi tingkat
multiprogramming.
Running proses kadang harus suspend karena I/O request, dan tidak ada progress penyelesaian.
Pada kondisi ini peran swapping adalah me-remove process dari memory ke secondary memory
untuk diantrikan lagi dan mengisi space memory yang kosong dengan proses lain.
Sistem Operasi
10. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
3 type Process Scheduller
Sistem Operasi
Long-Term Scheduler Short-Term Scheduler Medium-Term Scheduler
1 It is a job scheduler It is a CPU scheduler
It is a process swapping
scheduler.
2
Speed is lesser than short
term scheduler
Speed is fastest among
other two
Speed is in between both
short and long term scheduler.
3
It controls the degree of
multiprogramming
It provides lesser control
over degree of
multiprogramming
It reduces the degree of
multiprogramming.
4
It is almost absent or
minimal in time sharing
system
It is also minimal in time
sharing system
It is a part of Time sharing
systems.system
5
It selects processes from
pool and loads them into
memory for execution
It selects those processes
which are ready to execute
It can re-introduce the
process into memory and
execution can be continued.
11. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
ALGORITHMA PENJADWALAN OS
▪ Non Preemptive
Tidak dapat diinterupt untuk menjalankan proses lain
▪ Preemptive
Dapat diinterupt untuk menjalankan proses lain
First Come First Serve (FCFS)
• Jobs dieksekusi berdasarkan waktu datang
• non-preemptive
• Performa kurang bagus, AWT tinggi
GrantChart
Sistem Operasi
proc ArrTime burstTime
P0 0 5
P1 1 3
P2 2 8
P3 3 6
P0 P1 P2 P3
0 5 8 16 22
12. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
First Come First Serve (FCFS)
AWT
Average Wait Time: (0+4+6+13) / 4 = 5.75 TurnAround Time: (5+7+14+19) / 4 = 11.25
Sistem Operasi
Process
Wait Time :
Service Time - Arrival Time
P0 0 - 0 = 0
P1 5 - 1 = 4
P2 8 - 2 = 6
P3 16 - 3 = 13
Process
Wait Time :
Completion Time - Arrival Time
P0 5 - 0 = 5
P1 8 - 1 = 7
P2 16 - 2 = 14
P3 22 - 3 = 19
13. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Shortest Job First (SJF)
• Jobs dieksekusi berdasarkan durasi eksekusi
• non-preemptive
• Bagus untuk meminimize waiting time
Karena P1,P2,P3 datang sebelum P0 selesai
Maka diurutkan sesuai bursttime => P1,P3,P2
Sistem Operasi
proc ArrTime burstTime
P0 0 5
P1 1 3
P2 2 8
P3 3 6
P0 P1 P3 P2
0 5 8 14 22
14. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Shortest Job First (SJF)
AWT
Average Wait Time: (0+4+12+5) / 4 = 5.25 TurnAround Time: (5+7+20+9) / 4 = 10.25
Sistem Operasi
Process
Wait Time :
Service Time - Arrival Time
P0 0 - 0 = 0
P1 5 - 1 = 4
P2 14 - 2 = 12
P3 8- 3 = 5
Process
Wait Time :
Completion Time - Arrival Time
P0 5 - 0 = 5
P1 8 - 1 = 7
P2 22- 2 = 20
P3 14 - 3 = 9
15. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Shortest Remaining Time First (SRTF)
• Jobs dieksekusi berdasarkan waktu burstime terdekat dengan penyelesaian, tetapi dapat disela
oleh proses baru yang memiliki bursttime lebih kecil
• Versi preemptive dari SJF
P0 dieksekusi
P1 datang detik ke 1, burst time = 3
P0 sisa bursttime = 4
P1<P0
maka P1 dieksekusi terlebih dahulu
P2 datang detik ke 2, burst time = 8
P0 sisa bursttime = 4
P1 sisa bursttime = 2
maka tetap dilanjutkan P1
Sistem Operasi
proc ArrTime burstTime
P0 0 5
P1 1 3
P2 2 8
P3 3 6
16. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Shortest Remaining Time First (SRTF)
P3 datang detik ke 3, burst time = 6
P0 sisa bursttime = 4
P1 sisa bursttime = 0 (selesai)
maka eksekusi berikutnya
P0 bursttime = 4
P3 bursttime = 6
P2 bursttime = 8
grantChart
Sistem Operasi
proc ArrTime burstTime
P0 0 5
P1 1 3
P2 2 8
P3 3 6
P0 P1 P0 P3 P2
0 1 4 8 14 22
17. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Shortest Remaining Time First (SRTF)
Average Wait Time: (0+3+4+12+5) / 4 = 8 TurnAround Time: (8+3+20+9) / 4 = 10
Sistem Operasi
Process
Wait Time :
Service Time - Arrival Time
P0 0 - 0 = 0 | 4-1=3
P1 1 - 1 = 0
P2 14 - 2 = 12
P3 8- 3 = 5
Process
Wait Time :
Completion Time - Arrival Time
P0 8 - 0 = 8
P1 4 - 1 = 3
P2 22- 2 = 20
P3 14 - 3 = 9
18. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Round Robin
▪ Preemptive
▪ Tiap proses mendapat alokasi waktu yang
sama disebut quantum
▪ Satu proses dijalankan sesuai alokasi quantum,
kemudian dilanjutkan proses berikutnya.
Contoh dengan quantum = 3
grantChart
Sistem Operasi
proc ArrTime burstTime
P0 0 5
P1 1 3
P2 2 8
P3 3 6
0 3 6 12 14 22
P0 P1 P2 P3 P0 P2 P3 P2
9 17 20
19. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Operating System Scheduling algorithms
Round Robin
Average Wait Time: (9+2+12+11) / 4 = 8.5 TurnAround Time: (1+4+3+20+9) / 4 = 14
Sistem Operasi
Process
Wait Time :
Service Time - Arrival Time
P0 (0 – 0) + (12-3) = 9
P1 3 - 1 = 2
P2 (6-2)+(14-9)+(20-17) = 12
P3 (9- 3)+(17-12) = 11
Process
Wait Time :
Completion Time - Arrival Time
P0 14-0 = 14
P1 6 - 1 = 5
P2 22- 2 = 20
P3 20 - 3 = 17
20. ELKAF RAHMAWAN PRAMUDYA UNIVERSITAS DIAN NUSWANTORO
Sistem Operasi
SEMOGA SUKSES
Referensi
❑ Andrew S. Tanenbaum, Modern Operating Sistem 4th Edition Pearson Prentice
Hall,2011
❑ Andrew S. Tanenbaum, Operating Sistem, Design & Implementation 3rd Edition
Pearson Prentice Hall,2006
❑ Stalling W, Operating System Internal & Design Principles 7th Edition, Pearson
Prentice Hall,2005
❑ Kusnadi, Kusworo Anindito,Y Sigit Purnomo. Sistem Operasi, Andi Offset, 2008