870 likes | 1.31k Views
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
E N D
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)
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
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
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
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
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
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
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)
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
Letak Penjadualan (1) • Letak penjadualan pada status proses
Letak Penjadualan (2) • Tingkatan penjadualan
Letak Penjadualan (3) • Penjadualan pada diagram antrian
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
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
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
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)
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
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
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
Ready queue Bisa lebih dari satu Penjadualan dengan Prioritas(3) • Antrian prioritas: • Pada gambar di atas hanya digambarkan sebuah blocked queue
Parameter-Parameter padaPenjadualan Alternatif (1) • Selection function • Decision mode: • Nonpreemptive • Preemptive • Service time • Turnaround Time (TAT) • Normalized Turnaround Time (NTAT)
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
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
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
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
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
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
First-Come-First-Served (FCFS)(1) • Karakteristik FCFS: • w = waktu untuk menunggu
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
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
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.
First-Come-First-Served (FCFS)(6) • Solusi:
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
Round-Robin (RR)(2) • Karakteristik RR:
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
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)
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
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
Round-Robin (RR)(7) • Solusi: VRR
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
Round-Robin (RR)(9) • Solusi untuk contoh kasus seperti pada FCFS dengan RR (ukuran kuantum q=1):
Round-Robin (RR)(10) • Solusi untuk contoh kasus seperti pada FCFS dengan RR (ukuran kuantum q=4):
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 ?
Shortest Process Next (SPN)(2) • Karakteristik SPN: • s = total service time yang diperlukan
Shortest Process Next (SPN)(3) • Solusi untuk contoh kasus seperti pada FCFS dengan SPN:
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
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
Shortest Remaining Time (SRT)(3) • Karakteristik SRT: • e = waktu eksekusi yang telah dijalani • s = total service time yang diperlukan (termasuk e)
Shortest Remaining Time (SRT)(4) • Solusi untuk contoh kasus seperti pada FCFS dengan SRT: