1 / 60

Penjadwalan Proses

Penjadwalan Proses. Diagram Status Proses. KETERANGAN GAMBAR. Proses baru diciptakan berada pada state ready

aleta
Download Presentation

Penjadwalan Proses

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PenjadwalanProses

  2. Diagram Status Proses

  3. KETERANGAN GAMBAR • Proses baru diciptakan berada pada state ready • Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event wait. • Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout). • Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event occur • Proses dari ready jadi running karena penjadwal memutuskan untuk mengeksekusi proses tersebut.

  4. Deskripsi Penjadwalan Proses • Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. • Sedangkan proses sendiri merupakan unit kerja terkecil yang secara individu memiliki sumberdaya atau unit pemilikan sumberdaya. Tugas Penjadwalan : • Memutuskan proses yang harus berjalan • Memutuskan kapan dan selama berapa lama proses itu berjalan

  5. Deskripsi • Sebagai kumpulan kebijaksanaan dan mekanisme sistem operasi yang mengatur urutan dan jangka waktu eksekusi proses-proses yang aktif. • Penjadwalan bertugas menentukan kapan serta berapa lama proses tersebut boleh menggunakan processor.

  6. Komponen Penjadwalan Proses • Untuk melakukan penjadwalan proses, sistem operasi membutuhkan sejumlah komponen: • Antrian Penjadwalan (Scheduling Queue) • Meliputi antrian yang berisi proses-proses yang siap dieksekusi (ready queue), antrian untuk proses-proses yang menunggu layanan operasi dari suatu piranti I/O (piranti I/O atau I/O queue seperti disk, magnetic tape dan terminal). • Selain itu, juga terdapat job (long-term) queue yang berisi semua proses dalam sistem. • Umumnya antrian–antrian ini diimplementasikan dalam bentuk linked list

  7. Komponen Penjadwalan Proses • Penjadwal (Scheduler) • Penjadwalberuparutin program algoritmatertntu yang menyeleksiproses yang akandieksekusi processor. • Jenis scheduler: • PenjadwalJangkaPendek (Short-term scheduler) Bertugasuntukmenyeleksiprosesmana yang akandijalankandiantaraproses-proses yang adadiantrian Ready. Penjadwalinidijalankansetiapterjadipengalihaneksekusiprosesdengantujuanmemilihprosesberikutnya yang akandieksekusi processor. • PenjadwalJangkaMenengah (Medium-term scheduler) Jikaruangmemoriutamatidakcukupunutkproses yang sedangdieksekusimakasistemoperasiakanmelakukanswapping, yaitumemindahkan image proses lain darimemoriutamakememorisekunderseperti disk. Umumnya yang dikorbankan swapping adalahproses yang berstatus blocked yang sedangmenunggusuatueventatauselesainyasuatuoperasi I/O. Penjadwalinimenyeleksiproses yang akandi-swapping (swap out) danmenyeleksiproses yang akandikembalikankememoriutama (swap in)

  8. Komponen Penjadwalan Proses • Penjadwal Jangka Panjang (Long-term scheduler atau Job Scheduler) Berfungsi menyeleksi proses yang akan dialokasikan ke memori utama dan disisipkan pada antrian Ready. Dalam beberapa sistem operasi, proses yang baru diciptakan dinisialisasi dalam kondisi swapped-out pada memori maya (memori sekunder)

  9. KomponenPenjadwalanProsesPENJADWAL Penjadwal jangka menengah SuspendedBlocked Queue Penjadwal jangka panjang Batch Queue Ready Queue CPU Penjadwal jangka pendek Program-program interaktif SuspendedReady Queue

  10. Komponen Penjadwalan Proses • Dispatcher • Adalah suatu rutin sistem operasi yang berfungsi untuk melakukan pengalihan eksekusi dari proses yang Running ke proses yang terseleksi oleh short-term scheduler. • Rutin ini memindahkan isi register processor, konteks processor ke PCB proses yang dihentikan, kemudian mengubah statusnya menjadi Ready dan selanjutnya menginisialisasi isi register processor menggunakan konteks processor yang tersimpan dalam PCB proses terpilih. • Dispatch latency merupakan durasi waktu yang diperlukan untuk melakukan pengalihan (switching).

  11. Kriteria Penjadwalan Proses • Kriteria untuk mengukur dan optimasi kinerja penjadwalan antara lain: • Keadilan (Fairness) • Efisiensi (Processor Utilization) • Waktu Tanggap (Response Time) • Waktu Tunggu (Waiting Time) • Turn Around Time • Throughput

  12. Kriteria Penjadwalan Proses • Keadilan (Fairness) • Proses-proses harus diperlakukan sama, yaitu mendapatkan jatah waktu processor secara adil, namun tidak selalu berarti jatah waktu yang sama. • Harus memastikan tidak terjadi starvation, yaitu terdapat proses yang tidak terlayani dalam jangka waktu yang lama. • Penjadwalanseharusnyamenjamintiapprosesmendapatpelayanandari processor secaraadil.

  13. Kriteria Penjadwalan Proses • Efisiensi (Processor Utilization) • Penjadwalan menjaga agar processor terpakai secara terus-menerus selama masih ada proses yang aktif di antrian Ready. • Umumnya proses-proses yang saling menunggu inputan pengguna ataupun operasi I/O akan diblok dan berstatus blocked, sehingga tidak ikut dalam penjadwalan proses dan tidak memboroskan siklus hidup processor. • Penjadwalanmenjaga agar pemroses agar tetapdalamkeadaansibuksehinggaefisiensimencapaimaksimum.

  14. Kriteria Penjadwalan Proses • Waktu Tanggap (Response Time) • Pada sistem interaktif, waktu tanggap merupakan durasi waktu yang antara saat karakter terakhir dari perintah yang dimasukkan sampai hasil pertama yang muncul di layar (terminal), sehingga disebut juga terminal response time. • Pada sistem real-time, waktu tanggap merupakan durasi antara terjadinya suatu kejadian (event), baik eksternal maupun internal, dengan saat sistem memberikan tanggapan (instruksi dieksekusi), sehingga sering disebut juga event response time. • Penjadwalanharusmeminimalkanwaktutanggap.

  15. Kriteria Penjadwalan Proses • Waktu Tunggu (Waiting Time) • Pada lingkungan sistem komputer konkuren berprocessor tunggal, dalam suatu waktu hanya ada satu proses yang Running, sedangkan proses-proses lainnya menunggu di antrian Ready. • Waktu tunggu merupakan durasi waktu yang dihabiskan suatu proses dalam antrian Ready selama siklus hidupnya. • Algoritmapenjadwalan yang baikmenghasilkan rata-rata Waiting Time yang keciluntukseluruhproses.

  16. Kriteria Penjadwalan Proses • Turn Around Time • Adalah waktu yang dihabiskan dari saat program/job mulai masuk ke sistem sampai proses diselesaikan sistem. • Turn Around Time = Waktu Eksekusi + Waktu Menunggu. • Penjadwalanharusmeminimalkan Turn Around Time.

  17. Kriteria Penjadwalan Proses • Throughput • Merupakan rata-rata proses yang dapatdiselesaikan per satuanwaktu. • Algoritmapenjadwalanharusmemastikan processor bekerjaterus-menerussertameminimalkanhal-hal yang tidakberkaitanlangsungdenganpenyelesaiantugasproses, sepertiprosesswitching. Jikaprosesswitching seringterjadi, berartiwaktu processor banyaktersitauntukmembackup/restore konteks processor danbukanmengeksekusikodeinstruksiproses. • Penjadwalanharusmemaksimalkanjumlah job yang diproses per satuanwaktu. • Lebihtinggiangka throughput, lebihbanyakkerja yang dilakukansistem

  18. Strategi Penjadwalan • Strategi penjadwalan proses dibedakan menjadi dua kelompok besar, yaitu: • Penjadwalan Non-Preemtive • Penjadwalan Preemtive • Klasifikasi di atas berdasarkan pada dapat/tidaknya suatu processor diambil alih secara paksa.

  19. Strategi Penjadwalan • PenjadwalanNon-Preemtive • Padastrategiini, ketikaprosestelahberjalan, makasistemoperasimaupunproses lain tidakdapatmengambilaliheksekusi processor. • Pengalihanhanyadapatterjadijikaproses yang Running sudahselesai, baiksecara normal maupunsecara abnormal. • Strategiinimembahayakansistemdanproses lain, sebabjikaproses yang sedangberjalanmengalamikegagalan, crash ataupunlooping takberhingga, makasistemoperasimenjaditidakberfungsidanproses lain tidakmendapatkankesempatanuntukdieksekusi. • Strategiiniumumnyadigunakanpadasistem batch atausekuensial.

  20. Strategi Penjadwalan • Penjadwalan Preemtive • Pada strategi ini, sistem operasi dan proses lain dapat mengambil alih eksekusi processor tanpa harus menunggu proses yang sedang Running selesai mengerjakan tugasnya. • Pada sistem real-time, jika terjadi interupsi dan tidak segera dilayani, maka akan berakibat fatal. • Secara umum, sistem konkuren seperti sistem operasi yang multitasking lebih menghendaki sistem penjadwalan preemtive.

  21. Pemicu Terjadinya Penjadwalan • Ada sejumlah pemicu atau keadaan yang mengaktifkan fungsi penjadwalan proses, antara lain: • Proses berubah dari status Running ke Blocked • Proses berubah dari status Running ke Ready • Proses berubah dari status Blocked ke Ready • Proses berhenti (Terminated) Kapan sesungguhnya penjadwalan itu dilakukan oleh sistem operasi?

  22. Pemicu Terjadinya Penjadwalan • Proses berubah dari status Running ke Blocked. • Disebabkan karena proses melakukan system call untuk meminta operasi I/O (I/O Request) seperti membaca berkas dari disk maupun scanner atau karena menunggu suatu event atau interupsi (wait for an interrupt) seperti inputan keyboard oleh pengguna. • System call tersebut akan mengalihkan proses yang Running ke status Blocked dan kemudian memanggil rutin penjadwalan proses (scheduler) untuk memilih proses berikutnya yang akan dieksekusi.

  23. Pemicu Terjadinya Penjadwalan • Proses berubah dari status Running ke Ready • Disebabkan oleh proses yang sedang Running sudah habis time-slicenya (time slice expired). • Pengendalian jatah waktu eksekusi dilakukan oleh suatu pewaktu yang akan melakukan interupsi ke processor jika jatah waktu eksekusi suatu proses telah habis. • Rutin penanganan interupsi pewaktu akan mengalihkan proses yang Running ke status Ready dan kemudian memanggil rutin penjadwalan proses untuk memilih proses berikutnya yang akan dieksekusi.

  24. Pemicu Terjadinya Penjadwalan • Proses berubah dari status Blocked ke Ready • Ketika permintaan akses I/O ataupun event yang ditunggu oleh suatu proses yang berstatus Blocked telah terpenuhi, maka akan terjadi interupsi yang mengakibatkan proses yang sedang Runnig akan terhenti dan terjadi pengalihan konteks eksekusi ke rutin penanganan interupsi. • Rutin ini akan mengalihkan proses yang meminta akses I/O dari status Blocked menjadi Ready (memindahkan proses tersebut ke antrian Ready). • Pada akhirnya rutin ini akan memanggil fungsi penjadwalan.

  25. Pemicu Terjadinya Penjadwalan • Proses berhenti (Terminated) • Proses yang berhenti secara normal akan memanggil system call “exit”, sedangkan proses yang berhenti secara abnormal umumnya disertai dengan terjadinya trap. • Rutin system call exit maupun rutin penanganan trap akan melakukan penghapusan proses dari sistem dan diakhiri dengan memanggil fungsi penjadwalan proses.

  26. Algoritma Penjadwalan • Non Preemtive • First In First Out (FIFO) atau First Come First Serve (FCFS) • Shortest Job First (SJF) • High Response Ration Next (HRRN) • Preemtive • Round Robin (RR) • Shortest-Remaining Time First (SRTF) • Priority Scheduling (PS) • Guaranteed Scheduling (GS) • Multi Level Feedback Queues (MFQ)

  27. Algoritma Penjadwalan • Selain klasifikasi di atas, algoritma penjadwalan dapat diklasifikasikan berdasarkan adanya prioritas dari proses-proses, yaitu: • Algoritma penjadwalan tanpa prioritas • Algoritma penjadwalan berprioritas, antara lain: • Algoritma penjadwalan berprioritas statik • Algoritma penjadwalan berprioritas dinamis

  28. First In First Out (FIFO) • Penjadwalan sederhana. • Setiap proses diberi jadwal eksekusi berdasarkan urutan waktu kedatangannya. Ketika mendapatkan jatah eksekusi maka proses akan dieksekusi sampai selesai. • Algoritma ini dapat menyebabkan job yang pendek harus menunggu selesainya job panjang atau job yang penting menunggu job job yang kurang penting. • Memberikan response time yang buruk. NON - PREEMTIVE MerupakanPenjadwalanTidakBerprioritas

  29. First In First Out (FIFO) • Contoh: Ada 4 proses, yaitu P1, P2, P3, dan P4 sedang menunggu dijadwal dengan prediksi Burst Time (waktu eksekusi) 10ms, 3ms, 5ms, 4ms. Diasumsikan keempat proses masuk pada saat yang hampir bersamaan, yaitu detik ke-0. NON - PREEMTIVE

  30. First In First Out (FIFO) Misalkan urutan masuknya proses: P1, P2, P3 dan P4, maka Gantt Chart untuk penjadwalannya adalah: NON - PREEMTIVE P1 P2 P3 P4 0 10 13 18 22 Waiting Time = Waktu Tiba – Waktu Eksekusi

  31. First In First Out (FIFO) Maka: Waiting Time untuk P1 = 0, P2 = 10, P3 = 13, P4 = 18. Rata-rata Waiting Time = (0 + 10 + 13 + 18)/4 = 10,25ms. Sementarajikaurutanmasuknyaproses P2, P4, P3, P1 makaGantt Chart untukpenjadwalnyaadalah: NON - PREEMTIVE P2 P4 P3 P1 0 22 3 7 12

  32. First In First Out (FIFO) Maka Waiting timenya adalah: P1 = 12, P2 = 0, P3 = 7, P4 = 3 Rata-rata Waiting Timenya adalah: (12 + 0 + 7 + 3) / 4 = 5,5 ms NON - PREEMTIVE Dari duacontohdiatasbahwakasuskedualebihbaikdarikasuspertama, karenapengaruhkedatangandisampingitu FCFS mempunyaikelemahanyaituconvoy effectdimanaseandainyaadasebuahproses yang keciltetapidiamengantridenganproses yang membutuhkanwaktu yang lama mengakibatkanprosestersebutakan lama dieksekusi. Penjadwal FCFS algoritmaadalahnonpremptive. Ketika CPU telahdialokasikanuntuksebuahproses, prosestetapmenahan CPU sampaiselesai. FCFS algoritmajelasmerupakanmasalahbagisistemtime-sharing, dimanasangatpentinguntuk user mendapatkanpembagian CPU pada regular interval. Ituakanmenjadibencanauntukmengizinkansatuprosespada CPU untukwaktu yang tidakterbatas

  33. Shortest Job First (SJF) • Pada penjadwalan ini, proses yang mempunyai burst time (waktu Running) yang paling pendek akan dijadwalkan terlebih dahulu dan dieksekusi sampai selesai. • Contoh. Diketahui: NON - PREEMTIVE

  34. Shortest Job First (SRF) Gantt chart penjadwalan: NON - PREEMTIVE P1 P3 P2 P4 0 7 8 12 16 Waiting Time P1 = 0, P2 = 6ms, P3 = 3ms, P4 = 7ms Sehingga Rata-rata Waiting Time = (0+6+3+7)/4 = 4ms

  35. Shortest Job First (SJF) • SJF algoritmamungkin adalah yang paling optimal, karenaiamemberikan rata-rata minimum waiting untukkumpulandariproses yang mengantri. Denganmengeksekusiwaktu yang paling pendekbaru yang paling lama. Akibatnya rata-rata waktumenunggumenurun. • Hal yang sulitdengan SJF algoritmaadalahmengetahuiwaktudariprosesberikutnya. Untukpenjadwallong term (lama) disistembatch, kitabisamenggunakanpanjangbataswaktuproses yang user sebutkanketikadiamengirimpekerjaan. Olehkarenaitu SJF seringdigunakandipenjadwallong term. Walau pun SJF optimal tetapiiatidakbisadigunakanuntukpenjadwal CPU short term. TidakadajalanuntukmengetahuipanjangdariCPU burst berikutnya. SalahsatucarauntukmengimplementasikannyaadalahdenganmemprediksikanCPU burst berikutnya. NON - PREEMTIVE

  36. Highest Response Ratio Next (HRRN) • Merupakan penjadwalan non-preemtive yang menggunakan prioritas dinamis. • Penjadwalan ini memperbaiki Shortest Job First (SJF). • Prioritas proses tidak hanya merupakan fungsi waktu layanan, tetapi jumlah waktu tunggu proses. NON - PREEMTIVE

  37. Highest Response Ratio Next (HRRN) • Prioritasdinamisdihitungberdasarkanrumus: Prioritas = (waktutunggu + waktulayanan) waktulayanan • Dari rumusnya, terlihatbahwaproses yang memilikiwaktueksekusiterpendekmemilikiprioritastinggi, begitujugauntukproses yang telahmenunggu lama. NON - PREEMTIVE

  38. Highest Response Ratio Next (HRRN) • ContohDiketahui: NON - PREEMTIVE Gantt Chart P1 0 5

  39. Highest Response Ratio Next (HRRN) Padasaat P1 selesai Dieksekusi, makaWaiting Time sementara: • P2 = 1 • P3 = 2 Prioritas: • P2 = 1 + 3 = 4 = 1,33 3 3 • P3 = 2 + 4 = 6 = 1,5 44 NON - PREEMTIVE Proses P3 mempunyai prioritas yang lebih tinggi sehingga dieksekusi setelah Proses P1.

  40. Highest Response Ratio Next (HRRN) • Gantt Chart menjadi : Waiting Time : • P1 = 0 • P2 = 9 • P3 = 5 NON - PREEMTIVE P1 P3 P2 0 5 9 12 Rata-rata Waiting Time = 0 + 9 + 5 = 14 = 4,67ms 3 3

  41. Highest Response Ratio Next (HRRN) • Contoh Diketahui: • Gantt Chart NON - PREEMTIVE P2 3 P1 6 P3 0 7

  42. Highest Response Ratio Next (HRRN) Waiting Time sememtara: • P1 = 4 • P3 = 1 Prioritas: • P1 = 4 + 5 = 9 = 1,8 5 5 • P3 = 1 + 8 = 9 = 1,125 8 8 NON - PREEMTIVE Proses P1 mempunyai prioritas yang lebih tinggi sehingga dieksekusi setelah Proses P2.

  43. Highest Response Ratio Next (HRRN) NON - PREEMTIVE Maka Gantt Chart menjadi: WT Sementara: • P3 = 6 • P4 = 4 P2 P1 3 P1 6 P3 8 P4 0 7 12 Proses P4 mempunyai prioritas yang lebih tinggi sehingga dieksekusi setelah Proses P1. • Prioritas: • P3 = 3 + 8 = 11 = 1,35 • 8 8 • P4 = 4 + 3 = 7 = 2,33 • 3 3

  44. Highest Response Ratio Next MakaGantt Chart menjadi: Waiting Time: • P1 = 7-3 = 4 • P2 = 0 • P3 = 15-6 = 9 • P4 = 12–8 = 4 NON - PREEMTIVE P2 P1 P4 P3 3 P1 6 P3 8 P4 0 7 12 15 23 Rata-rata Waiting Time: 4 + 0 + 9 + 4 = 17 = 4,25ms 4 4

  45. Highest Response Ratio Next (HRRN) • Karena waktu layanan muncul sebagai pembagi maka job lebih pendek berprioritas lebih baik. Karena waktu tunggu sebagai pembilang, maka proses yang telah menunggu lebih lama juga mempunyai kesempatan yang lebih bagus. • Proses dng waktu tanggap tertinggi yang harus dilayani. NON - PREEMTIVE

  46. Round Robin (RR) • Padapenjadwalanini, prosesdiselaolehsistemoperasiberdasarkan lama waktuberjalannyaproses. • Semuaprosesdianggappentingdandiberijatahwaktupemakaian processor yang disebutTime SliceatauQuantum. • KetentuanalgoritmaRound Robin adalah: • Jikaquantumhabis, danprosesbelumselesai, makaprosesakandialihkanstatusnyamenjadiReady danpenjadwalakandijalankanuntukmemilihproses lain untukdieksekusi. • Jikaquantumbelumhabisdanprosessedangmenunggusuatu event ataupunoperasi I/O maka status prosesdialihkanmenjadiBlocked danpenjadwalakandijalankanuntukmemilihproses lain untukdieksekusi. • Jikaquantumbelumhabis, tetapiprosestelahselesaimakaprosesdiakhiridanpenjadwalakandijadwalkanuntukmemilihproses lain untukdieksekusi. PREEMTIVE

  47. Round Robin (RR) • Contoh Diketahui: PREEMTIVE Dengan asumsi Quantum Time = 4 ms, Maka Gantt Chart penjadwalan prosesnya adalah: P1 P2 P3 P1 0 4 8 11 30

  48. Round Robin (RR) PREEMTIVE • Dari Gantt Chart diatas, makadiperolehWaiting Time setiapproses: • P1 = 0 + 7 = 7ms • P2 = 4ms • P3 = 8ms • Maka rata-rata Waiting Time = 7 + 4 + 8 = 19 = 6,33ms 3 3

  49. Round Robin (RR) • Contoh Diketahui: PREEMTIVE Dengan asumsi Quantum time = 20ms Maka Gantt Chart penjadwalan prosesnya adalah: P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 0 20 37 57 77 97 117 121 134 154 162

  50. Round Robin (RR) Waiting Time: • P1 = 0+(77-20)+(121-97) = 0+57+24 = 81 • P2 = 20 • P3 = 37+(97-57)+(134-117) = 37+40+17 = 94 • P4 = 57+(117-77) = 57+40 = 97 PREEMTIVE Rata-rata Waiting Time = 81+20+94+97 = 292 = 73ms 4 4

More Related