Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Tujuan
Operating System Concepts Essentials – 8th Edition 6.2 Silberschatz, Galvin and Gagne ©2011
Konsep Dasar
Operating System Concepts Essentials – 8th Edition 6.3 Silberschatz, Galvin and Gagne ©2011
Histogram dari CPU-burst Times
Operating System Concepts Essentials – 8th Edition 6.4 Silberschatz, Galvin and Gagne ©2011
Alternating Sequence dari CPU dan I/O Bursts
Operating System Concepts Essentials – 8th Edition 6.5 Silberschatz, Galvin and Gagne ©2011
Tiga Level Penjadwalan
Operating System Concepts Essentials – 8th Edition 6.6 Silberschatz, Galvin and Gagne ©2011
CPU Scheduler
Operating System Concepts Essentials – 8th Edition 6.7 Silberschatz, Galvin and Gagne ©2011
Nonpreemptive dan Preemptive
Operating System Concepts Essentials – 8th Edition 6.8 Silberschatz, Galvin and Gagne ©2011
Dispatcher
Operating System Concepts Essentials – 8th Edition 6.9 Silberschatz, Galvin and Gagne ©2011
Dispatch Latency
Operating System Concepts Essentials – 8th Edition 6.10 Silberschatz, Galvin and Gagne ©2011
Kriteria Penjadwalan
Waiting time – waktu tunggu yang dijalani sebuah proses pada status
ready
Response time – waktu yang dibutuhkan dari mulai request dikirim
sampai respon pertama dihasilkan, bukan keluaran (untuk lingkungan
time-sharing)
Operating System Concepts Essentials – 8th Edition 6.11 Silberschatz, Galvin and Gagne ©2011
Kriteria Optimisasi Algoritma Penjadwalan
Kriteria Optimal:
Max CPU utilization
Max throughput
Operating System Concepts Essentials – 8th Edition 6.12 Silberschatz, Galvin and Gagne ©2011
First Come First Served
Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Penjadwalan First-Come, First-Served (FCFS)
Operating System Concepts Essentials – 8th Edition 6.14 Silberschatz, Galvin and Gagne ©2011
Penjadwalan First-Come, First-Served (FCFS)
P1 P2 P3
0 24 27 30
Waiting time untuk P1 = 0; P2 = 24; P3 = 27
Average waiting time: (0 + 24 + 27)/3 = 17
Operating System Concepts Essentials – 8th Edition 6.15 Silberschatz, Galvin and Gagne ©2011
Penjadwalan First-Come, First-Served (FCFS)
P2 P3 P1
0 3 6 30
Waiting time untuk P1 = 6; P2 = 0; P3 = 3
Average waiting time: (6 + 0 + 3)/3 = 3
Lebih baik dibanding sebelumnya
Convoy effect (proses pendek akan berkumpul di belakang proses panjang)
Menerapkan konsep non-preemptive
Operating System Concepts Essentials – 8th Edition 6.16 Silberschatz, Galvin and Gagne ©2011
Shortest Job First
Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Penjadwalan Shortest-Job-First (SJF)
Menghubungkan setiap proses dengan panjang dari CPU burst
berikutnya. Panjang dari CPU burst digunakan untuk melakukan
panjadwalan proses dengan waktu yang terpendek.
Operating System Concepts Essentials – 8th Edition 6.18 Silberschatz, Galvin and Gagne ©2011
Nonpreemptive dan Preemptive
Non preemtive
Preemtive
Operating System Concepts Essentials – 8th Edition 6.19 Silberschatz, Galvin and Gagne ©2011
Contoh SJF
Proses Arrival Time Burst Time
P1 0.0 6
P2 2.0 8
P3 4.0 7
P4 5.0 3
SJF scheduling chart
P4 P1 P3 P2
0 3 9 16 24
Operating System Concepts Essentials – 8th Edition 6.20 Silberschatz, Galvin and Gagne ©2011
SJF – Preemptive
Operating System Concepts Essentials – 8th Edition 6.21 Silberschatz, Galvin and Gagne ©2011
SJF – Non Preemptive
Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Penjadwalan berbasis Prioritas
Sebuah priority number (integer) dihubungkan dengan setiap proses
Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik
antara lain:
• Time limit.
• Memory requirement.
• Akses file.
• Perbandingan antara I / O Burst dengan CPU Burst.
• Tingkat kepentingan proses.
Operating System Concepts Essentials – 8th Edition 6.24 Silberschatz, Galvin and Gagne ©2011
Penjadwalan berbasis Prioritas
Operating System Concepts Essentials – 8th Edition 6.25 Silberschatz, Galvin and Gagne ©2011
Prioritas - Preemptive
Operating System Concepts Essentials – 8th Edition 6.27 Silberschatz, Galvin and Gagne ©2011
Round Robin
Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Round Robin (RR)
Setiap proses mendapatkan unit kecil dari CPU time (time quantum),
biasanya millisecond (1-100). Setelah time quantum habis, proses
menjadi preempted dan ditambahkan di bagian akhir dari ready queue.
Jika ada n proses dalam ready queue dengan time quantum q, maka
setiap proses mendapatkan 1/n dari CPU time dalam jangka waktu
sama. Tidak ada proses yang menunggu lebih dari ((n-1)/n)q.
Kinerja
q besar FIFO
q kecil q harus cukup besar berkenaan dengan context switch,
jika tidak, overhead yang terjadi akan terlalu tinggi
Time quantum yang ideal adalah jika 80% dari total proses
memiliki CPU burst time yang lebih kecil dari 1 time quantum.
Operating System Concepts Essentials – 8th Edition 6.29 Silberschatz, Galvin and Gagne ©2011
Round Robin (RR)
RR – FCFS
RR – SJF (Non Preemtive)
RR – SJF (Preemtive)
Operating System Concepts Essentials – 8th Edition 6.30 Silberschatz, Galvin and Gagne ©2011
Contoh RR dengan Time Quantum = 4
Gantt chart:
P1 P2 P3 P1 P1 P1 P1 P1
0 4 7 10 14 18 22 26 30
Operating System Concepts Essentials – 8th Edition 6.31 Silberschatz, Galvin and Gagne ©2011
Time Quantum dan Context Switch Time
Operating System Concepts Essentials – 8th Edition 6.32 Silberschatz, Galvin and Gagne ©2011
Turnaround Time Varies With
The Time Quantum
Operating System Concepts Essentials – 8th Edition 6.33 Silberschatz, Galvin and Gagne ©2011
Multilevel Queue
Operating System Concepts Essentials – 8th Edition Silberschatz, Galvin and Gagne ©2011
Penjadwalan Multilevel Queue
Ready queue dipartisi menjadi beberapa antrian:
foreground (interactive)
background (batch)
Operating System Concepts Essentials – 8th Edition 6.35 Silberschatz, Galvin and Gagne ©2011
Penjadwalan Multilevel Queue
Operating System Concepts Essentials – 8th Edition 6.36 Silberschatz, Galvin and Gagne ©2011
Multilevel Feedback Queue
Operating System Concepts Essentials – 8th Edition 6.37 Silberschatz, Galvin and Gagne ©2011
Contoh Multilevel Feedback Queue
Tiga antrian:
Q0 – RR dengan time quantum 8 millisecond
Q1 – RR dengan time quantum 16 millisecond
Q2 – FCFS
Penjadwalan
Job baru masuk ke dalam antrian Q0, job tersebut mendapatkan 8
milisecond. Jika job tidak selesai dalam waktu 8 milisecond, job
dipindahkan ke antrian Q1.
Pada antrian Q1 job mendapatkan tambahan 16 milisecond. Jika
job tersebut masih belum selesai, job tersebut preempted dan
dipindahkan ke antrian Q2.
Operating System Concepts Essentials – 8th Edition 6.38 Silberschatz, Galvin and Gagne ©2011
Multilevel Feedback Queue
Operating System Concepts Essentials – 8th Edition 6.39 Silberschatz, Galvin and Gagne ©2011
Penjadwalan Multiple-Processor
Operating System Concepts Essentials – 8th Edition 6.40 Silberschatz, Galvin and Gagne ©2011
NUMA dan Penjadwalan CPU
Operating System Concepts Essentials – 8th Edition 6.41 Silberschatz, Galvin and Gagne ©2011
Prosesor Multicore
Tren terkini adalah meletakkan multiple prosesor core pada chip yang
sama
Operating System Concepts Essentials – 8th Edition 6.42 Silberschatz, Galvin and Gagne ©2011
Sistem Multithread Multicore
Operating System Concepts Essentials – 8th Edition 6.43 Silberschatz, Galvin and Gagne ©2011
Timeline Single dan Multithread
Operating System Concepts Essentials – 8th Edition 6.44 Silberschatz, Galvin and Gagne ©2011