This presentation is the property of its rightful owner.
1 / 27

# Penjadwalan Proses PowerPoint PPT Presentation

Penjadwalan Proses. Penjadwalan Preemptive vs Nonpreemptive. Penjadwalan Preemptive Proses yg sdg dieksekusi dpt diinterupsi dan dipaksa utk menyerahkan CPU Penjadwalan Non-preemptive Proses yg sdg dieksekusi menggunakan CPU hingga proses tsb menyerahkannya secara sukarela.

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

#### Presentation Transcript

• Proses yg sdg dieksekusi dpt diinterupsi dan dipaksa utk menyerahkan CPU

• Proses yg sdg dieksekusi menggunakan CPU hingga proses tsb menyerahkannya secara sukarela

• Sistem Batch

• First Come First Serve (FCFS)

• Shortest Job First (SJF)

• Sistem Interaktif

• Round Robin

• Penjadwalan Prioritas / Highest Response Ratio Next (HRRN)

• Multi Queue dan Multi Level Feedback

• Shortest Process Time

• Guaranteed Scheduling

• Lottery Scheduling

• Fair Sharing Scheduling

### First Come First Serve (FCFS)

• Proses yg meminta CPU duluan yg dialokasikan CPU duluan

• Disebut juga FIFO

• Non-preemptive

• Analogi dunia nyata: restoran cepat saji

• Implementasi: antrian FIFO

• Proses baru memasuki belakang antrian

• Scheduler memilih dari depan antrian

• Metrik performansi: waktu tunggu rata-rata

• Parameter:

• Burst time (dlm ms), waktu dan urutan kedatangan

### Contoh Kasus

Gant Chart :

T

T

T

P2

P1

P3

30

0

24

27

Waiting Time P1 = 0 | P2 = 24 – 1 = 23 | P3 = 27 – 2 = 25

0 + 23 + 25

Average Waiting Time = = 16

Turn Around Time P1 = 24 | P2 = 27 – 1 = 26 | P3 = 30 – 2 = 28

3

24 + 26 + 28

Average Turn Arround Time = = 26

3

### Shortest Job First (SJF)

• Dahulukan job dengan waktu eksekusi tersingkat

• Non-preemptive

• Preemptive

• Kebutuhan: waktu eksekusi harus diketahui terlebih dahulu

• Optimal jika semua job tersedia pada waktu yg sama

• Memberikan waktu tunggu rata-rata terbaik

### Contoh Kasus SJF Non-preemptive

Gant Chart :

T

T

T

P2

P1

P3

9

18

12

0

Waiting Time P1 = 0 | P2 = ( 12 - 1 ) = 11 | P3 = ( 9 - 2 ) = 7

0 + 11 + 7

Average Waiting Time = = 6

3

Turn Around Time P1 = 9 | P2 = 18 – 1 = 17 | P3 = 12 – 2 = 10

9 + 17 + 10

Average Turn Arround Time = = 12

3

### Preemptive SJF

• Disebut juga Shortest Remaining Time First (SRTF)

• Jadwalkan dulu job dengan sisa waktu eksekusi yang paling singkat

• Kebutuhan: waktu eksekusi yang telah terpakai (elapse time) harus diketahui

### Contoh Kasus JFS Preemptive

Gant Chart :

T

T

T

P2

P1

P2

P3

P1

5

10

18

0

1

2

Waiting Time P1 = 0 + ( 10 – 1 ) = 9 | P2 = 0 + ( 5 – 2 ) = 3 | P3 = 0

9 + 3 + 0

Average Waiting Time = = 4

3

Turn Around Time P1 = 18 | P2 = 10 – 1 = 9 | P3 = 5 – 2 = 3

18 + 9 + 3

Average Turn Arround Time = = 10

3

### Preemptive SJF: Contoh

• Starvation

• Pada kondisi tertentu, suatu job mungkin tidak pernah menyelesaikan eksekusinya

• Contoh:

Proses A dgn elapse time 1 jam tiba pd waktu 0. Namun, pd waktu yg sama dan setiap 1 menit berikutnya tiba proses singkat dgn elapse time 2 menit.

Hasilnya: A tidak pernah mendapat jatah eksekusi

• Biasanya preemptive

• Waktu eksekusi dibagi dalam kuantum (interval waktu)

• Keputusan penjadwalan dibuat pd awal tiap kuantum

• Kriteria performansi

• Waktu respon minimum

• Proporsional terbaik

• Algoritma

• Berbasis prioritas

• Round-robin

• Multi Queue & Multi-level Feedback

• Shortest process time

• Guaranteed Scheduling

• Lottery Scheduling

• Fair Sharing Scheduling

• Tiap proses diberi prioritas

• Penjadwalan FCFS within each priority level.

• Proses dgn prioritas lebih tinggi dijadwalkan duluan

• Preemptive

• Non-preemptive

• Masalah:

• Mungkin tidak menghasilkan waktu tunggu rata-rata yg baik

• Dpt menyebabkan infinite blocking atau starvation pd proses dgn prioritas rendah

• Statis (untuk sistem dgn perilaku aplikasi yg teratur dan telah diketahui)

• Dinamis (sebaliknya)

• Prioritas dpt ditentukan berdasarkan:

• Tingkat kepentingan user

• Umur proses (aging)

• % waktu CPU yg telah digunakan pd x jam terakhir

### Round Robin

• Tiap proses memperoleh alokasi waktu CPU dlm kuantum waktu, biasanya 10-100 ms

• Setelah kuantum waktu lewat, proses di-preempted dan dimasukkan ke belakang antrian ready

• Jika ada n proses pd antrian ready dan kuantum waktu=q, maka:

• Pada gilirannya tiap proses memperoleh 1/n waktu CPU selama q

• Performansi:

• – q besar FIFO

• – q kecil overhead utk context switch sangat besar

Simulasi 2

Round-Robin dengan kwanta = 1

A

A

A

B

B

B

B

B

B

C

C

C

C

D

D

D

D

D

E

E

B

D

C

B

E

D

C

D

B

C

B

A

C

B

E

B

D

depan

belakang

### Round Robin: Contoh 2

Time Quantum

3

Gant Chart :

T

T

P1

P2

P1

P2

P1

12

15

6

0

3

9

Waiting Time P1 = 0 + 3 + 3 = 6 | P2 = ( 3 - 1 ) + 3 = 5

6 + 5

Average Waiting Time = = 5.5

2

Turn Around Time P1 = 15 | P2 = 12 – 1 = 11

15 + 11

Average Turn Arround Time = = 13

2

### Round Robin: Contoh 3

• Misal  : Terdapat tiga proses  P1 ,  P2 ,  &  P3 dengan quantum time 4 milidetik

• Contoh :

• Grant chartnya sesuai dengan algoritma RR :

• Maka :

• Rata-rata waktu tunggu adalah ( P1 +   P2 +  P3 ) / 3 = ( 6 + 4 + 7 ) / 3 = 5,66 milidetik

Latihan Soal…

• Gambar Gant Chart danTentukan Avg. Waiting Time serta

• Avg. Turn Arround Time dariketigaprosesdiatasdenganalgoritma :

• FCFS

• SJF ( preemptive )

• Round-Robin, q = 2

• Round-Robin, q = 5

• Priority ( non-preemptive )