Download
penjadualan pada prosesor tunggal n.
Skip this Video
Loading SlideShow in 5 Seconds..
Penjadualan Pada Prosesor Tunggal PowerPoint Presentation
Download Presentation
Penjadualan Pada Prosesor Tunggal

Penjadualan Pada Prosesor Tunggal

336 Views Download Presentation
Download Presentation

Penjadualan Pada Prosesor Tunggal

- - - - - - - - - - - - - - - - - - - - - - - - - - - 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: