Penjadwalan Proses Objektif q Memahami tentang tipe penjadwalan
Penjadwalan Proses
Objektif q Memahami tentang tipe penjadwalan prosesor q Memahami kriteria penjadwalan q Memahami algoritma penjadwalan q Memahami konsep penjadwaan fair-share, multiprosesor dan real time
Introduction q Dalam sistem multiprogramming beberapa program menempati memori utama sekaligus. Apakah semuanya akan dijalankan dalam waktu bersamaan ? ? ?
Introduction q Dalam sistem multiprogramming beberapa program menempati memori utama sekaligus. Yang mana yang dijalankan terlebih dahulu ? ? ? PENJADWALAN
Introduction q Tujuan dari penjadwalan Prosesor adalah untuk memberikan prosesor pada setiap process sepanjang waktu sedemikian hingga memenuhi tujuan sistem : Rata-rata response time yang cepat q Lebih banyak program dapat diselesaikan (throughput) q Efisiensi prosesor q
Tipe Penjadwalan Prosesor q Aktifitas penjadwalan : Apakah masih akan menerima program baru client untuk masuk ke pool process? long-term scheduling. q Apakah program di pool process akan dimasukkan ke memori? medium-term scheduling. q Dari program-program yang ada di memori utama, yang mana yang akan dijalankan oleh Prosesor? short-term scheduling. q
Tipe Penjadwalan Prosesor q Gambar Penjadwalan dan Perpindahan Status Process
Kriteria penjadwalan q Dari sudut pandang pengguna, algoritma berdasarkan parameter berikut : q q dapat dipilih Turnaround time : waktu sejak process dikirim hingga selesai. Pilihlah algoritma yang memberikan rata-rata turnaround time terpendek. Response time : waktu sejak process dikirim hingga mendapat respon pertama kali. Pilihlah algoritma yang memberikan rata-rata response time terpendek. Deadline, waktu terakhir process harus selesai dikerjakan. Pilihah algoritma yang memaksimalkan jumlah process yang dapat diselesaikan sebelum atau dalam waktu deadline-nya. Predictability : apakah perilaku (hasil) algoritma dapat diprediksi. Pilihlah algoritma yang memberikan kepastian dijalankannya program pengguna.
Kriteria penjadwalan q Dari sudut pandang sistem : Throughput : jumlah process yang dapat diselesaikan dalam satuan waktu. Pilihlah algoritma yang memberikan jumlah process selesai terbanyak. q Prosesor utilization : berapa persen Prosesor sibuk. Pilihlah algoritma yang membuat Prosesor sangat sibuk. q Fairness : apakah sistem memberlakukan setiap process dengan ‘perhatian’ yang sama. Pilih algoritma yang paling adil. q Enforcing priorities : jika sistem memberlakukan prioritas, apakah algoritma mendukungnya. q
Algoritma penjadwalan q First Come First Served (FCFS), program yang pertama kali datang pertama kali dilayani hingga selesai. q Round Robin, mirip FCFS, dilayani dalam waktu yang terbatas (dikenal dengan istilah time quantum, kuantum waktu atau time slice, potongan waktu), jika belum selesai diantrikan lagi. q Shortest Process Next (SPN), disebut juga Shortest Job First (SJF), process dengan prediksi waktu eksekusi terpendek akan dipilih, dilayani hingga selesai.
Algoritma penjadwalan q Shortest Remaining Time (SRT), mirip SPN, dilayani dalam waktu yang terbatas, jika belum selesai diantrikan lagi. q Highest Response Ratio Next (HRRN), process dengan rasio respon tertinggi akan dipilih. Rasio respon adalah : (waktu tunggu + prediksi waktu servis) / (prediksi waktu servis) q Feedback, dikenal juga sebagai Multilevel feedback, process di antrian level 1 dikerjakan mirip Round Robin. Jika belum selesai diantrikan di level 2. q Jika belum selesai diantrikan lagi di level berikutnya. q Demikian seterusnya hingga level terendah. q Kuantum waktu di setiap level dapat dibuat sama, atau makin lama makin besar. q
Algoritma penjadwalan q Tabel contoh penjadwalan proses Process Waktu kedatangan Waktu layan A 0 3 B 2 6 C 4 4 D 6 5 E 8 2
Algoritma penjadwalan q Perbandingan algoritma penjadwalan
Algoritma penjadwalan q Perbandingan algoritma penjadwalan
Algoritma penjadwalan q Perbandingan algoritma penjadwalan
Algoritma penjadwalan q Perbandingan turnaround time beragam logika
Algoritma penjadwalan q Pada algoritma di atas ada situasi dimana process yang sedang dikerjakan dapat atau tidak dapat dihentikan di tengah jalan. Hal tersebut disebut mode keputusan : q nonpreemptive : process yang sedang dijalankan tidak dapat dihentikan di tengah jalan. q preemptive : process yang sedang dijalankan dapat dihentikan di tengah jalan. Dibutuhkan usaha yang lebih agar sistem dapat mendukung aktivitas preemptive.
Algoritma penjadwalan q Karakteristik beragam algoritma penjadwalan
Penjadwalan Fair-Share q Berbagai macam algoritma di atas berlaku pada process-process yang mandiri, process dari pengguna yang satu tidak terkait dengan process pengguna lain. q Dalam sistem multiuser para pengguna dapat membentuk group, kelompok. q Dalam pemrograman berorientasi objek dimungkinkan satu program terdiri dari beberapa thread.
Penjadwalan Fair-Share q Dari sudut pandang pengguna ada kebutuhan sekumpulan process yang lebih besar lebih diperhatikan oleh sistem. q Oleh karena itu pengguna membutuhkan penjadwalan yang fairshare, berbagi yang lebih adil, yang besar mendapat kuantum waktu yang lebih besar dan yang kecil mendapatkan kuantum waktu yang kecil.
Penjadwalan Multiprosesor q Ada banyak Prosesor dalam sistem multi. Prosesor. Seberapa sering sinkronisasi process dalam Prosesor-Prosesor tersebut ? ? SYNCHRONIZATION GRANULARITY
Penjadwalan Multiprosesor q Synchronization Granularity dan Process :
Penjadwalan Multiprosesor q Dalam komputer dual-core, Prosesornya dua. q Dalam sistem multi. Prosesor, prosesornya banyak. Bagaimana menjalankan program -program pengguna dalam komputer multi. Prosesor? Bagaimana jika programnya sendiri terdiri dari beberapa thread? 4 PENDEKATAN
Penjadwalan Multiprosesor q Ada 4 pendekatan yang dapat dipilih : 1. load sharing : berbagi beban, semua program diantrikan dalam antrian, Prosesor yang menganggur akan mengambil antrian terdepan dan menjalankannya. 2. Gang scheduling : sekumpulan thread yang saling terkait diantrikan pada sekumpulan Prosesor pada saat yang sama, satu thread satu Prosesor. 3. dedicated Prosesor assignment : pada sebuah program diberikan sejumlah Prosesor sebanyak thread yang ada dalam program itu. 4. dynamic scheduling : jumlah thread yang diaktifkan dari suatu program dapat diubah-ubah.
Penjadwalan Multiprosesor q Dalam pendekatan load sharing, ada pilihan berikut : q First Come First Served (FCFS) : thread-thread dari job yang datang diantrikan dalam antrian bersama. Prosesor menganggur akan memanggil thread terdepan. q smallest number of threads first : Ada antrian sesuai prioritas. Prioritas tertinggi diberikan pada program dengan jumlah thread terkecil. q preemptive smallest number of threads first : mirip sebelumnya, jika sebelumnya dikerjakan sampai selesai, disini dapat dihentikan dulu untuk melayani program baru dengan jumlah thread lebih sedikit.
Penjadwalan Realtime q Komputasi real time adalah tipe komputasi yang kebenarannya tidak hanya ditentukan oleh hasil lojik komputasi tetapi juga waktu hasil itu diperoleh. q Bagaimana menjadwal program-program dalam sistem seperti ini ?
Penjadwalan Realtime q static q terdapat analisis statis dari tugas-tugas mana yang antri, deadline mana yang terdekat, itu yang dijadwal duluan. Program baru, jika datang pada saat jadwal dijalankan, akan diperhatikan untuk jadwal berikutnya. q static q table-driven approaches : priority-driven preemptive approaches : tugas-tugas diprioritaskan berdasarkan batasan waktu mereka. Pada saat dijalankan, jika ada tugas dengan prioritas lebih tinggi, tugas yang sedang dijalankan dapat dihentikan.
Penjadwalan Realtime q dynamic q tugas-tugas sudah direncanakan untuk dijalankan, hanya jika ada tugas baru datang dan memungkinkan untuk dijalankan, maka akan diterima untuk dijalankan. q dynamic q planning-based approaches : best effort approaches : jalankan semua tugas yang datang, jika deadline tidak terpenuhi, batalkan.
Penjadwalan Realtime q Tugas yang akan dijadwalkan musti dilengkapi dengan data : q kapan siap dijalankan (ready time), q kapan harus mulai dikerjakan (starting deadline), q kapan harus selesai (completion deadline), q berapa lama waktu eksekusi (processing time), q apa saja yang dibutuhkan (resource requirement), q tingkat prioritas (priority), q apakah ia terdiri dari sub-sub tugas (subtask structure).
Penjadwalan Realtime q Contoh kasus : q Dua tugas periodik pada sistem real-time
Penjadwalan Realtime q Dengan memperhatikan kapan harus selesai, tugas ini dijadwalkan berdasarkan penjadwalan tugas real time :
Penjadwalan Realtime q Kasus lain yang mungkin terjadi adalah tugas-tugas datang dalam jangka waktu yang tidak tentu, aperiodic. q Penjadwalan dapat dilakukan berdasarkan kapan tugas itu harus mulai dikerjakan, atau kapan tugas itu harus selesai.
Terima Kasih
- Slides: 33