Penerapan Algoritma Greedy dan Breadth First Search pada ...
Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma...
Transcript of Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma...
Pertemuan Ke - 12Algoritma Penjadwalan CPU
Algoritma Penjadwalan
• First-come, first-served (FCFS)
• Shortest-Job-First (SJF)
• Priority
• Guaranteed
• Round-Robin (RR)
• Multilevel Queue
• Multilevel Feedback Queue
• Two Level Scheduling
Quaranteed Scheduling
• Algoritma penjawalan harus menjamin bahwaalgoritma tersebut mempunyai kinerja yangcukup bagus dan menjanjikan kelangsunganhidup (masa depan) yang baik
• Salah satu contoh, misalkan ada n user yangsedang login, maka tiap – tiap user dijanjikanakan menerima 1/n dari kemampuan CPU.
Quaranteed Scheduling
• Untuk meyakinkan bahwa setiap usermendapatkan jatah waktu menggunakan CPUsesuai dengan hak-nya, maka sistem harustahu berapa CPU time yang diperlukan olehsetiap proses dalam satu user dan juga CPUtime yang diperlukan oleh tiap –tiap user
Quaranteed Scheduling
• Misalnya ada 5 user (A,B,C,D, dan E) seperti padatabel berikut :
• Total waktu yang dibutuhkan untuk mengakseskelima user tersebut adalah 20 ms.
User CPU Time (ms) CPU Aktual
A 5 3B 4 6C 8 2D 1 1E 2 1
Quaranteed Scheduling
• Sehingga diharapkan tiap user mendapatkan20/5 = 4 ms.
• Pada kenyataannya, mulai dari login hinggasaat ini, tiap – tiap user telah mendapatkanCPU seperti terlihat pada tabel berikut ini.
• Rasio antara CPU yang diperoleh sampai saatini (actual) dengan CPU yang seharusnyadiperoleh (4 ms) dapat dicari.
Quaranteed Scheduling
User CPU Aktual (ms) RasioA 3 ¾ = 0,75B 6 6/4 = 1,5C 2 2/4 = 0,5D 1 ¼ = 0,25E 1 ¼ = 0,25
Tabel Perbandingan CPU Aktual dan Hak Tiap User
Quaranteed Scheduling
USER URUTAN
A 4
B 5
C 3
D 1
E 2
Tabel Urutan User Yang Berhak Mendapatkan CPU
Quaranteed Scheduling
• Dari tabel dapat dilihat bahwa user A memilikirasio 0,75 artinya A baru mendapatkan ¾ darijatah yang harusnya diterima.
• User B memiliki rasio 1,5 artinya B telahmendapatkan 1.5 waktu dari yang seharusnyaia dapatkan.
Quaranteed Scheduling
• Algoritma ini kemudian akan menjalankanproses dengan rasio paling rendah terlebihdahulu hingga proses tersebut mendapatkanrasio melebihi rasio proses yang sebelumnyapunya rasio satu tingkat lebih tinggi darinya.
• Dengan cara ini juga suatu proses yang butuhwaktu 10 detik akan mendapatkan prioritasyang lebih tinggi dibandingkan dengan prosesyang butuh waktu 10 menit.
Contoh Soal
User CPU Time (ms) CPU Aktual
A 4 4B 6 3C 5 4D 4 2E 8 6
Perhatikan Tabel Berikut :
Berdasarkan tabel berikut maka hitunglah :a. Total waktu akses.b. Hak tiap userc. Buatlah tabel perbandingan CPU aktual dengan hak tiap akses.d. Buatlah tabel urutan user yang mendapatkan CPU
Jawab Contoh Soal
a. Total Waktu Akses Total Waktu Akses = Jumlah seluruh CPU Time User
Total Waktu Akses = 4 + 6 + 5 + 4 + 8 = 27ms
b. Hak Tiap UserHak Tiap User = Total Waktu Akses / Jumlah user
Hak Tiap User = 27 / 5Hak Tiap User = 5,4 ms.
Jawab Contoh Soalc. Tabel Perbandingan CPU Aktual dan Hak Tiap USer
User CPU Aktual Rasio
A 4 4/5,4 = 0,74
B 3 3/5,4 = 0,55
C 4 4/5,4 = 0,74
D 2 2/5,4 = 0,37
E 6 6/5,4 = 1,11
Jawab Contoh Soald. Tabel Urutan User Yang Berhak Mendapatkan CPU
USER URUTAN
A 3
B 2
C 4
D 1
E 5
Round – Robin Scheduling
• Algoritma Round Robin (RR) dirancang untuksistem time sharing. Algoritma ini miripdengan penjadual FCFS, namun preemptiveditambahkan untuk switch antara proses
Round – Robin Scheduling
1. Konsep dasar algoritma ini menggunakan time sharing
2. Pada dasarnya, prinsip hampir sama dengan FCFS, tapibersifat preemptive
3. Tiap proses akan dibatasi waktu prosesnya, yangdisebut quantum time
4. Keuntungan algoritma round robin :
a. Adanya keseragaman waktu
5. Kelemahannya :
a. Jika quantum time sangat besar switching yangterjadi akan semakin sedikit (seperti FCFS)
b. Jika quantum time terlalu kecil switching yangterjadi akan semakin banyak, sehingga banyakwaktu yang terbuang
Round – Robin Scheduling
1. Ketentuan Algoritma Round Robin adalah :
a. Jika proses memiliki CPU Burst < Quantum Time, makaproses akan melepaskan CPU, jika telah selesai digunakan CPU dapat segera digunakan oleh proses selanjutnya
b. Jika proses memiliki CPU Burst > Quantum Time, makaproses tersebut akan dihentikan jika sudah mencapaiquantum time dan selanjutnya mengantri kembali padaposisi tail queue (ekor dari ready queue), CPU kemudianmenjalankan proses berikutnya
c. Jika quantum time belum habis dan proses menunggusuatu kejadian (selesainya operasi I/O), maka prosesmenjadi blocked dan CPU dialihkan ke proses lain.
Round – Robin Scheduling
2. Berikut algoritma untuk penjadual Round Robin:
a. Setiap proses mendapat jatah waktu CPU (time slice/quantum) tertentu Time slice/quantum umumnya antara10 - 100 milidetik.
b. Setelah time slice/ quantum maka proses akan di-preemptdan dipindahkan ke antrian ready.
c. Proses ini adil dan sangat sederhana.
Round – Robin Scheduling
3. Jika terdapat n proses di "antrian ready" dan waktuquantum q (milidetik), maka:
a. Maka setiap proses akan mendapatkan 1/n dari waktu CPU.b. Proses tidak akan menunggu lebih lama dari: (n-1)q time
units.c. Kinerja dari algoritma ini tergantung dari ukuran time
quantumd. Time Quantum dengan ukuran yang besar maka akan sama
dengan FCFSe. Time Quantum dengan ukuran yang kecil maka time
quantum harus diubah ukurannya lebih besar denganrespek pada alih konteks sebaliknya akan memerlukanongkos yang besar.
Round – Robin Scheduling
Contoh
Proses Burst Time (ms)
P1 24
P2 3
P3 3
Quantum Time = 4 ms
Gant Chart :
Round – Robin Scheduling
• Tabel Waktu Tunggu
• AWT = (6 + 4 + 7 )/3 = 5,66 ms
Proses Waktu Tunggu
P1 0 + ( 10 – 4) = 6
P2 4
P3 7
Contoh SoalPerhatikan Tabel Berikut :
Proses Burst Time (ms) Quantum Time (ms)
P1 6
3 P2 5
P3 3
P4 4
P5 10
Berdasarkan Tabel tersebut, anda diminta untuk membuat GanttChart, Tabel Waktu Tunggu, dan menghitung Avarage Waiting Time(AWT) dengan algoritma penjadwalan Round – Robin.
Jawab Contoh Soala. Gantt Chart
c. Average Waiting Time (AWT)
AWT = (12 + 15 + 6 + 17+ 18 ) = 68AWT = 68 / 5AWT = 13,6 ms
Proses Waktu Tunggu
P1 0 + (15 – 3) = 12
P2 3 + (18 – 6) = 15
P3 6
P4 9+ (20 – 12) = 17
P5 12 +(21 – 15) = 18
b. Tabel Waktu Tunggu
Tugas11. Perhatikan Tabel Berikut :
User CPU Time (ms) CPU Aktual
A 3 3
B 4 2
C 5 3
D 6 4
E 3 4
F 3 2
Berdasarkan tabel berikut maka hitunglah dengan algoritmapenjadwalan Guaranteed :a. Total waktu akses.b. Hak tiap userc. Buatlah tabel perbandingan CPU aktual dengan hak tiap akses.d. Buatlah tabel urutan user yang mendapatkan CPU
Tugas2Perhatikan Tabel Berikut :
Proses Burst Time (ms) Quantum Time (ms)
P1 3
3
P2 2
P3 6
P4 7
P5 8
P6 9
Berdasarkan Tabel tersebut, anda diminta untuk membuat GanttChart, Tabel Waktu Tunggu, dan menghitung Avarage Waiting Time(AWT) dengan algoritma penjadwalan Round – Robin.
Tugas3Perhatikan Tabel Berikut :
Proses Arrival Time (ms)
Burst Time (ms)
Priority Quantum Time (ms)
P1 0,00 2 2
2P2 2,00 5 3
P3 3,00 3 4
P4 5,00 2 1
P5 6,00 4 2
Berdasarkan Tabel tersebut, anda diminta untuk membuat GanttChart, Tabel Waktu Tunggu, dan menghitung Avarage Waiting Time(AWT) dengan algoritma penjadwalan :1. FCFS2. SJF Non Preemptive3. SJF Preemptive4. Priority Non Preemptive5. Priority Preemptive6. Round Robin