32
24/10/2019 1 Sistem Operasi| [email protected] Haryono Setiadi Sistem Operasi Penjadwalan Proses Sistem Operasi| [email protected] Outline 1. Deskripsi Penjadwalan Proses 2. Kriteria Proses 3. Strategi Penjadwalan Proses 4. Algoritma Penjadwalan Proses 1 2

Penjadwalan Proses Sistem Operasi Haryono Setiadi

  • Upload
    others

  • View
    22

  • Download
    1

Embed Size (px)

Citation preview

24/10/2019

1

Sistem Operasi| [email protected] Operasi| [email protected]

Haryono SetiadiSistemOperasi

PenjadwalanProses

Sistem Operasi| [email protected] Operasi| [email protected]

Outline

1. Deskripsi Penjadwalan Proses

2. Kriteria Proses

3. Strategi Penjadwalan Proses

4. Algoritma Penjadwalan Proses

1

2

24/10/2019

2

Sistem Operasi| [email protected] Operasi| [email protected]

Tugas Kelompok

KELOMPOK PRIA KELOMPOK WANITA1. Sistem Antrian Bank?2. Tujuan Sistem Antrian Bank?3. Mekanisme sistem antriannya?4. Jika di dalam bank tersebut ada 2

meja teller, simulasikan sistemantrian dengan bermain peran :• Nasabah• Teller• Sistem Antrian

1. Sistem Antrian IGD?2. Tujuan Sistem Antrian IGD?3. Mekanisme sistem antriannya?4. Jika di dalam IGD tersebut ada 3

pasien biasa (batuk dan pilek) dan 2pasien darurat (kecelakaan dan gagalfungsi jantung) bagaimana sebaiknyaantriannya? Jelaskan!

5. Jelaskan dengan model simulasigambar!

Sistem Operasi| [email protected] Operasi| [email protected]

Review Pertemuan Minggu Lalu• Proses keadaan ketika sebuah program sedang di eksekusi• Saat komputer berjalan, terdapat banyak proses yang berjalan secara

bersamaan.• Sebuah proses dibuat melalui system call create-process yang

membentuk proses turunan ( child process) yang dilakukan olehproses induk ( parent process)

• Proses turunan tersebut juga mampu membuat proses baru sehinggasemua proses ini pada akhirnya membentuk pohon proses.

• Proses yang dibentuk diantrikan ke CPU untuk diproses

3

4

24/10/2019

3

Sistem Operasi| [email protected] Operasi| [email protected]

Sistem Operasi| [email protected] Operasi| [email protected]

Outline

1. Deskripsi Penjadwalan Proses

2. Kriteria Proses

3. Strategi Penjadwalan Proses

4. Algoritma Penjadwalan Proses

5

6

24/10/2019

4

Sistem Operasi| [email protected] Operasi| [email protected]

Deskripsi Penjadwalan Proses• Penjadwalan Proses?

• Kumpulan kebijaksanaan dan mekanisme disistem operasi yang berkaitan dengan urutankerja yang dilakukan sistem komputer.

• Penjadwalan bertugas memutuskan hal-hal berikut:• Proses yang harus berjalan• Kapan dan selama berapa lama proses berjalan

Sistem Operasi| [email protected] Operasi| [email protected]

Outline

1. Deskripsi Penjadwalan Proses

2. Kriteria Proses

3. Strategi Penjadwalan Proses

4. Algoritma Penjadwalan Proses

7

8

24/10/2019

5

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses• Sasaran utama penjadwalan proses : Optimasi kinerja sistem

komputer menurut kriteria tertentu.

• Kriteria untuk mengukur dan optimasi kinerja penjadwalan adalah:• Adil (fairness)• Efisiensi• Waktu Tanggap (response time)• Turn arround Time• Troughput

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses• Adil (fairness)

• Proses-proses diperlakukan sama yaitu :mendapat jatah waktu layanan pemroses yang sama

• Tidak ada proses yang tidak kebagian layanan pemrosessehingga mengalami kekurangan waktu

• Sasaran penjadwalan seharusnya menjaminsetiap proses mendapat pelayanan daripemroses secara adil.

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

9

10

24/10/2019

6

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses• Efisiensi

• Efisiensi atau utilisasi pemroses dihitungdengan perbandingan (rasio) waktu sibuk pemrosesdengan total waktu operasi sistem komputer secarakeseluruhan.

• Sasaran penjadwalan : menjaga agar pemrosestetap dalam keadaan sibuk efisiensi sistem komputermencapai nilai maksimum.

• Keadaan sibuk berarti pemroses tidak menganggur

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses

• Waktu tanggap (response time)• waktu yang dihabiskan dari saat karakter

terakhir dari perintah dimasukkan sampai hasil pertamamuncul di layar (terminal)

• Sasaran penjadwalan : meminimalkan waktutanggap sehingga menghasilkan sistem yang responsif.

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

11

12

24/10/2019

7

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses• Turn arround time

• Waktu yang dihabiskan dari saat program/jobmulai masuk ke sistem sampai proses diselesaikan sistem.

• Waktu = waktu yang dihabiskan proses berada di sistem

• Turn arround time = waktu eksekusi + waktumenunggu

• Sasaran penjadwalan : meminimalkan turn arround time.

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

Sistem Operasi| [email protected] Operasi| [email protected]

Kriteria Proses• Troughput

• Troughput adalah jumlah kerja yang dapatdiselesesaikan selama satu selang/unit waktu.

• Cara menghitung throughput : jumlah proses/job pemakai yang dapatdieksekusi dalam satu unit/interval waktu tertentu.

• Sasaran penjadwalan : memaksimalkan jumlah job/proses yang dilayani per satu interval waktu.

• Lebih tinggi angka througput maka lebih banyak kerja yangdilakukan sistem.

• Adil• Efisiensi• Respon Time• Turn Around

Time• Troughput

13

14

24/10/2019

8

Sistem Operasi| [email protected] Operasi| [email protected]

Outline

1. Deskripsi Penjadwalan Proses

2. Kriteria Proses

3. Strategi Penjadwalan Proses

4. Algoritma Penjadwalan Proses

Sistem Operasi| [email protected] Operasi| [email protected]

Strategi Penjadwalan• Ada 2 strategi penjadwalan :

• Penjadwalan nonpreemptive• Penjadwalan preemptive

15

16

24/10/2019

9

Sistem Operasi| [email protected] Operasi| [email protected]

Strategi Penjadwalan• Penjadwalan nonpreemptive (run-to-completion).

• Proses yang sedang berjalan tidak dapat disela.• Sekali proses berada di status running (sedang berjalan),

maka proses tersebut akan dieksekusi terussampai proses berhenti.

• CPU tidak dapat diambil alih oleh proses yang lain.

Sistem Operasi| [email protected] Operasi| [email protected]

Strategi Penjadwalan• Penjadwalan preemptive.

• Proses yang sedang berjalan dapat diambil alihproses lain (disela) yang mempunyai prioritas lebihtinggi

• Proses yang disela berubah menjadi state Ready.• CPU dapat diambil alih oleh proses yang lain.

17

18

24/10/2019

10

Sistem Operasi| [email protected] Operasi| [email protected]

Outline

1. Deskripsi Penjadwalan Proses

2. Kriteria Proses

3. Strategi Penjadwalan Proses

4. Algoritma Penjadwalan Proses

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma PenjadwalanTerdapat banyak algoritma, diantaranya :• Algoritma menggunakan strategi nonpreemptive

√ FIFO (First-in, First-out) atau FCFS (First-come, First-serve)√ SJF (Shortest Job First)√ HRN (Highest – Ratio Next)

• b. Algoritma menggunakan strategi preemptive MFQ (Multiple Feedback Queues) RR (Round Robin) SRF (Shortest Remaining First) PS (Priority Schedulling) GS (Guaranteed Schedulling)

19

20

24/10/2019

11

Sistem Operasi| [email protected] Operasi| [email protected]

FIFO (First-in, First-out) atauFCFS (First-come, First-serve)

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO)

• Penjadwalan nonpreemptive & penjadwalan tidak berprioritas.• Penjadwalan paling sederhana, yaitu :

• Proses-proses diberi jatah waktu pemroses berdasarkan waktukedatangan

• Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai

• Penjadwalan ini adil yaitu proses yang datang duluan, dilayaniduluan juga.

• Dikatakan tidak adil karena job-job yang perlu waktu lama membuatjob-job pendek menunggu.

• Job-job tak penting dapat membuat job-job penting menunggu.

21

22

24/10/2019

12

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO)

Contoh :Misal ada 3 proses P1, P2, P3 yang datang dengan lama waktu kerjaCPU (CPU Burst-time) masing-masing sbb :

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO)

• Jika proses datang dengan urutan P1, P2, P3 dan dilayani denganalgoritma FIFO maka dapat digambarkan Gantt Chart-nya :

• Waktu tunggu P1 = 0 milidetik, P2 = 24, P3= 27• Rata-rata waktu tunggu (Average Waiting Time / AWT) :

(0+24+27)/3 = 17 milidetik

23

24

24/10/2019

13

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO)

Jika waktu kedatangan proses adalah P3, P2, P1 maka GanttChartnya adalah :

AWT = (0+3+6)/3 = 3 milidetik

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO)

• Menentukan Turn Around Time

• Turn around time (waktu penyelesaian) P1 adalah 24, P2= 27, P3 = 30, maka rata-rata turn around time = (24+27+30)/3= 27 milidetik

25

26

24/10/2019

14

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO) – Soal LatihanSoal Latihan :Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPUBurst-time) masing-masing sbb :

Jika proses datang dengan urutan P1, P2, P3, P4 dan dilayani dengan algoritmaFIFO, buatlah gant chart, hitung AWT dan TAT

PROSES BURST TIMEP1 10P2 5P3 4P4 8

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(FIFO) – Soal Latihan

• Jika diketahui 5 macam antrian proses yaitu : A-B-C-D-E dengan waktukedatangan berurutan 0,1,2,2,5 dan prosesor sedang tidak aktif (PP=0),lama proses berturut-turut antara lain 5,2,6,8,3.

• Hitunglah AWT dan TAT

27

28

24/10/2019

15

Sistem Operasi| [email protected] Operasi| [email protected]

Selesai Eksekusi = Mulai Eksekusi + Selesai Eksekusi

TA = Selesai Eksekusi - Total Waktu Tiba

Algoritma Penjadwalan(FIFO) – Soal Latihan

Sistem Operasi| [email protected] Operasi| [email protected]

SJF (Shortest Job First)

29

30

24/10/2019

16

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(SFJ - Shortest Job First)

• Merupakan penjadwalan nonpreemptive dan penjadwalan tidakberprioritas.

• Penjadwalan ini mengasumsikan waktu jalan proses (sampaiselesai) diketahui sebelumnya.

• Mekanisme penjadwalan adalah menjadwalkan proses denganwaktu jalan terpendek lebih dulu sampai selesai.

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(SFJ - Shortest Job First)

• Contoh :

• Gantt Chart :

• Nilai waktu tunggu : P1 = 3 milidetik, P2 = 16 milidetik, P3 = 9milidetik, P4 = 0 milidetik

• AWT : (3+16+9+0) / 4 = 7 milidetik

31

32

24/10/2019

17

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(SFJ - Shortest Job First)

• Menentukan Turn Around Time (TAT)

• Turn around time (waktu penyelesaian) P4 adalah 3, P1 = 9,P3 = 16 dan P4 = 24 maka rata-rata turn around time =(3+9+16+24)/4 = 13 milidetik

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(SFJ - Shortest Job First)

• Contoh menentukan Turn Around Time :

33

34

24/10/2019

18

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(SFJ - Shortest Job First)– Soal LatihanSoal Latihan :Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPUBurst-time) masing-masing sbb :

Jika proses dilayani dengan algoritma SFJ, buatlah gant chart, hitung AWT dan TAT

PROSES BURST TIMEP1 10P2 5P3 4P4 8

Sistem Operasi| [email protected] Operasi| [email protected]

Highest Ratio Next (HRN)

35

36

24/10/2019

19

Sistem Operasi| [email protected] Operasi| [email protected]

• Penjadwalan untuk mengoreksi kelemahan SJF.• Adalah strategi penjadwalan dengan prioritas proses tidak

hanya merupakan fungsi waktu layanan tetapi juga jumlahwaktu tunggu proses.

• Begitu proses mendapat jatah pemroses, proses berjalan sampai selesai.

• Prioritas dinamis HRN dihitung berdasarkan rumus:• Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan

Algoritma PenjadwalanHighest Ratio Next (HRN)

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma PenjadwalanHighest Ratio Next (HRN)• Karena waktu layanan muncul sebagai pembagi, maka job lebih

pendek berprioritas lebih baik, karena waktu tunggu sebagaipembilang maka proses yang telah menunggu lebih lama juga mempunyaikesempatan lebih bagus.

• Disebut HRN, karena waktu tunggu ditambah waktu layanan adalahwaktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani.

37

38

24/10/2019

20

Sistem Operasi| [email protected] Operasi| [email protected]

Penjadwalan ini merupakan :Penjadwalan non-preemptivePenjadwalan berprioritas dinamis.

Rumus : Rp = ( s + t ) / twaktu tunggu : s, waktu layanan : t

Dari soal diatas yang dikerjakan pertama kaliadalah job yang tiba pertama kali. Dikarenakanjob lain belum tiba.

Algoritma PenjadwalanHighest Ratio Next (HRN)

Sistem Operasi| [email protected] Operasi| [email protected]

B=(4-1),C= (4-2),D=(4-3),E=(4-4)

Algoritma PenjadwalanHighest Ratio Next (HRN)

39

40

24/10/2019

21

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma PenjadwalanHighest Ratio Next (HRN)

C= (6-2),D=(6-3),E=(6-4)

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma PenjadwalanHighest Ratio Next (HRN)

D=(11-3),E=(11-4)

41

42

24/10/2019

22

Sistem Operasi| [email protected] Operasi| [email protected]

RR (Round Robin)

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)

• Penjadwalan preemptive dan tanpa prioritas• Semua proses dianggap penting dan diberi sejumlah waktu

pemroses yang disebut kwanta (quantum) atau time-slice dimanaproses itu berjalan.

• Ketentuan algoritma RR :• Jika quantum habis dan proses belum selesai maka proses menjadi

runnable dan pemroses dialihkan ke proses lain• jika quantum belum habis dan proses menunggu suatu kejadian

(selesainya I/O), maka proses menjadi blocked dan pemroses dialihkanke proses lain.

• jika quantum belum habis tapi proses telah selesai maka prosesdiakhiri dan pemroses dialihkan ke proses lain.

43

44

24/10/2019

23

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)

Contoh : kumpulan proses datang pada waktu 0

Quantum 4 milidetik P1 mendapat 4 milidetik pertama 20 milidetik berikutnya akan disela P2 dan P3

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)

• Gambar Gantt Chart

• Waktu tunggu tiap proses

• AWT : (6+4+7)/3 = 5,66 milidetik

45

46

24/10/2019

24

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)

Contoh : Menentukan Turn Around Time untuk quantum waktu(q) = 3

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)– Soal LatihanSoal Latihan :Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPUBurst-time) masing-masing sbb :

Jika proses dilayani dengan algoritma RR dan quatum ditetapkan 4 ms, buatlahgant chart, hitung AWT dan TAT

PROSES BURST TIMEP1 10P2 5P3 4P4 8

47

48

24/10/2019

25

Sistem Operasi| [email protected] Operasi| [email protected]

CONTOH SOAL 2

Jika diketahui waktu tiba proses sama yaitu 0,dengan Quantum (Q) = 2.

Hitunglah waktu Turn Arround (TA) untuk tiap-tiapproses, Total TA dan Rata-rata TA-nya?!

Algoritma Penjadwalan(RR – Round Robin)– Soal Latihan

Sistem Operasi| [email protected] Operasi| [email protected]

A B A B C D E A C E C0 3 6 9 11 14 17 19 22 25 26 28

JAWAB SOAL 2

Algoritma Penjadwalan(RR – Round Robin)– Soal Latihan

49

50

24/10/2019

26

Sistem Operasi| [email protected] Operasi| [email protected]

CONTOH SOAL 3

Jika diketahui waktu tiba proses bukan 0, denganQuantum (Q) = 2.

Hitunglah waktu Turn Arround (TA) untuk tiap-tiap proses?!

Algoritma Penjadwalan(RR – Round Robin)– Soal Latihan

Sistem Operasi| [email protected] Operasi| [email protected]

A B A B C D E A C E C E C0 2 4 6 7 9 10 12 13 15 17 19 21 22

NAMAPROSES

WAKTUTIBA

LAMAEKSEKUSI

MULAIEKSEKUSI

SELESAIEKSEKUSI

TA

A 0 5 0 13 13B 1 3 2 7 6C 5 7 7 22 17D 6 1 9 10 4E 7 6 10 21 14

JAWAB SOAL 3

Algoritma Penjadwalan(RR – Round Robin)– Soal Latihan

51

52

24/10/2019

27

Sistem Operasi| [email protected] Operasi| [email protected]

PS - Priority Schedulling

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(PS - Priority Schedulling)

Tiap proses dilengkapi dengan prioritas. CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi. Jika beberapa proses memiliki prioritas yang sama, maka akan

digunakan algoritma FIFO.

53

54

24/10/2019

28

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(PS - Priority Schedulling)

• Contoh : ada 5 proses P1,P2,P3,P4,P5

• Gantt Chart

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(PS - Priority Schedulling)

AWT = (6+0+16+18+1) = 8,2 ms

55

56

24/10/2019

29

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(RR – Round Robin)– Soal LatihanSoal Latihan :Misal ada 4 proses P1, P2, P3, P4 yang datang dengan lama waktu kerja CPU (CPUBurst-time) masing-masing sbb :

Jika proses dilayani dengan algoritma PS, buatlah gant chart, hitung AWT dan TAT

PROSES BURST TIME PRIORITASP1 10 2P2 5 1P3 4 4P4 8 3

Sistem Operasi| [email protected] Operasi| [email protected]

Algoritma Penjadwalan(PS - Priority Schedulling)

• Prioritas biasanya menyangkut masalah : waktu, memori yang dibutuhkan,banyaknya file yang boleh dibuka, dan perbandingan antara rata-rata I/O burst dengan rata-rata CPU burst.

• Priority schedulling bersifat preemptive atau nonpreemptive. Jika ada prosesP1 yang datang pada saat P0 sedang berjalan, maka akan dilihat prioritas P1.

• Seandainya prioritas P1 lebih besar dibanding dengan prioritas P0 maka padanon preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPUburst-nya, dan meletakkan P1 pada posisi head queue.

• Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU gantidialokasikan untuk P1.

57

58

24/10/2019

30

Sistem Operasi| [email protected] Operasi| [email protected]

Shortest-Remaining-First (SRF)

Sistem Operasi| [email protected] Operasi| [email protected]

Penjadwalan ini merupakan :• Penjadwalan preemptive dengan sisa waktu terpendek.• Penjadwalan berprioritas dinamis.

Contoh Soal I

Algoritma PenjadwalanShortest-Remaining-First (SRF)

59

60

24/10/2019

31

Sistem Operasi| [email protected] Operasi| [email protected]

Jawab Soal I

NAMAPROSES

WAKTUTIBA

LAMAEKSEKUSI

MULAIEKSEKUSI

SELESAIEKSEKUSI

TA

A 0 7 0 14 14B 2 3 2 5 3C 4 9 14 23 19D 5 4 5 9 4

A B B D A C0 2 4 5 9 14 23

Algoritma PenjadwalanShortest-Remaining-First (SRF)

Sistem Operasi| [email protected] Operasi| [email protected]

Contoh Soal IIHitunglah waktu tunggu tiap-tiap proses dan rata-ratanya (AWT)dari tabel proses di bawah ini?!

PROSES ID WAKTU TIBA LAMAEKSEKUSI

P1 0 10P2 3 6P3 7 12P4 9 8P5 10 6

Algoritma PenjadwalanShortest-Remaining-First (SRF)

61

62

24/10/2019

32

Sistem Operasi| [email protected] Operasi| [email protected]

Terima Kasih

Sistem Operasi| [email protected] Operasi| [email protected]

PROSES ID WAKTU TIBA LAMA EKSEKUSI MULAIEKSEKUSI

SELESAIEKSEKUSI

WAKTU TUNGGU (WT)

P1 0 10 0 16 (0-0) +(9-3)=6

P2 3 6 3 7 (3-3)=0P3 7 12 30 42 (30-7)=23P4 9 8 22 30 (22-9)=13P5 10 6 16 22 (16-10)=6

Total WT=48

AWT=9,65

Jawab Soal II

P1 P2 P2 P1 P1 P5 P4 P40 3 7 9 10 16 22 30 42

Algoritma PenjadwalanShortest-Remaining-First (SRF)

63

64