1 / 86

Penjadualan Pada Prosesor Tunggal

Penjadualan Pada Prosesor Tunggal. END. Pokok Bahasan: (1). Pendahuluan Jenis-jenis penjadualan Penjadualan jangka panjang (long-term) Penjadualan jangka menengah (medium-term) Penjadualan jangka pendek (short-term) Penjadualan I/O Letak penjadualan Algoritma penjadualan

quinn-vega
Download Presentation

Penjadualan Pada Prosesor Tunggal

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. PenjadualanPadaProsesor Tunggal END

  2. Pokok Bahasan:(1) • Pendahuluan • Jenis-jenis penjadualan • Penjadualan jangka panjang (long-term) • Penjadualan jangka menengah (medium-term) • Penjadualan jangka pendek (short-term) • Penjadualan I/O • Letak penjadualan • Algoritma penjadualan • Kriteria penjadualan jangka pendek (short-term) • Penjadualan dengan prioritas • Penjadualan alternatif • Parameter-parameter pada penjadualan alternatif • First-Come-First-Served (FCFS) • Round Robin (RR)

  3. Pokok Bahasan:(2) • Algoritma penjadualan: (lanjutan) • Penjadualan alternatif (lanjutan) • Shortest Process Next (SPN) • Shortest Remaining Time (SRT) • Highest Response Ratio Next (HRRN) • Feedback (FB) • Perbandingan performansi • Analisis antrian • Model Simulasi • Penjadualan fair-share

  4. Pendahuluan • Scheduling merupakan pengaturan penggunaan waktu prosesor (processor time) bagi sejumlah proses yang saling berkompetisi • Mengapa harus ada penjadualan ? • Supaya setiap proses dapat dilayani secara adil • Agar tidak terjadi starvation • Supaya efisien dalam penggunaan waktu prosesor • Agar dapat meminimalkan terjadinya overhead • Supaya response time dapat terpenuhi • Supaya dapat memaksimalkan throughput

  5. Penjadualan Jangka Panjang (1) • Adalah keputusan untuk menambah suatu proses ke kelompok proses yang akan dieksekusi • Terjadi pada saat suatu proses baru diciptakan (lokasinya masih di dalam harddisk) • Frekuensi dilakukannya lebih jarang daripada medium-term scheduling • Membuat perkiraan kasar (coarse-grained) dalam menambahkan suatu proses

  6. Penjadualan Jangka Panjang (2) • Kapan saat yang tepat untuk menambah satu proses atau lebih ? • Tergantung pada derajat multiprogramming yang diinginkan • Makin banyak proses yang diciptakan, maka: • Alokasi waktu prosesor untuk setiap proses semakin sedikit • Makin tinggi derajat multiprogrammingnya • Kualitas layanan untuk setiap proses semakin berkurang

  7. Penjadualan Jangka Panjang (3) • Proses mana yang akan ditambahkan (create) ? • Tergantung pada kriteria: • Berdasarkan prioritas (sama atau berbeda) • Berdasarkan waktu eksekusi yang diperlukan • Berdasarkan ketersediaan resource melalui I/O • Jika informasi dan resource tersedia, maka scheduler akan melayani semua jenis proses (processor-bound maupun I/O-bound) • Apa yang dimaksud proses processor-bound ? • Proses yang lebih banyak melakukan komputasi dan sedikit melakukan operasi I/O • Apa yang dimaksud proses I/O-bound ? • Proses yang lebih banyak melakukan operasi I/O dan sedikit melakukan komputasi

  8. Penjadualan Jangka Menengah • Adalah keputusan untuk menambahkan sejumlah proses (sebagian atau seluruhnya) ke dalam main memory • Terjadi pada saat swapping • Keputusan untuk melakukan swapping menentukan derajat multiprogramming • Frekuensi dilakukannya lebih sering daripada long-term scheduling • Akan dibahas pada materi tentang Proses, Manajemen memori, dan Memori virtual

  9. Penjadualan Jangka Pendek • Adalah keputusan untuk memilih proses mana yang akan dieksekusi diantara sejumlah proses yang sudah siap dieksekusi • Sangat sering dilakukan • Disebut juga dispatcher (yang bertugas untuk mengirimkan job) • Membuat perkiraan halus (fine-grained) dalam memutuskan proses yang akan dieksekusi • Short-term scheduling dilakukan bila terjadi event seperti misalnya: • Clock interrupts • I/O interrupts • Signals (misal: semaphore) • Pemanggilan ke sistem operasi (system call)

  10. Penjadualan I/O • Keputusan untuk memilih proses mana yang akan diberi kesempatan untuk menggunakanI/O device diantara sejumlah proses yang sama-sama akan menggunakan I/O device tersebut • Dibahas pada materi Manajemen I/O

  11. Letak Penjadualan (1) • Letak penjadualan pada status proses

  12. Letak Penjadualan (2) • Tingkatan penjadualan

  13. Letak Penjadualan (3) • Penjadualan pada diagram antrian

  14. Kriteria Penjadualan Short-term(1) • Ada 4 macam kriteria penjadualan jangka pendek: • User-oriented • Karakteristik sistem dilihat dari sudut pandang user atau proses • System-oriented • Karakteristik sistem dilihat dari sisi efektifitas dan utilitas penggunaan prosesor • Performance-related • Karakteristik sistem dinilai dengan menggunakan parameter yang kuantitatif (terukur) • Not-performance-related • Karakteristik sistem dinilai dengan menggunakan parameter yang kualitatif (tidak dapat diukur dan dianalisis) • Kombinasi kriteria penjadualan yang dapat terjadi: • User-oriented, Performance-related • User-oriented, Not-performance-related • System-oriented, Performance-related • System-oriented, Not-performance-related

  15. Kriteria Penjadualan Short-term(2) • Parameter pada User oriented, Performance related • Turnaround time: • Merupakan interval waktu sejak suatu proses masuk ke sistem hingga selesai dieksekusi • Response time: • Pada data processing: • Adalah waktu yang diperlukan sejak suatu permintaan (request) dikirimkan oleh suatu proses hinggaresponse terhadap request tersebut diperoleh • Pada Real-time: • Adalah waktu yang diperlukan sejak task siap dieksekusi hingga selesai mengerjakan sebuah job • Merupakan parameter yang lebih baik dibanding turnaround time dari sisi user • Contoh: Suatu sistem interaktif dirancang dapat memberikan layanan yang baik bagi user bila response time-nya tidak lebih dari 2 detik. Maka tugas utama scheduling adalah memaksimalkan jumlah user yang menerima response timerata-rata 2 detik atau kurang

  16. Kriteria Penjadualan Short-term(3) • Deadline: • Merupakan batas akhir suatu proses sudah harus selesai • Proses yang sudah mendekati deadline lebih diutamakan, agar prosentase pemenuhan deadline dapat diperoleh secara maksimal • Parameter pada User oriented, Non-performance related • Predictability: • Layanan terhadap user dari waktu ke waktu tetap sama dan tidak terpengaruh dengan apa yang dilakukan oleh sistem • Sebuah job akan dieksekusi dalam periode yang relatif sama dan dengan biaya yang sama tanpa dipengaruhi kondisi beban sistem • Jika waktu eksekusi dan biaya yang diperlukan berubah-ubah akan membingungkan user, sehingga kestabilan sistem rendah

  17. Kriteria Penjadualan Short-term(4) • Parameter pada System oriented, Performance related • Throughput: • Adalah jumlah proses yang dapat diselesaikan dalam periode waktu tertentu • Semakin banyak semakin baik • Nilainya bergantung pada panjang proses rata-rata dan metode scheduling yang digunakan • Processor utilization: • Merupakan prosentase waktu dimana prosesor sibuk • Nilainya sangat berarti pada sharedsystem • Nilainya kurang penting pada sistem user tunggal (misal sistem real-time)

  18. Kriteria Penjadualan Short-term(5) • System oriented, Non-performance related • Fairness: • Adalah nilai ‘keadilan’ (kesetaraan) perlakuan sistem scheduling terhadap setiap proses, agar tidak terjadi starvation • Enforcing priorities: • Scheduling harus lebih mengutamakan proses yang mempunyai prioritas lebih tinggi • Balancing resources: • Scheduling harus dapat menjaga keseimbangan dalam penggunaan resource

  19. Penjadualan dengan Prioritas(1) • Setiap proses diberi nomor prioritas yang nilainya dapat sama atau berbeda • Scheduler selalu memilih proses yang mempunyai prioritas paling tinggi • Digunakan beberapa antrian untuk menangani antrian proses dengan prioritas berbeda-beda • Proses dalam antrian dengan prioritas lebih rendah baru akan dieksekusi jika semua proses dalam antrian yang lebih tinggi telah dieksekusi

  20. Penjadualan dengan Prioritas(2) • Nomor prioritas: • Pada sistem Unix semakin tinggi angka prioritas, maka prioritasnya semakin rendah. Prioritas nomor 0 merupakan prioritas tertinggi • Pada sistem Windows berlaku kebalikannya • Dalam perkuliahan ini digunakan penomoran prioritas model Unix • Kelemahan model prioritas: • Proses dengan prioritas rendah dapat mengalami starvation • Solusi: • Prioritas suatu proses dapat berubah berdasarkan waktu atau history-nya

  21. Ready queue Bisa lebih dari satu Penjadualan dengan Prioritas(3) • Antrian prioritas: • Pada gambar di atas hanya digambarkan sebuah blocked queue

  22. Parameter-Parameter padaPenjadualan Alternatif (1) • Selection function • Decision mode: • Nonpreemptive • Preemptive • Service time • Turnaround Time (TAT) • Normalized Turnaround Time (NTAT)

  23. Parameter-Parameter padaPenjadualan Alternatif (2) • Selection function: • Cara yang digunakan untuk memilih satu diantara sejumlah proses yang akan dieksekusi selanjutnya • Pemilihan dapat didasarkan pada: • Prioritas proses • Urutan kedatangan proses • Karakteristik eksekusi proses: • Lama waktu yang telah digunakan untuk menunggu • Lama waktu yang telah digunakan dalam eksekusi • Total waktu yang diperlukan oleh proses • dll

  24. Parameter-ParameterpadaPenjadualan Alternatif (3) • Decision mode: • Digunakan untuk menentukan kapan selection function dijalankan • Ada 2 kategori: • Nonpreemptive: (tidak dapat disela) • Sekali suatu proses berada dalam status running tetap akan running hingga: • telah selesai, atau • ter-blok oleh dirinya sendiri akibat menunggu I/O atau layanan dari sistem operasi

  25. Parameter-ParameterpadaPenjadualan Alternatif (4) • Ada 2 kategori: (lanjutan) • Preemptive: • Proses yang sedang running dapat disela dan dimasukkan pada status ready • Preempt dapat disebabkan oleh: • Terjadi interrupt dari proses lain • Terjadi interrupt dari clock interrupt • Kekurangan preemptive: • Overhead tinggi • Kelebihan preemptive: • Dapat mencegah terjadinya monopoli oleh suatu proses • Layanan terhadap keseluruhan proses lebih baik

  26. Parameter-ParameterpadaPenjadualan Alternatif (5) • Service time = Ts • Merupakan waktu prosesor yang digunakan oleh suatu proses dalam satu siklus proses (sejak proses dieksekusi hingga selesai, tidak termasuk waktu tunggu) • Turnaround Time (TAT) = Tr • Merupakan total waktu suatu proses berada di dalam sistem = residence time = waktu tunggu + waktu eksekusi = finish time – arrival time

  27. Parameter-Parameter padaPenjadualan Alternatif (6) • Normalized Turnaround Time (NTAT) • Perbandingan antara turnaround time dengan service time = Tr / Ts • Lebih bermakna daripada TAT • Nilainya menunjukkan delay relatif yang dialami oleh suatu proses • Nilai terkecil adalah 1 (tanpa delay) • Makin besar nilainya  kualitas layanannya semakin turun

  28. First-Come-First-Served (FCFS)(1) • Algoritma: • Proses yang datang pertama yang dieksekusi • Proses yang berada di antrian ready paling lama yang dieksekusi • Disebut juga algoritma FIFO (First In First Out) • Kelebihan: (+) Merupakan metode scheduling paling sederhana (+) Overhead kecil (+) Dapat mencegah starvation

  29. First-Come-First-Served (FCFS)(1) • Karakteristik FCFS: • w = waktu untuk menunggu

  30. First-Come-First-Served (FCFS)(2) • Kekurangan: (-) Proses yang pendek dapat dirugikan, bila urutan eksekusinya setelah proses yang panjang • Contoh: • Service time proses Y adalah 1/100 dari proses X, tetapi normalized turnaround time-nya 100 kali lebih besar  sangat dirugikan

  31. First-Come-First-Served (FCFS)(3) • Kekurangan: (lanjutan) (-) FCFS cenderung menguntungkan proses processor-bound dibanding proses I/O-bound • Proses processor-bound: • Proses yang lebih sering melakukan perhitungan komputasi daripada mengakses I/O device • Proses I/O-bound: • Proses yang lebih banyak menggunakan I/O device daripada menggunakan prosesor • Contoh: • Bila proses I/O-bound berada di belakang proses processor-bound yang sedang dieksekusi  proses tersebut terpaksa harus menunggu meskipun saat itu I/O device sedang tidak digunakan • Solusi: gabungkan dengan model prioritas

  32. First-Come-First-Served (FCFS)(4) • Contoh: • Terdapat 5 buah proses yang akan dieksekusi menggunakan algoritma scheduling FCFS. Waktu kedatangan dan waktu layanan untuk masing-masing proses seperti pada tabel di bawah. Gambarkan urutan eksekusi yang terjadi dan hitung finish time, TAT, dan NTAT untuk masing-masing proses.

  33. First-Come-First-Served (FCFS)(6) • Solusi:

  34. Round-Robin (RR)(1) • Algoritma: • Eksekusi proses diatur berdasarkan alokasi waktu tertentu (slot waktu) yang diatur dengan clock interrupt • Clock interrupt terjadi secara periodik • Setiap satu slot waktu mempunyai ukuran yang sama (disebut teknik time slicing) • Bila terjadi clock interrupt, maka: • Proses yang sedang running  dimasukkan ke dalam antrian ready • Proses di antrian ready paling depan dieksekusi

  35. Round-Robin (RR)(2) • Karakteristik RR:

  36. Round-Robin (RR)(3) • Kekurangan: (-) Performansinya lebih buruk dibanding FCFS jika ukuran slot lebih besar daripada ukuran proses terbesar. Kenapa ? (-) Dapat terjadi overhead berlebihan jika ukuran setiap slot (slice) terlalu kecil (lihat halaman selanjutnya) • Ukuran terkecil harus lebih besar daripada ukuran proses terkecil agaroverhead dapat dikurangi Slot waktu > service time

  37. Round-Robin (RR)(4) Slot waktu < service time, sehingga: • Eksekusi sebuah proses tidak selesai dalam satu slot waktu • Sebuah proses akan menempati lebih dari satu slot (bisa berurutan, bisa pula terselingi proses lain)

  38. Round-Robin (RR)(5) • Kekurangan: (lanjutan) (-) Proses I/O bound mendapatkan waktu layanan lebih sedikit • Mengapa ? • Karena proses I/O bound bersifat burst (sesaat), sehingga hanya membutuhkan waktu prosesor dalam waktu lebih singkat daripada slot yang disediakan • Sesudah mengirimkan burst proses I/O bound akan ter-blok dan menunggu hingga I/O device yang diakses selesai • Proses I/O bound baru mendapatkan giliran untuk menyelesaikan sisa pekerjaannya setelah satu putaran atau lebih

  39. Round-Robin (RR)(6) • Solusi: • Round robin dimodifikasi menjadi Virtual Round Robin (VRR) dengan menambahkan sebuah antrian yang disebut antrian auxiliary • Mekanismenya: • Proses yang ter-blok akibat menunggu I/O device selesai dimasukkan pada antrian I/O untuk device tertentu • Bila I/O device telah selesai  proses yang ter-blok tadi dimasukkan ke dalam antrian auxiliary • Bila slot waktu proses yang sedang running habis  proses yang dieksekusi berikutnya bukan proses dalam antrian ready, tetapi yang diprioritaskan adalah proses yang terdapat di dalam antrian auxiliary • Proses yang ter-blok akibat I/O device dapat menyelesaikan sisa pekerjaannya

  40. Round-Robin (RR)(7) • Solusi: VRR

  41. Round-Robin (RR)(8) • Kelebihan Round Robin: (+) Dapat menghindari ketidakadilan layanan terhadap proses kecil seperti yang terjadi pada FCFS (+) Response time lebih cepat untuk proses berukuran kecil (+) Dapat mencegah starvation (+) Overhead kecil, jika ukuran proses rata-rata lebih kecil dibanding ukuran quantum/slot

  42. Round-Robin (RR)(9) • Solusi untuk contoh kasus seperti pada FCFS dengan RR (ukuran kuantum q=1):

  43. Round-Robin (RR)(10) • Solusi untuk contoh kasus seperti pada FCFS dengan RR (ukuran kuantum q=4):

  44. Shortest Process Next (SPN)(1) • Algoritma: • Eksekusi proses diatur berdasarkan perkiraan ukuran proses terkecil • Proses yang datang belakangan langsung berada pada antrian proses terdepan bila ukurannya paling kecil • Kelebihan: (+) Dapat mencegah kerugian yang dialami proses kecil seperti pada FCFS (+) Throughput tinggi (+) Proses kecil mempunyai response time kecil • Kekurangan: (-) Scheduler harus mengetahui/memperkirakan ukuran setiap proses yang akan dieksekusi (-) Proses besar dapat mengalami starvation (-) Overhead bisa tinggi, untuk apa ?

  45. Shortest Process Next (SPN)(2) • Karakteristik SPN: • s = total service time yang diperlukan

  46. Shortest Process Next (SPN)(3) • Solusi untuk contoh kasus seperti pada FCFS dengan SPN:

  47. Shortest Remaining Time (SRT)(1) • Algoritma: • Eksekusi proses diatur berdasarkan perkiraan sisa waktu terkecil • Proses yang baru masuk dapat langsung dieksekusi bila total waktu eksekusinya lebih kecil daripada sisa waktu proses yang sedang running • Merupakan model preemptive-nya SPN • Kapan pemilihan proses yang akan dieksekusi dilakukan ? • Bila ada proses baru yang masuk, atau • Bila proses yang sedang running telah selesai

  48. Shortest Remaining Time (SRT)(2) • Kekurangan: (-) Terjadi overhead akibat scheduler harus menghitung/memperkirakan sisa waktu eksekusi setiap proses untuk menentukan sisa waktu yang terkecil (-) Dapat terjadi starvation pada proses yang panjang (-) Proses yang panjang dikalahkan oleh proses yang kecil • Kelebihan: (+) Kualitas layanan rata-rata yang diterima proses lebih baik (jumlah proses yang memperoleh nilai NTAT = 1 lebih banyak) (+) Throughput tinggi (+) Response time cepat

  49. Shortest Remaining Time (SRT)(3) • Karakteristik SRT: • e = waktu eksekusi yang telah dijalani • s = total service time yang diperlukan (termasuk e)

  50. Shortest Remaining Time (SRT)(4) • Solusi untuk contoh kasus seperti pada FCFS dengan SRT:

More Related