PENJADWALAN PROSES M Ghofar Rohman DIAGRAM STATUS PROSES

  • Slides: 57
Download presentation
PENJADWALAN PROSES M. Ghofar Rohman

PENJADWALAN PROSES M. Ghofar Rohman

DIAGRAM STATUS PROSES

DIAGRAM STATUS PROSES

STATUS PROSES Saat-saat proses dijalankan (executed) maka status dari proses akan berubah Status proses

STATUS PROSES Saat-saat proses dijalankan (executed) maka status dari proses akan berubah Status proses tidak selamanya aktif menggunakan CPU. Sering proses menunggu I/O complete => status wait, sebaiknya CPU diberikan kepada proses yang lain. Mendukung multi-tasking – utilisasi CPU dan I/O Status proses (antara lain): new: proses sedang dikerjakan / dibuat. running: instruksi dieksekusi. waiting: proses menunggu beberapa event yang akan terjadi ready: proses menunggu jatah waktu dari prosessor terminated: proses selesai dieksekusi.

PENJADWALAN CPU Pada saat CPU menganggur, maka sistem operasi harus menyeleksi proses -proses yang

PENJADWALAN CPU Pada saat CPU menganggur, maka sistem operasi harus menyeleksi proses -proses yang ada di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut. Seleksi semacam ini disebut dengan shortterm scheduler (CPU scheduler).

 Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan di bawah ini : 1. 2.

Keputusan untuk menjadwalkan CPU mengikuti 4 keadaan di bawah ini : 1. 2. 3. 4. Apabila proses berpindah dari keadaan running ke waiting; Apabila proses berpindah dari keadaan running ke ready; Apabila proses berpindah dari keadaan waiting ke ready; Apabila proses berhenti.

 Apabila model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwalan semacam

Apabila model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwalan semacam ini disebut non-peemptive. Sebaliknya, apabila yang digunakan adalah keadaan 2 dan 3, maka disebut dengan preemptive. Pada non-preemptive, jika suatu proses sedang menggunakan CPU, maka proses tersebut akan tetap membawa CPU sampai proses tersebut melepaskannya (berhenti atau dalam keadaan waiting). Preemptive scheduling memiliki kelemahan, yaitu biaya yang dibutuhkan sangat tinggi. Antara lain, harus selalu dilakukan perbaikan data. Hal ini terjadi jika suatu proses ditinggalkan dan akan segera dikerjakan proses yang lain.

PENJADWALAN PROSES Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang

PENJADWALAN PROSES Proses dapat berubah status dan berpindah dari satu antrian ke antrian yang lain Proses dengan status “ready” berada di Ready. Queue Menunggu giliran/dipilih oleh scheduler => menggunakan CPU Selama eksekusi (status “run”) events yang dapat terjadi: I/O request => I/O wait berada pada Device. Queue Create “child” proses => Jalankan proses “child”, tunggu sampai proses selesai (wait) Time slice expired => Waktu pemakaian CPU habis, interrupt oleh scheduler, proses akan berpindah ke Ready. Queue

PENJADWALAN PROSES Merupakan kumpulan kebijaksanaan & mekanisme pada SO berkenaan dengan urutan kerja yg

PENJADWALAN PROSES Merupakan kumpulan kebijaksanaan & mekanisme pada SO berkenaan dengan urutan kerja yg dilakukan sistem komputer. Bertugas memutuskan proses yg harus berjalan, kapan, dan selama berapa lama proses itu berjalan. Sasaran utama penjadwalan proses adalah kinerja menurut kriteria yg diajukan Kriteria yang digunakan utk mengukur dan optimasi kinerja penjadwalan: adil (fairness), efisiensi, waktu tanggap (response time), turn arround time, throughput

TIPE-TIPE PENJADWALAN Dapat terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yg

TIPE-TIPE PENJADWALAN Dapat terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yg kompleks, yaitu: Penjadwalan jangka pendek, bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan jangka menengah, mengendalikan transisi dari keadaan suspend ke ready proses-proses swapping. Penjadwalan jangka panjang, bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Note: Swapping adalah aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder.

KRITERIA OPTIMASI KINERJA Adil (fairness) Proses 2 diberlakukan sama -> mendapat jatah waktu pemroses

KRITERIA OPTIMASI KINERJA Adil (fairness) Proses 2 diberlakukan sama -> mendapat jatah waktu pemroses yg sama & tak ada proses yg tak kebagian layanan pemroses Sasaran: menjamin tiap proses mendapat bagian dari pemroses yg adil Efisiensi Pemroses dihitung dg berapa perbandingan (rasio) waktu sibuk pemroses. Sasaran: menjaga proses agar tetap dalam keadaan sibuk -> efisiensi maksimum Waktu Tanggap (response time) Waktu yg dihabiskan dari saat karakter terakhir dari perintah dimasukkan program sampai hasil pertama yg muncul di layar Sasaran: meminimalkan waktu tanggap Turn Arrround Time Waktu yg dihabiskan dari saat program/job mulai masuk ke sistem sampai proses diselesaikan sistem TA = waktu eksekusi + waktu menunggu Sasaran: meminimalkan turn arround time Throughput Jumlah kerja yg dapat diselesaikan dalam satu unit waktu Sasaran: memaksimalkan jumlah job yang diproses per satu interval waktu Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem

ALGORITMA PENJADWALAN PROSES First Come First Served (FCFS) SJF (Shortest Job First) Priority Scheduling

ALGORITMA PENJADWALAN PROSES First Come First Served (FCFS) SJF (Shortest Job First) Priority Scheduling Round Robin

FIRST COME FIRST SERVED (FCFS) Merupakan algoritma penjadwalan CPU yang paling sederhana Proses yang

FIRST COME FIRST SERVED (FCFS) Merupakan algoritma penjadwalan CPU yang paling sederhana Proses yang tiba lebih dahulu akan dilayani lebih dahulu Kalau ada proses tiba pada waktu yang sama, maka pelayanan mereka dilaksanakan berdasarkan urutan dalam antrian Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.

CONTOH - FCFS Diketahui 3 buah proses sbb:

CONTOH - FCFS Diketahui 3 buah proses sbb:

 Gantt chart Waiting Time AWT

Gantt chart Waiting Time AWT

FCFS (2) Contoh soal 1: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E

FCFS (2) Contoh soal 1: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya 0. Lama proses berturut-turut antara lain: 5 -2 -6 -8 -3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata-rata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rata-rata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba

FCFS (3) Jawaban: Nama Proses A Waktu Tiba 0 Lama Eksekusi 5 B 0

FCFS (3) Jawaban: Nama Proses A Waktu Tiba 0 Lama Eksekusi 5 B 0 2 C 0 6 D 0 8 E 0 3

FCFS (4) Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Waktu Tunggu

FCFS (4) Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Waktu Tunggu Selesai Ekseku si TA A 0 5 0 0 5 5 B 0 2 5 5 7 7 C 0 6 7 7 13 13 D 0 8 13 13 21 21 E 0 3 21 21 24 24 ∑TA = 70 rata 2 TA = 14

FCFS (5) Contoh Soal 2: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E

FCFS (5) Contoh Soal 2: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya 0 -1 -2 -2 -5. Lama proses berturut-turut antara lain: 5 -2 -6 -8 -3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata rerata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rerata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba

FCFS (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA A

FCFS (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA A 0 5 0 5 B 1 2 5 7 4 6 C 2 6 7 13 5 11 D 2 8 13 21 11 19 E 5 3 21 24 16 19 ∑TA = 60 Rerata = 12

FCFS (7) Berdasarkan kriteria penilaian penjadwalan: Fairness Penjadwalan FCFS adil dalam arti semantiks (dalam

FCFS (7) Berdasarkan kriteria penilaian penjadwalan: Fairness Penjadwalan FCFS adil dalam arti semantiks (dalam arti antrian) Efesiensi Penjadwalan FCFS sangat efisien dalam penggunaan pemroses Waktu Tanggap Penjadwalan sangat tidak memuaskan, karena proses dapat menunggu lama Turn Arround Time Penjadwalan FCFS tidak bagus Throughput Penjadwalan FCFS tidak bagus.

SHORTEST JOB FIRST Dasar prioritas adalah pendeknya proses. Makin pendek/singkat proses makin tinggi prioritasnya

SHORTEST JOB FIRST Dasar prioritas adalah pendeknya proses. Makin pendek/singkat proses makin tinggi prioritasnya Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani Langkah II: penentuan proses mana yang dilayani oleh pemroses

 Setiap proses yang ada dalam ready queue akan dieksekusi berdasarkan burst time terkecil

Setiap proses yang ada dalam ready queue akan dieksekusi berdasarkan burst time terkecil Hal ini mengakibatkan waiting time yang pendek untuk setiap proses, maka rerata waiting time (AWT) juga menjadi pendek Algoritma ini dikatakan optimal

SJF (2) Contoh Soal 1: Nama Proses A Waktu Tiba 0 Lama Eksekusi 10

SJF (2) Contoh Soal 1: Nama Proses A Waktu Tiba 0 Lama Eksekusi 10 B 0 5 C 0 7 D 0 1 E 0 3

SJF (3) Nama Proses Waktu Tiba Lama Eksekusi D 0 1 E 0 3

SJF (3) Nama Proses Waktu Tiba Lama Eksekusi D 0 1 E 0 3 B 0 5 C 0 7 A 0 10

SJF (4) Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Selesai Ekseku

SJF (4) Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Selesai Ekseku si TA D 0 1 0 1 E 0 3 1 4 B 0 5 4 9 C 0 7 9 16 A 0 10 16 26 ∑TA = 56 rata 2 TA = 11, 2

SJF (5) Nama Proses Lama Eksekusi Waktu Tiba D 1 0 E 3 2

SJF (5) Nama Proses Lama Eksekusi Waktu Tiba D 1 0 E 3 2 B 5 5 C 7 7 A 10 9

SJF (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA D

SJF (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA D 0 1 0 1 E 2 3 2 5 0 3 B 5 5 5 10 0 5 C 7 7 10 17 3 10 A 9 10 17 27 8 18 ∑TA = 37 Rerata = 7, 4

PRIORITY SCHEDULING Merupakan algoritma yang mendahulukan proses yang memiliki prioritas tertinggi Prioritas proses ditentukan

PRIORITY SCHEDULING Merupakan algoritma yang mendahulukan proses yang memiliki prioritas tertinggi Prioritas proses ditentukan berdasar: Time limit Memory requirement File access Perbandingan antara burst proses dengan CPU Tingkat kepentinagn proses

PS (2) Priority scheduling dapat dijalankan secara preemptive dan non-preemptive Preemptive jika ada proses

PS (2) Priority scheduling dapat dijalankan secara preemptive dan non-preemptive Preemptive jika ada proses yang baru datang memiliki prioritas lebih tinggi dari proses yang sedang berjalan, maka proses yang sedang berjalan tsb dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut Non preemptive proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tapi hanya diletakkan di depan queue

PS (3) Kelemahan PS adalah terjadinya infinite blocking (starvation), yaitu suatu proses dengan prioritas

PS (3) Kelemahan PS adalah terjadinya infinite blocking (starvation), yaitu suatu proses dengan prioritas yang rendah memiliki kemungkinan tidak pernah dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi Solusi dari starvation adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap

PS (4) Contoh : setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam

PS (4) Contoh : setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan 1 tingkat. Maka proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tsb akan memiliki prioritas 0, yaitu prioritas yang tertinggi

CONTOH 2 - PS Diketahui 5 proses dengan urutan proses sbb:

CONTOH 2 - PS Diketahui 5 proses dengan urutan proses sbb:

 Gantt chart Waiting Time AWT

Gantt chart Waiting Time AWT

ROUND ROBIN Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah

ROUND ROBIN Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya Proses ini cukup adil, karena tidak ada proses yang diprioritaskan Semua proses mendapat jatah waktu yang sama dari CPU yaitu 1/n, dan tidak akan menunggu lebih lama dari (n-1)q; dimana q adalah lama 1 quantum

 Algoritma RR sepenuhnya bergantung besarnya time quantum (TQ). Jika TQ terlalu besar, algoritma

Algoritma RR sepenuhnya bergantung besarnya time quantum (TQ). Jika TQ terlalu besar, algoritma ini akan sama saja dengan algoritma FCFS Jika TQ terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu yang terbuang

PERMASALAHAN ALGORITMA RR Permasalahan utamanya adalah menentukan besarnya TQ. Jika TQ yang ditentukan terlalu

PERMASALAHAN ALGORITMA RR Permasalahan utamanya adalah menentukan besarnya TQ. Jika TQ yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Akibatnya akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari satu proses ke proses yang lain (= context switches time) Sebaliknya, jika TQ yang ditentukan terlalu besar, algoritma RR akan berjalan seperti FCFS TQ ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 TQ

URUTAN KEJADIAN RR

URUTAN KEJADIAN RR

PENGGUNAAN TQ

PENGGUNAAN TQ

CONTOH SEDERHANA

CONTOH SEDERHANA

CONTOH 2 Diketahui 3 proses sbb:

CONTOH 2 Diketahui 3 proses sbb:

 Gantt chart Burst Time

Gantt chart Burst Time

CONTOH 3 –RR

CONTOH 3 –RR

CONTOH 4 - RR Sebuah CPU dengan quantum 4 mendapat beberapa proses yang kedatangannya

CONTOH 4 - RR Sebuah CPU dengan quantum 4 mendapat beberapa proses yang kedatangannya sebagai berikut: Proses Burst Time P 1 4 P 2 9 P 3 6 P 4 5 P 5 3 Burst time waktu proses

GANTT CHART P 1 0 P 2 4 P 3 8 P 4 12

GANTT CHART P 1 0 P 2 4 P 3 8 P 4 12 P 5 16 P 2 19 P 3 23 P 4 25 P 2 26 27

AWT (AVERAGE WAITING TIME) Waktu tunggu untuk tiap-tiap proses : Proses P 1 P

AWT (AVERAGE WAITING TIME) Waktu tunggu untuk tiap-tiap proses : Proses P 1 P 2 P 3 Waiting Time 0 4 + (19 - 8) + (26 - 23) = 18 8 + (23 - 12) = 19 P 4 P 5 12 + (25 - 16) = 21 16 AWT yang terjadi adalah: ( 0 + 18 + 19 + 21 + 16 ) / 5 = 74 / 5 = 14, 8

ATR (AVERAGE TURN AROUND) Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Turn

ATR (AVERAGE TURN AROUND) Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Turn Around Time P 1 0 4 4 P 2 0 9 4 27 27 P 3 0 6 8 25 25 P 4 0 5 12 26 26 P 5 0 3 16 19 19 Jumlah Rata-rata 101 20, 2

ROUND ROBIN DENGAN WAKTU TIBA BERBEDA Nama Proses Saat Tiba A 0 B 1

ROUND ROBIN DENGAN WAKTU TIBA BERBEDA Nama Proses Saat Tiba A 0 B 1 C 5 D 6 E 7 Jml Lama Proses 5 3 7 1 6 22 Quantum = 2

GANTT CHART A 0 A 1 E 11 B 2 E 12 B 13

GANTT CHART A 0 A 1 E 11 B 2 E 12 B 13 4 3 C A C 14 A 5 E 15 B 6 E 16 C 17 8 7 C C C 18 D 9 E 19 A 10 E 20 C 21 22

AWT Nama Saat Proses Tiba Lama Proses Waiting Time A 0 5 0+(4 -2)+(10

AWT Nama Saat Proses Tiba Lama Proses Waiting Time A 0 5 0+(4 -2)+(10 -6)=6 B 1 3 (2 -1)+(6 -4)=3 C 5 7 (7 -5)+(13 -9)+(17 -15)+(21 -19) =10 D 6 1 (9 -6)=3 E 7 6 (11 -7)+(15 -13)+(19 -17)=8 AWT = (6+3+10+3+8)/5 = 30/5 = 6

TURN AROUND Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Lama Proses

TURN AROUND Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Lama Proses A 0 5 0 11 11 B 1 3 2 7 6 C 5 7 7 22 17 D 6 1 9 10 4 E 7 6 11 21 14 Jumlah Rata-rata 52 10, 8

CONTOH 5 Untuk memahami dari cara kerja algoritma penjadwalan Round Robin ini, mari kita

CONTOH 5 Untuk memahami dari cara kerja algoritma penjadwalan Round Robin ini, mari kita kerjakan soal berikut

 Penyelesaian : Seperti halnya algoritma penjadwalan sebelumnya, langkah pertama untuk mencari AWT dengan

Penyelesaian : Seperti halnya algoritma penjadwalan sebelumnya, langkah pertama untuk mencari AWT dengan Algoritma penjadwalan Round Robin dilakukan dengan membuat Gantt Chart prosesnya.

 Dari Gantt Chart terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses

Dari Gantt Chart terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses di proses sebesar 5 langkah. Awalnya P 1 akan di kerjakan sebanyak 5 langkah, kemudian, P 2 sebanyak 5 langkah, dan begitupun selanjutnya hingga P 5. Proses yang sudah di proses menurut porsi waktu yang diberikan akan kembali menunggu dan berada paling belakang dari antrian proses yang ada.

 Contohnya P 1 dikerjakan di awal, kemudian ada P 2, P 3, P

Contohnya P 1 dikerjakan di awal, kemudian ada P 2, P 3, P 4, dan P 5 yang mengantri di belakangnya. Jika P 1 selesai di proses menurut porsi waktunya maka P 1 akan di pindahkan ke belakang, sehingga urutannya menjadi P 2, P 3, P 4, P 1. begitupun seterusnya.

 Waiting Time AWT

Waiting Time AWT

LATIHAN: Diketahui quantum = 5, dengan menggunakan alogoritma Round Robin, carilah AWT dan Turn

LATIHAN: Diketahui quantum = 5, dengan menggunakan alogoritma Round Robin, carilah AWT dan Turn Around jika terdapat proses sebagai berikut: Nama Proses Saat Tiba Lama Proses A 0 5 B 2 3 C 7 8 D 11 2 E 14 6

TUGAS. . Diketahui : P 1 = 1, P 2 = 3, P 3

TUGAS. . Diketahui : P 1 = 1, P 2 = 3, P 3 = 2, P 4 = 1, P 5 = 4, P 6 = 5 waktu tiba bersamaan. . Hitung AWT dan ATAT nyamenggunakan. Algotitma FCFS? Diketahui : P 1 = 1, P 2 = 3, P 3 = 2, P 4 = 1, P 5 = 4, P 6 = 5 QT = 2 Hitung AWT dan ATAT nyamenggunakan. Algotitma Round Robin?