- Jika banyak proses yang akan dijalankan maka SO harus memutuskan proses mana yang dijalankan terlebih dahulu
- Bagian SO yang menjadi pembuat keputusan disebut dgn : Penjadwal (Scheduler)
- Algoritmanya : Scheduling Algorithm
Kriteria Penjadwalan yang baik
- Adil (fairness) : memastikan tiap proses berbagi CPU secara adil
- Efisiensi : menjaga agar CPU senantiasa sibuk sepanjang waktu
- Response time (wkatu tanggap) : meminimumkan waktu respon untuk pemakai interaktif
- Turnaround : meminimumkan waktu batch pemakai untuk menunggu output
- Throughput : memaksimumkan jumlah pekerjaan per jam
Beberapa kriteria diatas ada yang bertentangan ??
Preemptive dan Non Preemptive Scheduling
- Preemptive Scheduling :
- Strategi yang memungkinkan sebuah proses yang siap dijalankan ditunda sementara
- Non Preemptive Schedulling
- Tidak bisa ditunda
Penjadwalan Round Robin
- Paling tua dan paling banyak digunakan
- Semua proses dianggap sama penting dan diberikan suatu interval waktu yang sama yang disebut dengan quantum
- Jika quantum habis dan proses masih berjalan, CPU menghentikan proses dan memberikan quantum kepada yang lain
- Jika proses selesai sebelum quantum habis atau terblok, CPU akan melakukan switch ke proses yang lain.
- Masalah : ukuran quantum yang tepat (tidak terlalu pendek atau terlalu panjang)
Penjadwalan Prioritas
- Setiap proses diberi prioritas
- Prioritas tertinggi akan dijalankan terlebih dahulu
- Untuk mencegah proses dengan prioritas tinggi terus menerus maka prioritas proses akan diturunkan setiap interupsi sampai ada prioritas lain yang lebih tinggi.
- Kombinasi Round Robin dan Prioritas
Job Terpendek Pertama (Shortest Job First)
- Digunakan untuk sistem batch
- Run time diketahui lebih dahulu
- Mengetahuinya dengan teknik estimasi
- Misal 4 job dengan waktu 8, 4, 4, 4
SJF -> 4, 8, 12, 20


0 komentar:
Posting Komentar