Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming.
Penjadwalan proses adalah berupa kumpulan kebijakan untuk menentukan proses mana yang harus dikerjakan CPU dan berapa lama proses tersebut berjalan
Tujuan penjadwalan proses adalah mengusahakan agar CPU tetap sibuk. Pada saat CPU menunggu operasi I/O, scheduler menyeleksi proses di main memory yang memiliki status ready untuk dieksekusi. Penjadwalan tipe ini disebut Short-term scheduller. Scheduler pada short-term ini dikenal dengan nama dispatcher
Tipe-tipe Penjadwalan
Kriteria Penjadwalan
Untuk mengukur kinerja scheduler digunakan beberapa kriteria :
-Fairness adalah Proses-proses diperlakukan sama yaitu setiap proses akan mendapatkan pembagian waktu secara adil
-CPU utilization CPU dikondisikan agar tetap sibuk, yang dinyatakan dengan rasio waktu sibuk
-Throughput ini hanya terjadi pada saat CPU sibuk yaitu banyaknya job yang dikerjakan dalam satu satuan waktu
-Turnaround Time banyaknya waktu yang diperlukan untuk mengeksekusi proses sampai selesai, dari mulai menunggu untuk meminta tempat di main memory, menunggu di ready queue (waiting time), dieksekusi dan selesai. Sasaran dari scheduller adalah meminimalkan turnaround time.
-Response Time adalah waktu yang dibutuhkan oleh suatu proses dari minta dilayani sampai ditanggapi.
Strategi Penjadwalan
Penjadwalan nonpreemptive adalah begitu diberi jatah waktu pemroses maka prosesor tidak dapat diambil alih oleh proses lain sampai proses itu selesai (run to completion)
Penjadwalan Preemptive adalah saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan akan dilanjutkan setelah jatah waktu pemroses kembali padanya.
Algoritma Penjadwalan
1. First Come First Served (FCFS)
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu.
Algoritma ini termasuk non-preemptive
Average Waiting Time (AWT) tinggi. AWT adalah total waktu menunggu dari semua proses dibagi jumlah proses.
2. Short Job First Scheduling (SJF) adalah proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu.
3. Priority Scheduling adalah CPU dialokasikan untuk proses yang memiliki prioritas tertinggi. Jika beberapa proses memiliki prioritas yang sama maka akan digunakan algortima FCFS. Dapat bersifat preemptive maupun non preemptive.
4. Round-Robin Scheduling sebuah konsep dasar algoritma ini adalah time sharing
digunakan quantum time untuk membatasi waktu eksekusi bersifat preemptive, proses yang burst timenya melebihi quantum time akan mengantri di posisi ekor dari ready queue.
5. Multilevel Queue Scheduling :
Menggunakan beberapa algoritma penjadwalan yang berbeda.
Beberapa proses dibagi menjadi beberapa group yang masing-masing group memiliki algoritma penjadwalan yang berbeda.
Ready queue dibagi menjadi beberapa antrian. Setiap proses yang menetap pada suatu antrian tidak bisa pindah ke antrian yang lain dan bersifat preemptive berprioritas.
6. Multilevel Feedback Queue Scheduling:
Mirip dengan Multilevel Queue Scheduling, tetapi suatu proses di dalam suatu antrian dapat pindah ke antrian lain.
Jika suatu proses menggunakan CPU dalam waktu yang cukup lama maka proses tersebut dapat berpindah ke antrian dengan prioritas yang lebih rendah.
Jika suatu proses terlalu lama menunggu pada prioritas yang lebih rendah, maka proses tersebut dapat berpindah ke queque dengan prioritas yang lebih tinggi.
7. Guaranteed Scheduling:
Penjadwal ini berupaya memberi tiap user daya prosesor yang sama. Jika terdapat N user maka tiap user mendapat 1/N daya prosesor.
Sistem merekam lama/besar waktu prosesor yang telah digunakan oleh proses, sejak proses tsb login dan jumlah total waktu prosesor dari seluruh proses.
Misal ada 5 user dengan total waktu 20 ms sehingga diharapkan tiap user mendapat 4 ms.
Materi lengkap [PPT]Penjadwalan Proses
Sumber : Selvia Lorena Br. Ginting, S.Si., MT, Unikom
0 komentar:
Posting Komentar