Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma...

26
Pertemuan Ke - 12 Algoritma Penjadwalan CPU

Transcript of Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma...

Page 1: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Pertemuan Ke - 12Algoritma Penjadwalan CPU

Page 2: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Algoritma Penjadwalan

• First-come, first-served (FCFS)

• Shortest-Job-First (SJF)

• Priority

• Guaranteed

• Round-Robin (RR)

• Multilevel Queue

• Multilevel Feedback Queue

• Two Level Scheduling

Page 3: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 4: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 5: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 6: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 7: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 8: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Quaranteed Scheduling

USER URUTAN

A 4

B 5

C 3

D 1

E 2

Tabel Urutan User Yang Berhak Mendapatkan CPU

Page 9: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 10: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 11: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 12: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 13: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 14: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Jawab Contoh Soald. Tabel Urutan User Yang Berhak Mendapatkan CPU

USER URUTAN

A 3

B 2

C 4

D 1

E 5

Page 15: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Round – Robin Scheduling

• Algoritma Round Robin (RR) dirancang untuksistem time sharing. Algoritma ini miripdengan penjadual FCFS, namun preemptiveditambahkan untuk switch antara proses

Page 16: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 17: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 18: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 19: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 20: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

Round – Robin Scheduling

Contoh

Proses Burst Time (ms)

P1 24

P2 3

P3 3

Quantum Time = 4 ms

Gant Chart :

Page 21: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 22: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 23: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 24: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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

Page 25: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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.

Page 26: Algoritma Penjadwalan CPUcerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · Algoritma Penjadwalan •First-come, first-served (FCFS) •Shortest-Job-First (SJF) •Priority

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