Scheduling
-CPU Scheduler
CPU Scheduler memilih sebuah proses-proses dalam memory yang siap untuk dieksekusi, dan mengalokasikan CPU ke salah satu dari proses tersebut.
-Kapan Scheduling terjadi?
Ketika terjadi perubahan state dari running ke waiting.
Ketika terjadi perubahan state dari running ke ready.
Ketika terjadi perubahan state dari waiting ke ready.
Ketika terjadi Terminasi
-Jenis-jenis Scheduler
1.Long-term Scheduling
Keputusan untuk menambahkan suatu proses kedalam daftar proses yang akan dieksekusi
2.Medium-term Scheduling
Keputusan untuk menambahkan beberapa proses yang ada dalam main memory baik secara utuh maupun parsial
3.Short-term Scheduling
Keputusan untuk memilih proses mana yang dapat dieksekusi oleh prosesor
4.I/O Scheduling
Keputusan untuk menjalankan proses I/O yang belum berjalan oleh I/O device yang tersedia
-Dispatch
Dispatcher memberikan control CPU kepada proses yang dipilih oleh Short-term Scheduler.
Dispatch latency merupakan waktu yang diperlukan oleh dispatcher untuk menghentikan sebuah proses dan menjalankan proses lainnya.
-Elemen-Elemen dalam Scheduling
CPU Utilization : CPU harus berjalan sesering mungkin.
Throughput : Banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
Turnaround Time : Waktu yang dibutuhkan untuk menjalankan sebuah proses tertentu.
Waiting Time : Waktu tunggu sebuah proses dalam ready queue.
Response Time : Waktu yang dibutuhkan oleh sebuah proses dari minta dilayani hingga ada respon pertama yang menanggapi layanan tersebut.
-OPtimization
1.Max CPU Utilization
2.Max Throughput
3.Min Turnaround Time
4.Min Waiting Time
5.Min Response Time
-Tujuan Scheduling
1.All Systems
Fairness : Setiap proses mendapat pembagian CPU yang sama.
Policy Enforcement : Kebijakan dijalankan
Balance : Menjaga agar setiap part dari system berjalan
2. Batch Systems
Throughput : Memaksimalkan pekerjaan tiap jam.
Turnaround Time : Meminimalkan waktu antara submission dan termination.
CPU Utilization : Menjaga agar CPU selalu sibuk.
3. Interactive Systems
Response Time : Respon terhadap suatu request secepat mungkin.
Proportionality : Sesuai dengan ekspektasi user.
4. Real-Time Systems
Meeting deadlines : Menghindari kehilangan data
Predictability : Menghindari penurunan kualitas dalam system multimedia
-Batch-Scheduling Algorithm
1.First-Come First-Serve
Proses diassign ke dalam CPU secara urut. Kemudahan menggunakan algoritma ini adalah mudah dimengerti dan mudah untuk di buat programnya. Sedangkan kesulitannya adalah tugas yg kecil/sedikit akan menunggu telalu lama jika mengantri dibelakang tugas yg besar.
2.Shortest Job First – Non Preemptive
Ketika CPU diberikan suatu proses yg tidak bisa di interupsi sampai CPU burst-nya selesai.
3.Shortest Job First – Preemptive
Ketika CPU diberikan suatu proses yg bisa di interupsi sebelum CPU burst-nya selesai.
4.Interactive Scheduling Algorithm
Round-robin scheduling
Priority scheduling
Multiple queues
Shortest process next
Guaranteed scheduling
Lottery scheduling
Fair-share scheduling
e-book Halaman 447 Bagian 9.2
1. First-Come First-Serve
Waiting time for A=0, B=2, C=5, D=1, E=3
Average Waiting Time = (0+2+5+1+3)/5 = 2,2
2. Shortest Job First – Non Preemptive
Waiting time for A=0, B=4, C=0, D=1, E=3
Average Waiting Time = (0+4+0+1+3)/5 = 1,6
3. Shortest Job First – Preemptive
Waiting time for A=0, B=4, C=0, D=1, E=3
Average Waiting Time = (0+4+0+1+3)/5 = 1,6
Leave a Reply