algoritma penjadwalan cpucerryzhang.files.wordpress.com/2018/07/pertemuan-ke-121.pdf · algoritma...

Post on 01-Nov-2020

83 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related