π― Capaian Pembelajaran
Setelah mempelajari materi ini, mahasiswa mampu:
- Memahami konsep CPU Scheduling
- Menjelaskan tujuan dan kriteria penjadwalan
- Menganalisis berbagai algoritma scheduling
- Menghitung waiting time, turnaround time, response time
- Membandingkan performa algoritma penjadwalan
1. π§ Konsep Dasar CPU Scheduling
1.1 Pengertian
CPU Scheduling adalah mekanisme sistem operasi untuk menentukan proses mana yang mendapatkan CPU dan kapan.
π Narasi:
CPU adalah sumber daya yang terbatas. Banyak proses ingin berjalan, tetapi hanya satu (atau beberapa pada multi-core) yang bisa menggunakan CPU pada satu waktu.
πΌοΈ Ilustrasi Antrian Proses
6
π Proses yang siap dijalankan berada dalam ready queue dan menunggu giliran.
2. π― Tujuan Penjadwalan
Tujuan utama:
- Memaksimalkan CPU utilization
- Meminimalkan waiting time
- Meminimalkan turnaround time
- Meminimalkan response time
- Menjamin fairness (keadilan)
3. π Kriteria Evaluasi Scheduling
3.1 Waiting Time
Waktu proses menunggu di ready queue
3.2 Turnaround Time
Total waktu dari proses masuk hingga selesai
3.3 Response Time
Waktu dari request hingga respon pertama
3.4 Throughput
Jumlah proses yang selesai per waktu
π Tabel Ringkasan
| Kriteria | Deskripsi |
|---|---|
| Waiting Time | Waktu menunggu |
| Turnaround Time | Total waktu proses |
| Response Time | Waktu respon awal |
| Throughput | Produktivitas sistem |
4. βοΈ Jenis Penjadwalan
4.1 Non-Preemptive
CPU tidak bisa diambil sebelum proses selesai
4.2 Preemptive
CPU bisa diambil untuk proses lain
πΌοΈ Preemptive vs Non-Preemptive
6
5. π Algoritma Penjadwalan CPU
5.1 FCFS (First Come First Serve)
π§ Konsep:
Proses yang datang lebih dulu akan dilayani lebih dulu.
πΌοΈ FCFS Diagram
5
π Contoh:
| Proses | Burst Time |
|---|---|
| P1 | 5 |
| P2 | 3 |
| P3 | 2 |
Urutan:
P1 β P2 β P3
β Kelebihan:
- Sederhana
β Kekurangan:
- Convoy effect (proses kecil menunggu lama)
5.2 SJF (Shortest Job First)
π§ Konsep:
Proses dengan waktu eksekusi paling pendek didahulukan
πΌοΈ SJF Diagram
6
β Kelebihan:
- Waiting time minimum
β Kekurangan:
- Sulit mengetahui burst time
- Bisa menyebabkan starvation
5.3 Round Robin (RR)
π§ Konsep:
Setiap proses mendapat jatah waktu (time quantum)
πΌοΈ Round Robin Diagram
8
π Contoh:
Time quantum = 2
β Kelebihan:
- Fair
- Cocok untuk sistem interaktif
β Kekurangan:
- Overhead context switching tinggi
5.4 Priority Scheduling
π§ Konsep:
Proses dengan prioritas tertinggi didahulukan
πΌοΈ Priority Scheduling
6
β Masalah:
- Starvation
π‘ Solusi:
- Aging (menaikkan prioritas proses lama)
6. π Contoh Perhitungan Lengkap
Data:
| Proses | Burst Time |
|---|---|
| P1 | 5 |
| P2 | 3 |
| P3 | 2 |
FCFS:
Urutan: P1 β P2 β P3
Waiting Time:
- P1 = 0
- P2 = 5
- P3 = 8
Average WT = (0+5+8)/3 = 4.33
SJF:
Urutan: P3 β P2 β P1
Waiting Time:
- P3 = 0
- P2 = 2
- P1 = 5
Average WT = 2.33
π Analisis:
SJF lebih optimal dibanding FCFS.
7. β οΈ Masalah dalam Scheduling
7.1 Starvation
Proses tidak pernah mendapat CPU
7.2 Overhead
Terlalu banyak context switching
7.3 Fairness
Distribusi CPU tidak merata
8. π» Implementasi Nyata
Dalam OS modern:
- Linux β CFS (Completely Fair Scheduler)
- Windows β Priority-based scheduling
π§ Narasi:
OS modern menggunakan algoritma kompleks yang merupakan kombinasi dari berbagai metode scheduling.
9. π§ Studi Kasus
Kasus:
Mahasiswa membuka:
- Browser
- Zoom
- Word
π Analisis:
- Zoom β prioritas tinggi (real-time)
- Browser β sedang
- Word β rendah
OS akan mengatur CPU agar Zoom tetap lancar.
10. π Latihan
- Jelaskan perbedaan FCFS dan SJF!
- Apa kelebihan Round Robin?
- Hitung waiting time dari data tertentu!
- Apa itu starvation?
π― Kesimpulan
- CPU scheduling menentukan efisiensi sistem
- Banyak algoritma dengan kelebihan masing-masing
- Tidak ada algoritma yang sempurna
- OS modern menggunakan kombinasi metode
π Pengembangan Materi Selanjutnya
β‘ Thread dan Multithreading
β‘ Sinkronisasi Proses
β‘ Deadlock