Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian,...

31
Pertemuan - 4 PENJADWALAN PROSES Haryono Setiadi, ST, M.Eng D3 Ilmu Komputer UNS

Transcript of Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian,...

Page 1: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

Pertemuan - 4PENJADWALAN PROSES

Haryono Setiadi, ST, M.EngD3 Ilmu Komputer UNS

Page 2: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

OBJEK PEMBELAJARAN

•• DefinisiDefinisi•• SasaranSasaran PenjadwalanPenjadwalan•• TipeTipe--tipetipe penjadwalanpenjadwalan•• StrategiStrategi PenjadwalanPenjadwalan•• AlgoritmaAlgoritma PenjadwalanPenjadwalan

Page 3: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

DEFINISI

Penjadwalan merupakan kumpulan kebijaksanaan danmekanisme di sistem operasi yang berkaitan dengan urutankerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses yang harus berjalandan kapan atau berapa lama proses itu berjalan. Sasaran utama penjadwalan proses adalah optimasi kinerjamenurut kriteria tertentu, yaitu :

adilefisiensiwaktu tanggap (response time) turn arround time throughput

Page 4: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

SASARAN PENJADWALAN (1)

AdilProses-proses diperlakukan sama yaitu mendapat jatah waktupemroses yang sama dan tak ada proses yang tidak kebagianlayanan pemroses.

Efisiensi- Efisiensi atau utilisasi pemroses dihitung dengan perbandingan

(rasio) waktu sibuk pemroses. - Sasaran penjadwalan menjaga agar pemroses tetap dalam

keadaan sibuk sehingga efisiensi mencapai maksimum. - Sibuk pemroses tidak menganggur, termasuk waktu yang

dihabiskan untuk mengeksekusi program pemakai dan SO

Page 5: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

SASARAN PENJADWALAN (2)

Waktu tanggap (response time)

Waktu tanggap pada sistem interaktifAdalah waktu yang dihabiskan dari saat karakter terakhir dariperintah dimasukkan sampai hasil pertama muncul di layar(terminal) disebut terminal response time

Waktu tanggap pada sistem waktu nyata (real-time)Adalah waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksuddieksekusi disebut event response time

Page 6: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

SASARAN PENJADWALAN (3)

Turn arround time - Adalah waktu yang dihabiskan dari saat program atau job

mulai masuk ke sistem sampai proses diselesaikan sistem. - Waktu yang dimaksud adalah waktu yang dihabiskan di

dalam sistem.

Turn Arround Time = waktu eksekusi + waktu menunggu

Sasaran penjadwalan adalah meminimalkan turn arround time.

Page 7: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

SASARAN PENJADWALAN (4)

Throughput - Adalah jumlah kerja atau jumlah job yang dapat diselesaikan

dalam satu unit waktu. - Sasaran penjadwalan adalah memaksimalkan jumlah job yang

diproses per satu interval waktu. - Lebih tinggi angka throughput lebih banyak kerja yang

dilakukan sistem.

Page 8: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

STRATEGI PENJADWALAN

Ada 2 strategi penjadwalan :• Penjadwalan nonpreemptive• Penjadwalan preemptive

PenjadwalanPenjadwalan nonpreemptivenonpreemptive : ProsesProses yang yang sedangsedang berjalanberjalan tidaktidak dapatdapatdiseladisela. . SekaliSekali prosesproses beradaberada didi status runningstatus running ((sedangsedang berjalanberjalan), ), makamakaprosesproses tersebuttersebut akanakan dieksekusidieksekusi terusterus sampaisampai prosesproses berhentiberhenti dandan CPU CPU tidaktidak dapatdapat diambildiambil alihalih oleholeh prosesproses yang lainyang lain..

PenjadwalanPenjadwalan preemptivepreemptive : : ProsesProses yang yang sedangsedang berjalanberjalan dapatdapat diinterupsidiinterupsidandan dipindahdipindah keke status readystatus ready oleholeh sistemsistem operasioperasi sehinggasehingga CPU CPU dapatdapatdiambildiambil alihalih prosesproses yang lainyang lain..

Page 9: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

ALGORITMA PENJADWALAN

Terdapat 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 preemptiveMFQ (Multiple Feedback Queues) RR (Round Robin) SRF (Shortest Remaining First) PS (Priority Schedulling) GS (Guaranteed Schedulling)

Page 10: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVE Penjadwalan FIFO (First in, First Out) (1)

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

Proses-proses diberi jatah waktu pemroses berdasarkanwaktu kedatanganSaat proses mendapat jatah waktu pemroses, prosesdijalankan sampai selesai

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

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

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

Page 11: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVE Penjadwalan FIFO (First in, First Out) (2)

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

Page 12: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVE Penjadwalan FIFO (First in, First Out) (3)

Page 13: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVEPenjadwalan SJF (Shortest Job First) (1)

jarang digunakan

- Merupakan penjadwalan nonpreemptive dan penjadwalantidak berprioritas.

- Penjadwalan ini mengasumsikan waktu jalan proses (sampaiselesai) diketahui sebelumnya. Mekanisme penjadwalanadalah menjadwalkan proses dengan waktu jalan terpendeklebih dulu sampai selesai.

Page 14: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVEPenjadwalan SJF (Shortest Job First) (2)

Page 15: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVEPenjadwalan SJF (Shortest Job First) (3)

Page 16: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan PS (Priority Schedulling) (1)

Tiap proses dilengkapi dengan prioritas. CPU dialokasikan untukproses yang memiliki prioritas paling tinggi. Jika beberapa prosesmemiliki prioritas yang sama, maka akan digunakan algoritma FIFO. Contoh :

Page 17: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan PS (Priority Schedulling) (2)

Page 18: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (1)

Merupakan penjadwalan preemptive, penjadwalan tanpa prioritas. Semua proses dianggap penting dan diberi sejumlah waktu

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

Page 19: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (2)

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 pemrosesdialihkan ke proses lain.

- Jika quantum belum habis tapi proses telah selesai maka prosesdiakhiri dan pemroses dialihkan ke proses lain.

Page 20: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (3)

Page 21: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (4)

Page 22: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (5)

Page 23: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan RR (Round Robin) (6)

Page 24: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

Nama Proses Saat Tiba Lama ProsesA 0 4 B 0 3 C 0 2 D 0 1

Jika digunakan penjadualan Putar Gelang (Round Robin), dengan kuantum waktu sebesar 2 satuan waktu, tentukan AWT dan rata2 TAT?

Page 25: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan GS (Guaranteed Schedulling) (1)

Penjadwalan ini harus menjamin bahwa algoritma tersebutmempunyai kinerja yang cukup bagus dan menjanjikankelangsungan hidup yang baik. Contoh :

misal ada n user yang sedang login, maka tiap-tiap user dijanjikanakan menerima 1/n dari kemampuan CPU. Untuk meyakinkan bahwa setiap user mendapatkan jatah waktumenggunakan CPU sesuai dengan haknya maka sistem harus tahuberapa CPU time yang diperlukan oleh setiap proses dalam 1 user. Dan juga CPU time yang diperlukan oleh tiap-tiap user

Page 26: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan GS (Guaranteed Schedulling) (2)

Page 27: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan GS (Guaranteed Schedulling) (3)

Page 28: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

END CHAPTER

CHAPTER BERIKUTNYA : 5. KONGKURENSI (KEBERSAMAAN)

Page 29: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

NONPREEMPTIVEPenjadwalan HRN (Highest – Ratio Next)

- Merupakan penjadwalan non-preemptive & penjadwalanberprioritas dinamis merupakan perbaikan dari algoritma SJF, karena pada SJF ada kemungkinan proses dengan waktulayanan lama akan menunggu lama untuk dieksekusi.

- Hal ini disebabkan adanya proses-proses lain yang waktulayanannya selalu lebih pendek dari proses tersebut. Prioritas = (waktu tunggu + waktu layanan) / waktu layananProses dengan prioritas yang tertinggi akan dipilih untukdieksekusi selanjutnya.

Page 30: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan MFQ (Multiple Feedback Queues)

- Merupakan penjadwalan dengan banyak antrian, merupakanpenjadwalan preemptive (by-time), penjadwalan berprioritas dinamis.

- Penjadwalan ini untuk mencegah banyaknya swapping dengan proses-proses yang sangat banyak menggunakan pemroses (karenamenyelesaikan tugasnya memakan waktu lama) diberi jatah waktu(jumlah kwanta/jumlah quantum) lebih banyak dalam satu waktu.

- Penjadwalan ini menghendaki kelas-kelas prioritas bagi proses-prosesyang ada. Kelas tertinggi berjalan selama satu kwanta, kelas berikutnyaberjalan selama 2 kwanta,kelas berikutnya berjalan 4 kwanta, dst.

- Ketentuan yang berlaku : Jalankan proses pada kelas tertinggiJika proses menggunakan seluruh kwanta yang dialokasikan maka diturunkankelas prioritasnyaProses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.

Page 31: Pertemuan - 4 PENJADWALAN PROSES · PDF file- Merupakan penjadwalan dengan banyak antrian, merupakan penjadwalan preemptive (by-time), penjadwalan berprioritas dinamis

PREEMPTIVEPenjadwalan SRF (Shortest Remaining First) � Penjadwalansisa waktu terpendek, duluan

- Merupakan penjadwalan preemptive, berprioritas dinamis. PadaSRF, proses dengan sisa waktu jalan diestimasi terendahdijalankan, termasuk proses-proses yang baru tiba.

- Pada SJF begitu proses dieksekusi, proses dijalankan sampaiselesai

- Pada SRF proses yang sedang berjalan (running) dapat diambilalih proses baru dengan sisa jalan yang diestimasi lebih rendah.