1 | Annisa Puspa Kirana (e-tutorial) | www.puspakirana.com | Follow or contact me @Annisa_PK
Sistem Operasi
Penjadwalan CPU
Nama : Annisa Puspa Kirana
Soal:
Diketahui P(Proses) dengan arrival time dan burst time sebagai berikut ini
Proses P1 P2 P3 P4 P5
Arrival Time 0 2 4 5 7
Burst Time 17 4 1 4 10
Round Robin
a. Tiap proses memperoleh alokasi waktu CPU dalam kuantum waktu, biasanya 10-100 ms b. Setelah kuantum waktu lewat, proses di-preempted dan dimasukkan ke belakang antrian
ready
c. Jika ada n proses pada antrian ready dan kuantum waktu=q, maka:  Pada gilirannya tiap proses memperoleh 1/n waktu CPU selama q  Tidak ada proses yang menunuggu lebih dari (n-1)q unit waktu d. Performansi:
 q besar FIFO
 q kecil overhead untuk context switch sangat besar
Solusi Soal:
Quantum Time misalnya 4ms Maka
P1 P2 P3 P4 P5 P1 P5 P1 P5 P1 P1 P1
0 4 8 9 13 17 21 25 29 31 35 36
Average Waiting Time = (0+4+8+9+13+17+21+25+29+1+35)/11 = 192/11
=17,45 ms
Average Completion Time = (4+8+9+13+17+21+25+29+1+35+36)/11 = 228/11
2 | Annisa Puspa Kirana (e-tutorial) | www.puspakirana.com | Follow or contact me @Annisa_PK Lottery Scheduling
a. Lebih umum digunakan b. Berdasarkan probabilitas:
c. Tiap proses diberikan tiket undian
d. Pada saat penjadwalan, salah satu tiket dipilih secara acak, dan proses yg memiliki tiket akan dialokasikan CPU
e. Proses dengan prioritas lebih tinggi memiliki lebih banyak tiket f. Keuntungan:
 Sederhana  Sangat responsif
 Dapat mendukung kerjasama antar proses
 Mudah untuk mendukung kebutuhan prioritas dan proporsionalitas
Solusi Soal:
Misal untuk proses yang membutuhkan burst time waktu yang paling besar memiliki tiket yang paling banyak.Pioritas pemrosesan tergantung jumlah tiket yang didapat oleh setiap proses. Tiket yang paling banyak itulah yang di dahulukan.
Disini dapat dilihat urutan proses pemenang lottery yaitu: P1 >> P5 >> P2 >> P4 >> P3
P1 P1 P5 P2 P4 P3
0 17 27 31 35 36
Average Waiting Time = (0+17+27+31+35)/5 = 90/5
=18 ms
Average Completion Time = (17+27+31+35+36)/5 = 228/5
=2025,2 ms
First-Come First-Served Scheduling (FCFS)
a. Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu.
b. Proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali. c. Disebut juga FIFO
d. Implementasi: antrian FIFO
– Proses baru memasuki belakang antrian – Scheduler memilih dari depan antrian
• Metrik performansi: waktu tunggu rata-rata
• Parameter:
3 | Annisa Puspa Kirana (e-tutorial) | www.puspakirana.com | Follow or contact me @Annisa_PK Solusi Soal:
P1 P2 P3 P4 P5
0 17 21 22 26 36
Average Waiting Time = (0+17+21+22+26)/5 = 86/5
=17,2 ms
Average Completion Time = (17+21+22+26+36)/5 = 122/5
= 24,4 ms
Shortest Job First Scheduler (SJF)
a. Proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. b. Terdapat dua skema :
 Non preemptive : bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.
 Preemptive : jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest-Remaining-Time-First (SRTF).
c. SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Meskipun algoritma ini optimal, namun pada kenyataannya sulit untuk diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya.
Solusi Soal Non Premptive
P1 P3 P2 P4 P5
0 17 18 22 26 36
Average Waiting Time = (0+17+18+22+26)/5 = 83/5
=16,6 ms
Average Completion Time = (17+18+22+26+36)/5 = 119/5
= 23,8 ms
Solusi Soal Premptive
P1 P2 P3 P2 P4 P5 P1 P1
0 2 4 5 7 11 21 36
Average Waiting Time = (0+2+4+5+7+11+21)/7 = 50/7
=7,14 ms
Average Completion Time = (2+4+5+7+11+21+36)/7 = 86/7