SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi...

23
10/17/2012 1 PENJADWALAN PROSES [email protected] SISTEM OPERASI http://blogriki.wordpress.com Pembahasan Konsep Dasar Kriteria Scheduling Algoritma Scheduling

Transcript of SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi...

Page 1: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

1

PENJADWALAN PROSES

[email protected]

SISTEM OPERASI

http://blogriki.wordpress.com

Pembahasan

• Konsep Dasar• Kriteria Scheduling• Algoritma Scheduling

Page 2: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

2

CPU Scheduling

• Merupakan basis dari OS yangmultiprogramming, sementaramultiprogramming untuk meningkatkanproduktifitas sistem

• Topik pembahasan :– Konsep dasar CPU Scheduling– Algoritma-algoritma CPU Scheduling

CPU Scheduling

Page 3: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

3

Konsep Dasar CPU Scheduling

• Dalam multiprogramming– Suatu proses dieksekusi s.d proses tunggu untuk

I/O, setelah itu CPU diberikan ke proses lain, dst.– Membentuk siklus yang terdiri atas

• Sequence eksekusi CPU (CPU burst time)• Sequence dalam service I/O (I/O burst time)

– Pola distribusi CPU burst time adalaheksponensial atau bahkan hipereksponensial

Contoh CPU - I/O Burst

• scanf n, a, b /* I/O wait */for (i=1; i<=n; i++) /* CPU burst */

x = x + a*b;printf x /* I/O wait */for (i=1; i<=n; i++) /* CPU burst */

for (j=1; j<=n; j++)x = x + a*b;

printf x /* I/O wait */

Page 4: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

4

Pola Distribusi CPU Burst Time

Keputusan Scheduling

• Scheduler memilih dari antara proses-prosesdalam memori yang ready dan mengalokasiCPU untuk proses yang terpilih

• Terjadinya keputusan scheduler saat :– (1) status proses berubah dari run ke wait– (2) status proses berubah dari run ke ready– (3) status proses berubah dari wait ke ready– (4) status proses menjadi terminate

Page 5: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

5

Non-preemptive

• Scheduler dalam situasi (1) dan (4) disebutnon-preemptive– Sekali CPU ditetapkan untuk suatu proses maka

proses tidak akan melepaskannya hinggaterminate atau untuk melakukan I/O

– Untuk hardware tertentu skema ini merupakansatu-satunya pilihan (misalnya tidak ada timer)

– Digunakan oleh MS Windows

Status Proses - Scheduler

NonNon--preemptivepreemptivePreemptivePreemptive

Page 6: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

6

Preemptive

• Scheduler dalam situasi (2) dan (3) disebutpreemptive– CPU dapat dialihkan ke proses lain oleh OS

misalnya karena interrupt, timer, dsb.– Perlu penanganan masalah data sharing antara

sebelum dan sesudah– Perlu blocking CPU saat struktur data kernel

berada pada status yang inkonsisten

Dispatcher

• Modul yang memberikan kontrol CPU bagiproses yang terpilih untuk mendapat giliranmeliputi :– Context switching– Set operasi sistem ke user-mode– Jump ke lokasi untuk meneruskan proses yang

mendapat giliran dan run

Page 7: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

7

Dispatcher

Dispatcher

Page 8: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

8

Dispatch Latency

• Waktu yang diperlukan oleh dispatcheruntuk menghentikan proses yangsedang running hingga proses yang di-dispatch berikutnya running

CPU Scheduling Algorithms

• FCFS Queue• SJF Queue• Priority Queue• Round Robin• Multi-Level Queue• Multi-Level Feedback Queue

Page 9: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

9

Kriteria Scheduling (1)

• CPU utilization : persentase jumlah waktuCPU sibuk dari total waktu

Kriteria Scheduling (1)

• Throughput : Jumlah proses yang selesaidieksekusi per satuan waktu

Page 10: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

10

Kriteria Scheduling (1)

• Turnaround time : selang waktu sejaksubmit (mulai) proses hingga terminate(selesai)

Kriteria Scheduling (2)

• Waiting time : jumlah waktu suatu prosesmenunggu dalam ready queue

• Response time : panjang waktu sejaksubmit hingga respons pertama muncul

• Predictability respons : variansi(ketersebaran) waktu respons

• Fairness : Pembagian waktu penggunaanCPU secara adil

Page 11: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

11

Obyektif

• Pemilihan algoritma untuk optimisasi :– Memaksimalkan CPU utilization– Memaksimalkan throughput– Meminimumkan turnaround time– Meminimumkan waiting time– Meminimumkan response time– Meminimumkan response time variance– Mendapatkan pembagian yang Fairness

First Come, First-Served (FCFS)

• Proses yang merequest CPU lebih duluadalah yang dilayani terlebih dahulu

• Jika suatu proses running menjadi readymaka ia antri lagi dibelakang

• Performance : waktu tunggu rata-ratalama serta akan bervariasi jika burst timeamat bervariasi

Page 12: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

12

First Come, First-Served (FCFS)

• (1) (2)

Contoh FCFS• P1 : 24 ms, P2 : 3 ms, P3 : 3 ms.• Datang dalam urutan P1, P2, P3

– Gantt Chart

– Waktu tunggu : P1 = 0 ms, P2 = 24 ms, dan P3 = 27 ms– Average waiting time = (0 + 24 + 27)/3 = 17 ms

• Jika urutannya : P2, P3, P1 maka :– Gantt Chart

– Average waiting time = (6 + 0 + 3)/3 = 3

P1 P2 P3

24 27 300

P1P2 P3

3 6 300

Page 13: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

13

Masalah FCFS : “Convoy Effect”

• Kondisi terdapat suatu proses yang memilikiCPU-burst time besar (CPU bound) dansejumlah proses lain dengan I/O burst timeyang besar (I/O bound)– Proses CPU bound sedang hold CPU proses I/O

bound menunggu, I/O device idle– Proses I/O bound sedang melakukan I/O, proses

CPU bound menunggu, CPU idle

Shortest Job First (SJF)

• Tepatnya “shortest CPU burst-time first”• Bila CPU burst time tiap proses diketahui

sebelumnya maka proses dengan CPU bursttime terkecil yang dilayani terlebih dahulu– Preemptive scheme : proses running P1 bisa

dihentikan di tengah saat muncul proses P2 yanglebih pendek

– Nonpreemptive scheme : proses running akanterus sampai terminate atau I/O wait

Page 14: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

14

Contoh SJF - Non-Preemptive

Process Arrival Time Burst TimeP1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4

• SJF (non-preemptive)

• Average waiting time = (0 + 6 + 3 + 7)/4 = 4

P1 P3 P2

73 160

P4

8 12

Contoh SJF - Preemptive

Process Arrival Time Burst TimeP1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4

• SJF (preemptive)

• Average waiting time = (9 + 1 + 0 +2)/4 = 3

P1 P3P2

42 110

P4

5 7

P2 P1

16

Page 15: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

15

Masalah SJF : informasi CPU burst time

• Algoritma memberikan performance yangoptimal, tapi bagaimana caranyamendapatkan informasi CPU burst time ?– Untuk long-term schedule dalam batch system,

dapat digunakan panjang time limit yangdispesifikasikan user pada saat submit job.

– Untuk short-term scheduling tidak mungkin. Tidakada cara untuk mengetahui secara pasti CPU burstberikutnya, hanya dapat diaproksimasi secarastokastik (prediksi).

Priority Scheduling

• Proses dengan prioritas lebih tinggi akandilayani lebih dulu– Preemptive scheme : proses running P1 bisa

dihentikan di tengah saat muncul proses P2yang lebih tinggi prioritasnya

– Non-preemptive scheme : proses yangrunning akan diteruskan sampai terminateatau I/O wait

Page 16: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

16

Contoh Priority Scheduling

Process Burst Time PriorityP1 8 2P2 1 1P3 1 3

• Average waiting time = (1 + 0 + 9)/3 = 3.3

P2 P3

1 90

P1

10

Pendefinisian Prioritas

• Internal– Bila mungkin, ditentukan berdasarkan

indikator terukur atau estimasinya• Time limit, memori requirement, jumlah file

open, ratio I/O burst terhadap CPU burst

• External– Ditentukan berdasarkan kriteria yang

eksternal bagi OS• Tingkat kepentingan proses, charging, super-

user (root), dll

Page 17: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

17

Masalah Priority Scheduling

• Indefinite blocking (starvation) padaproses-proses berprioritas rendahterutama jika sistemnya heavilyloaded– Rumor : ketika IBM 7093 di MIT di-

shutdown tahun 1973, ditemukan adanyaproses-proses low priority yang di-submittahun 1967 dalam status wait

Solusi dari Starvation

• Solusi : “aging” (peningkatan prioritas padaproses-proses yang sudah menunggu cukuplama)– Misalnya setiap 15 menit dinaikkan 1 tingkat

Page 18: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

18

Round Robin (RR)• Masing-masing proses diberikan interval

waktu tertentu yang disebut time quantum• Mengikuti FCFS & setelah kuantum waktu

tertentu proses yang running di-preempt &kembali ke ready queue

• Mekanisme kuantum waktu menggunakantimer, jika proses sudah terminate ataumelakukan I/O wait sementara timer belumhabis, timer di-reset untuk giliran prosesberikutnya

Contoh : RR• Contoh : dengan time quantum = 20 ms

Process Burst TimeP1 53P2 17P3 68P4 24

• Gantt chart :

• Khususnya, rata-rata turn around lebih tinggi daripada SJF,tetapi lebih baik untuk respons.

P1 P2 P3 P4 P1 P3 P4 P1 P3 P3

0 20 37 57 77 97 117 121 134 154 162

Page 19: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

19

Masalah RR : Penentuan Kuantum Waktu

• Menentukan performance sistem :– Jika terlalu besar sistem menjadi FCFS murni– Jika terlalu kecil terjadi “processor sharing”

• Pada n proses yang running pada prosesor dengankecepatan K, bagi setiap proses terasa masing-masingmemiliki prosesor sendiri dengan kecepatan K/n(misalnya respons interaksi jadi lambat)

– Jika terlalu kecil overhead untuk contextswitching jadi besar

Time Quantum dan Context SwitchTime

Page 20: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

20

Multi-Level Queue (MLQ)

• Proses diklasifikasi ke dalam sejumlahkelas & masing-masing kelas memilikiantrian sendiri dengan aturan berbeda– Contoh kelas-kelas dalam beberapa OS

• Proses sistem• Proses interaktif• Proses editing interaktif• Proses batch• Proses student

Diagram Contoh MLQ

Page 21: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

21

MLQ pada Uniprocessor

• Kelas-kelas perlu diantrikan juga– Dengan prioritas berbeda secara fixed dan

preemptive; proses dari kelas yang lebihrendah harus menunggu proses dari kelasyang lebih tinggi selesai

– Dengan menerapkan time sharing dengankuota waktu yang berbeda (misalnyaforeground 80% dan background 20%)

Multi-Level Feedback Queue

• MLQ overhead rendah tetapi tidak fleksibel• MLFQ memungkinkan perpindahan antara

level antrian untuk meng-aproksimasi SJF :– Proses mula-mula masuk ke level pertama, jika

dalam batas waktu proses belum berakhir maka iadi-preempt dan dimasukkan ke antrian levelberikutnya yang prioritasnya lebih rendah

– Proses yang menunggu terlalu lama bisa naik keantrian ber-prioritas lebih tinggi

Page 22: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

22

Contoh MLFQ

• Contoh MLFQ dengan 3 antrian : Q0, Q1, danQ2. Kuantum Q0 = 8 ms, kuantum Q1 = 16 msdan Q2 menggunakan skema FCFS– Awalnya proses P masuk ke Q0, apabila saat

running belum selesai saat timer habis (8 ms)maka P di-preempt dan dipindahkan ke Q1

– Jika Q0 sudah kosong, Q1 baru dilayani; saat Pbelum selesai juga saat timer habis (16 ms) makaP masuk dalam skema FCFS Q3

Diagram Contoh MLFQ

Page 23: SISTEM OPERASI - · PDF file– Set operasi sistem ke user-mode – Jump ke lokasi untuk meneruskan proses yang mendapat giliran dan run. 10/17/2012 7 ... • MLFQ memungkinkan perpindahan

10/17/2012

23

Parameter Menentukan MLFQ

• Jumlah Queue (level)• Algoritma scheduling untuk tiap queue• Metode penentuan kapan upgrade prioritas

proses ke queue yang lebih tinggi• Metode penentuan kapan menurunkan

prioritas proses ke queue yang lebih rendah• Metode penentuan queue mana yang

dimasuki proses