Back to IF2130 Sistem Operasi
Penjadwalan Tingkat Lanjut dan Multi-Processor
Questions/Cues
Apa itu Multilevel Queue?
Apa itu Multilevel Feedback Queue?
Apa tantangan penjadwalan multi-processor?
Apa itu Symmetric Multiprocessing (SMP)?
Apa itu Processor Affinity?
Apa itu Load Balancing?
Bagaimana penjadwalan pada sistem multicore?
Apa itu penjadwalan Real-Time?
Reference Points
PDF: 4. IF2130-05-2025-Scheduling.pdf
Slides: 28-50
Multilevel Queue Scheduling
Konsep: Mempartisi ready queue menjadi beberapa antrian terpisah. Proses secara permanen dimasukkan ke dalam satu antrian, biasanya berdasarkan tipenya (misalnya, interactive vs. batch).
Penjadwalan Antar Antrian:
Fixed-Priority: Antrian prioritas tinggi (misal, interactive) harus kosong sebelum antrian prioritas rendah dilayani. Berisiko starvation.
Time Slice: Setiap antrian mendapat jatah waktu CPU tertentu (misal, 80% untuk foreground dengan RR, 20% untuk background dengan FCFS).
Multilevel Feedback Queue (MLFQ)
Konsep: Mirip dengan multilevel queue, tetapi proses bisa berpindah antar antrian. Ini adalah algoritma yang paling umum digunakan.
Cara Kerja Umum:
Sebuah proses masuk ke antrian prioritas tertinggi.
Jika proses tidak selesai dalam time quantum antrian tersebut, ia akan diturunkan ke antrian prioritas lebih rendah (yang biasanya memiliki quantum lebih panjang).
Jika proses yang menunggu terlalu lama di antrian rendah, ia bisa dinaikkan kembali (aging) untuk mencegah starvation.
Tujuan: Memisahkan proses berdasarkan karakteristik CPU burst-nya. Proses CPU-bound akan cepat turun ke antrian prioritas rendah, sementara proses I/O-bound dan interaktif akan tetap di antrian prioritas tinggi.
Penjadwalan Multi-Processor
Tantangan: Penjadwalan menjadi lebih kompleks karena harus memutuskan tidak hanya “proses mana” yang berjalan, tetapi juga “di CPU mana” ia berjalan.
Symmetric Multiprocessing (SMP): Pendekatan paling umum, di mana setiap prosesor menjadwalkan dirinya sendiri secara independen. Bisa menggunakan satu ready queue bersama atau setiap prosesor memiliki ready queue pribadinya.
Isu dalam Penjadwalan Multi-Processor
Processor Affinity: Sebuah proses yang berjalan di satu prosesor akan mengisi cache prosesor tersebut. Jika proses dipindahkan ke prosesor lain, isi cache menjadi tidak valid dan harus diisi ulang (ini lambat).
Soft Affinity: OS akan berusaha menjaga proses tetap di prosesor yang sama, tapi tidak dijamin.
Hard Affinity: Proses dapat menentukan set prosesor di mana ia boleh berjalan.
Load Balancing: Upaya untuk menjaga beban kerja terdistribusi secara merata di semua prosesor.
Push Migration: Sebuah proses periodik memeriksa beban dan memindahkan (push) proses dari CPU yang sibuk ke CPU yang idle.
Pull Migration: CPU yang idle akan menarik (pull) proses dari CPU lain yang sibuk.
Catatan: Load balancing seringkali berlawanan dengan processor affinity.
Penjadwalan Real-Time
Konsep: Untuk sistem di mana penyelesaian tugas dalam batas waktu tertentu adalah krusial.
Soft Real-Time: Menjamin bahwa proses kritis akan diberi prioritas lebih tinggi, tapi tidak ada jaminan kapan akan selesai.
Hard Real-Time: Tugas harus selesai sebelum deadline-nya. Jika tidak, terjadi kegagalan sistem.
Algoritma Umum:
Rate Monotonic: Prioritas statis berdasarkan frekuensi (periode lebih pendek = prioritas lebih tinggi).
Earliest Deadline First (EDF): Prioritas dinamis berdasarkan deadline terdekat.
Algoritma penjadwalan tingkat lanjut seperti Multilevel Feedback Queue (MLFQ) memungkinkan OS untuk secara dinamis mengklasifikasikan proses dan memberikan perlakuan yang sesuai, mencegah starvation melalui aging. Pada sistem multi-processor, tantangan utama adalah menyeimbangkan antara Load Balancing (distribusi kerja yang merata) dan Processor Affinity (memaksimalkan penggunaan cache). Sementara itu, sistem real-time memerlukan algoritma khusus seperti Rate Monotonic atau EDF untuk memastikan tugas-tugas kritis dapat memenuhi deadline mereka.