STMIK-IM BANDUNG Chalifa Chazar chalifa.chazar@gmail.com PENJADWALAN PROSES STMIK-IM BANDUNG Chalifa Chazar chalifa.chazar@gmail.com
Deskripsi Penjadwalan Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan oleh komputer Tugas: Proses yang harus berjalan Kapan dan selama berapa lama proses berjalan Sasaran utama: optimasi kinerja sistem komputer menurut kriteria tertentu
Kriteria Penjadwalan Kriteria untuk mengukur dan optimasi kinerja penjawalan: Adil (fairness ) Efisiensi Waktu tanggap (response time ) Turn around time Throughput
Kriteria Penjadwalan Adil (fairness): Sasaran: Proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvation (kondisi proses tidak pernah berjalan karena tidak dijadwalkan untuk berjalan) Sasaran: Menjamin setiap proses mendapat layanan dari pemroses secara adil
Kriteria Penjadwalan Efisiensi: Sasaran: Menghitung perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer secara keseluruhan Sasaran: Menjaga pemroses tetap dalam keadaan sibuk sehingga efisiensi sistem komputer mencapai nilai maksimum
Kriteria Penjadwalan Waktu tanggap (response time): Sasaran: Waktu tanggap pada sistem interaktif Waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukan oleh program atau transaksi sampai hasil pertama muncul di perangkat I/O Waktu tanggap pada sistem waktu nyata Waktu dari saat kemunculan suatu kejadian sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi Sasaran: Meminimalkan waktu tanggap sehingga menghasilkan sistem yang responsif
Turn around time = waktu eksekusi + waktu menunggu Kriteria Penjadwalan Turn around time: Waktu yang dihabiskan dari saat proses atau job mulai masuk ke sistem sampai proses itu diselesaikan sistem Diekspresikan sebagai penjumlahan waktu eksekusi dan waktu menunggu yaitu: Sasaran: Meminimalkan turn around time Turn around time = waktu eksekusi + waktu menunggu
Kriteria Penjadwalan Throughput: Sasaran: Jumlah kerja yang dapat diselesaikan selama satu selang/unit waktu Sasaran: Memaksimalkan jumlah job/proses yang dilayani per satu interval waktu Lebih tinggi angka throughput maka lebih banyak kerja yang dilakukan sistem
Kriteria Penjadwalan Kriteria-kriteria tersebut saling bergantung dan dapat saling bertentangan sehingga tidak memungkinkan optimasi kriteria secara simultan (serentak/bersamaan) Kebijakan perencanaan penjadwalan melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan Kompromi bergantung sifat dan penggunaan sistem komputer Contoh untuk dapat memberikan waktu tanggap yang kecil maka memerlukan penjadwalan yang saling beralih-alih diantara proses-proses yang ada. Cara ini menyebabkan overhead sistem sehingga tidak efisiensi
Tipe-Tipe Penjadwalan Penjadwalan jangka pendek (short-term scheduller) Penjadwalan ini bertugas menjadwalkan alokasi pemroses diatara proses-proses yang ready di memori utama Penjadwalan jangka menengah (medium-term scheduller) Penjadwalan ini menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder) Penjadwalan jangka panjang (long-term scheduller) Bekerja terhadap antrian batch (proses-proses dengan penggunaan sumber daya yang intensif) dan memilih batch berikutnya yang akan dieksekusi
Tipe-Tipe Penjadwalan
Strategi Penjadwalan Penjadwalan non-preemptive Penjadwalan preemptive Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai Penjadwalan preemptive Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu Penjadwalan preemtive berguna pada sistem yakni proses-proses yang perlu mendapat perhatian/tanggapan pemroses secara cepat. Misal Pada sistem waktu nyata, kehilangan interupsi (interupsi tidak segera dilayani) dapat berakibat fatal Pada sistem interaktif time-sharing, penjadwalan preemtive penting agar dapat menjamin waktu tanggap yang memadai
Algoritma-Algoritma Penjadwalan Algoritma-algoritma yang menetapkan strategi non-preemptive: FIFO (First-in, First-out) SJF (Shortest Job First) HRN (Highest-Ratio Next)
Algoritma-Algoritma Penjadwalan Algoritma-algoritma yang menetapkan strategi preemptive: RR (Round-Robin) MFQ (Multiple Feedback Queues) SRF (Shortest-Remaining-First) PS (Priority Schedulling) GS (Guaranteed Schedulling)
Algoritma-Algoritma Penjadwalan Klasifikasi lain berdasarkan adanya prioritas di proses-proses, yaitu: Algoritma penjadwalan tanpa prioritas Algoritma penjadwalan berprioritas, terdiri dari: Algoritma penjadwalan berprioritas statis Algoritma penjadwalan berprioritas dinamis
Penjadwalan RR Penjadwalan ini merupakan: Penjadwalan preemptive, bukan di-preempt secara langsung oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time Penjadwalan tanpa prioritas Semua proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau time-slice tempat proses itu berjalan
Penjadwalan RR Ketentuan: Jika kwanta habis dan proses belum selesai maka proses running itu menjadi ready (runnable) dan pemroses dialihkan ke proses lain Jika kwanta belum habis dan proses menunggu suatu kejadian (misal menunggu selesainya suatu proses I/O), maka proses running itu menjadi blocked dan pemroses dialihkan ke proses lain Jika kwanta belum habis tapi proses telah selesai maka proses running itu diakhiri dan pemroses dialihkan ke proses lain
Penjadwalan FIFO Penjadwalan FIFO merupakan: Ketentuan: Penjadwalan non-preemptive (run to completion) Penjadwalan tidak berprioritas Ketentuan: Proses-proses tidak diberi jatah waktu pemroses, diurutkan berdasarkan waktu kedatangan proses-proses itu ke sistem Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai FIFO adalah penjadwalan dengan ketentuan-ketentuan paling sederhana Penjdwalan ini dikatakan adil dalam arti resmi (proses yang datang duluan dilayani terlebih dahulu), namun dinyatakan tidak adil karena proses-proses yang perlu waktu lama dapat membuat proses dengan waktu pendek menunggu Proses tidak penting dapat membuat proses penting menjadi menunngu
Penjadwalan Berprioritas (PS) Ide penjadwalan adalah masing-masing proses diberi prioritas dan proses berprioritas tinggi menjadi running (yaitu mendapat jatah waktu pemroses) Prioritas dapat diberikan secara: Prioritas statis (static priorities) Prioritas dinamis (dynamic priorities)
Penjadwalan Berprioritas (PS) Prioritas statis (static priorities) Prioritas statis berarti prioritas tidak berubah Prioritas dinamis (dynamic priorities) Prioritas dinamis merupakan mekanisme menanggapi perubahan lingkungan sistem saat beroperasi di lingkungan nyata Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek dalam hal ini karena sistem dapat menyesuaikan nilai prioritasnya ke nilai yang lebih tepat sesuai lingkungan
Penjadwalan SJF Penjadwalan SJF merupakan: Penjadwalan non-preemptive Penjadwalan dapat dikatakan sebagai berprioritas. Di SJF, prioritas diasosiasikan dengan masing-masing proses dan pemroses dialokasilan ke proses dengan prioritas tertinggi. Proses dengan prioritas sama dijadwalakan dengan FIFO Mekanisme penjadwalan SJF adalah lebih dulu menjadwalkan proses dengan waktu jalan terpendek sampai selesai
Penjadwalan MFQ Penjadwalan MFQ merupakan: Penjadwalan preemptive Penjadwalan berprioritas dinamis. Sasaran penjadwalan MFQ ini adalah untuk mencegah banyaknya aktivitas swapping
Penjadwalan SRF Penjadwalan SRF merupakan: Penjadwalan preemptive Penjadwalan berprioritas dinamis. Penjadwalan SRF merupakan perbaikan dari SJF Pada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses-proses yang baru tiba
Penjadwalan HRN Penjadwalan HRN merupakan: Penjadwalan non-preemptive Penjadwalan berprioritas dinamis. Penjadwalan ini juga mengkoreksi kelemahan SJF HRN adalah strategi penjadwalan non-preemptive dengan prioritas proses tidak hanya merupakan waktu fungsi dari waktu layanan tapi juga jumlah waktu tunggu proses Prioritas dinamis HRN dihitung berdasarkan rumus: Prioritas = (waktu tunggu + waktu layanan)/waktu layanan
Penjadwalan GS Penjadwalan GS merupakan: Penjadwalan preemptive Penjadwalan berprioritas dinamis. Penjadwalan ini berupaya memberi masing-masing pemakai daya pemroses yang sama Jika terdapat N pemakai maka tiap pemakai diupayakan mendapatkan 1/N daya pemroses Penjadwalan ini akan menjalankan proses dengan rasio terendah sampai rasio proses diatas pesaing terdekatnya
Contoh Cari: Waiting time Rata-rata waiting time Turn around time JOB Burst Time P1 24 P2 3 P3 Cari: Waiting time Rata-rata waiting time Turn around time Rata-rata turn around time Gambar Gantt Chart
FIFO Waiting time P1 = 0 P2 = 24 P3 = 27 Turn around time Gantt Chart P1 P2 P3 24 27 30 Waiting time P1 = 0 P2 = 24 P3 = 27 Turn around time P1 = 24 + 0 = 24 P2 = 3 + 24 = 27 P3 = 3 + 27 = 30 Rata-rata waiting time (0+24+27)/3 = 17 Rata-rata turn around time (24+27+30)/3 = 27
SJF Non-preemptive Waiting time P1 = 6 P2 = 0 P3 = 3 Turn around time Gantt Chart P2 P3 P1 3 6 30 Waiting time P1 = 6 P2 = 0 P3 = 3 Turn around time P1 = 24 + 6 = 30 P2 = 3 + 0 = 3 P3 = 3 + 3 = 6 Rata-rata waiting time (6+0+3)/3 = 3 Rata-rata turn around time (30+3+6)/3 = 13
RR Waiting time P1 = 0 + (10-4) = 6 P2 = 4 P3 = 7 Turn around time Kwanta 4 Gantt Chart P1 P2 P3 4 7 10 14 18 22 26 30 Waiting time P1 = 0 + (10-4) = 6 P2 = 4 P3 = 7 Turn around time P1 = 24 + 6 = 30 P2 = 3 + 4 = 7 P3 = 3 + 7 = 10 Rata-rata waiting time (6+4+7)/3 = 5,67 Rata-rata turn around time (30+7+10)/3 = 15,67
LATIHAN Cari dengan menggunakan penjadwalan FIFO, SJF, RR: JOB Arrival Time Burst Time P1 8 P2 3 4 P3 9 P4 7 5 Cari dengan menggunakan penjadwalan FIFO, SJF, RR: Waiting time Rata-rata waiting time Turn around time Rata-rata turn around time Gambar Gantt Chart
LATIHAN Cari dengan menggunakan penjadwalan SRN: Waiting time JOB Arrival Time Burst Time P1 8 P2 3 4 P3 9 P4 7 5 Cari dengan menggunakan penjadwalan SRN: Waiting time Rata-rata waiting time Turn around time Rata-rata turn around time Gambar Gantt Chart
SEKIAN&TERIMA KASIH Chalifa Chazar, S.T, M.T Email: chalifa.chazar@gmail.com Copyright @2015