Halo, Sobat IT! Bagaimana kabar belajarnya hari ini? Jika kamu sedang menempuh mata kuliah Sistem Operasi atau sedang mendalami arsitektur komputer, kamu pasti akan bertemu dengan topik yang sangat menarik sekaligus menantang: Penjadwalan Proses (CPU Scheduling). CPU adalah otak dari komputer kita, dan kemampuannya untuk menangani banyak tugas sekaligus (multitasking) sangat bergantung pada bagaimana tugas-tugas tersebut antre untuk mendapatkan giliran diproses.
Baca juga:Contoh Soal TKB Lengkap Beserta Pembahasan yang Sering Muncul di Tes
Salah satu metode penjadwalan yang paling canggih dan banyak digunakan di sistem modern seperti Windows, Linux, atau macOS adalah Multilevel Queue Scheduling (Penjadwalan Antrean Bertingkat). Bayangkan kamu berada di sebuah bank besar yang memiliki beberapa loket khusus: loket nasabah prioritas, loket transaksi umum, dan loket informasi. Setiap nasabah masuk ke antrean yang berbeda berdasarkan jenis kebutuhannya, dan loket prioritas selalu dilayani lebih dulu. Itulah esensi dari Multilevel Queue!
Dalam artikel ini, kita akan membedah lebih dari 10 contoh soal dan pembahasan mendalam agar kamu tidak hanya sekadar hafal teori, tapi juga jago dalam menghitung dan menganalisis aliran proses di dalam CPU. Yuk, kita mulai asah logika komputasi kita!
Mengenal Konsep Multilevel Queue (MLQ)
Sebelum masuk ke latihan soal, mari kita segarkan ingatan tentang apa itu Multilevel Queue. Dalam metode ini, antrean Ready dibagi menjadi beberapa antrean terpisah berdasarkan karakteristik prosesnya.
Biasanya, pembagian dilakukan sebagai berikut:
- Antrean Sistem (System Processes): Memiliki prioritas tertinggi.
- Antrean Interaktif (Interactive Processes): Seperti aplikasi yang sedang kita gunakan (Word, Browser).
- Antrean Batch (Batch Processes): Proses latar belakang yang tidak memerlukan interaksi pengguna.
Setiap antrean bisa memiliki algoritma penjadwalan sendiri (misal: antrean satu pakai Round Robin, antrean dua pakai FCFS). Selain itu, ada aturan tentang bagaimana CPU berpindah dari satu antrean ke antrean lain, biasanya menggunakan Fixed Priority Preemptive Scheduling.
Kumpulan Contoh Soal dan Pembahasan Detail
Soal 1: Konsep Dasar Pembagian Antrean
Sebutkan dua jenis klasifikasi proses yang biasanya digunakan untuk membagi antrean dalam Multilevel Queue Scheduling!
Pembahasan: Proses biasanya dibagi menjadi Foreground Processes (proses interaktif yang butuh respon cepat) dan Background Processes (proses batch yang bisa berjalan di belakang layar tanpa interaksi langsung).
Soal 2: Penentuan Algoritma per Antrean
Dalam sebuah sistem MLQ, antrean Foreground menggunakan algoritma Round Robin (RR) sedangkan antrean Background menggunakan First Come First Served (FCFS). Jelaskan mengapa pembagian ini dianggap efisien!
Pembahasan: Algoritma RR sangat baik untuk proses interaktif karena menjamin respon yang adil (responsiveness), sedangkan FCFS efisien untuk proses batch karena meminimalkan overhead akibat context switching pada tugas-tugas besar yang tidak sensitif terhadap waktu.
Soal 3: Kasus Prioritas Statis
Ada dua antrean: $Q_1$ (Prioritas Tinggi) dan $Q_2$ (Prioritas Rendah). $Q_1$ memiliki proses $P_1$ dengan Burst Time 10 ms. $Q_2$ memiliki proses $P_2$ dengan Burst Time 20 ms. Jika sistem menggunakan Fixed Priority Preemptive, apa yang terjadi jika $P_2$ sedang berjalan dan tiba-tiba $P_1$ masuk ke $Q_1$?
Pembahasan: Karena sistem bersifat preemptive dan $Q_1$ memiliki prioritas lebih tinggi, maka CPU akan segera menghentikan $P_2$ (preempt) dan beralih mengerjakan $P_1$ sampai selesai atau sampai ada proses lain dengan prioritas lebih tinggi.
Soal 4: Menghitung Waiting Time (Kasus 1)
Diketahui sistem dengan 2 antrean. $Q_1$ (RR, quantum=4) dan $Q_2$ (FCFS).
Proses di $Q_1$: $A$ (Burst=5).
Proses di $Q_2$: $B$ (Burst=10).
Jika proses $A$ dan $B$ masuk pada waktu $t=0$, tentukan kapan proses $B$ mulai dikerjakan!
Pembahasan: CPU akan menyelesaikan semua isi $Q_1$ dulu.
- $A$ dikerjakan pada $t=0$. Karena quantum=4, $A$ berjalan 4 ms, lalu kembali ke antrean $Q_1$ (sisa 1 ms).
- Karena $Q_2$ belum bisa jalan selama $Q_1$ ada isinya, $A$ lanjut sisa 1 ms.
- Total waktu $Q_1$ adalah 5 ms.
- Proses $B$ mulai dikerjakan pada $t=5$.Jawaban: 5 ms.
Soal 5: Masalah Starvation
Apa risiko utama dari sistem Multilevel Queue dengan prioritas tetap, dan bagaimana cara mengatasinya?
Pembahasan: Risikonya adalah Starvation (kelaparan), di mana proses di antrean prioritas rendah tidak pernah dikerjakan jika antrean prioritas tinggi selalu terisi. Cara mengatasinya adalah dengan Aging (meningkatkan prioritas proses seiring berjalannya waktu menunggu) atau menggunakan pembagian waktu (Time Slicing) antar antrean.
Soal 6: Time Slicing Antar Antrean
Sistem memberikan 80% waktu CPU untuk $Q_1$ (Foreground) dan 20% untuk $Q_2$ (Background). Jika dalam 100 detik kedua antrean selalu penuh, berapa lama total waktu yang didapatkan $Q_2$?
Pembahasan: $20\% \times 100 \text{ detik} = 20 \text{ detik}$. Metode ini mencegah starvation total bagi antrean bawah.
Soal 7: Karakteristik Multilevel Feedback Queue (MLFQ)
Apa perbedaan utama antara Multilevel Queue (MLQ) biasa dengan Multilevel Feedback Queue (MLFQ)?
Pembahasan: Pada MLQ biasa, proses menetap di satu antrean sejak lahir sampai selesai. Pada MLFQ, proses dapat berpindah antar antrean (naik atau turun) berdasarkan perilaku penggunaan CPU-nya.
Soal 8: Analisis Perpindahan Antrean
Jika sebuah proses di antrean prioritas tinggi menggunakan waktu CPU terlalu lama (melebihi quantum), dalam sistem MLFQ, ke mana proses tersebut akan dipindahkan?
Pembahasan: Proses tersebut akan dipindahkan ke antrean dengan tingkat prioritas yang lebih rendah untuk memberi kesempatan pada proses-proses pendek lainnya.
Soal 9: Keuntungan Penggunaan MLQ pada OS Modern
Mengapa sistem operasi modern lebih memilih Multilevel Queue daripada FCFS tunggal?
Pembahasan: Karena OS modern menangani berbagai jenis tugas (audio, pengetikan, update sistem) secara bersamaan. MLQ memungkinkan OS memberikan perlakuan berbeda sesuai kebutuhan proses (misal: audio butuh real-time, update sistem bisa belakangan).
Soal 10: Skenario Penjadwalan Kompleks
Terdapat 3 antrean: $Q_1$ (Sistem), $Q_2$ (Interaktif), $Q_3$ (Batch). Jika terjadi proses di $Q_3$ sedang berjalan dan muncul interupsi dari proses sistem di $Q_1$, jelaskan langkah-langkah yang diambil CPU!
Pembahasan: 1. CPU menyimpan state proses $Q_3$ (Context Save).
2. CPU memindahkan kontrol ke scheduler.
3. Scheduler mendeteksi proses di $Q_1$ memiliki prioritas lebih tinggi.
4. CPU mengerjakan proses $Q_1$ sampai selesai.
5. Setelah $Q_1$ dan $Q_2$ kosong, CPU melanjutkan proses $Q_3$ (Context Restore).
Tips Sukses Menguasai Materi Penjadwalan
- Gunakan Gantt Chart: Saat mengerjakan soal hitungan, selalu gambar Gantt Chart untuk memvisualisasikan perpindahan waktu agar tidak ada angka yang terlewat.
- Pahami Sifat Preemptive: Selalu cek apakah soal menyebutkan sistem tersebut Preemptive (bisa dipotong) atau Non-Preemptive (harus tunggu sampai selesai).
- Pelajari Parameter Antrean: Ingat bahwa setiap antrean bisa punya aturan berbeda. Jangan gunakan Quantum RR di antrean yang aturannya FCFS.
Penutup: Teruslah Bereksperimen!
Sobat IT, 10 contoh soal di atas hanyalah gerbang awal untuk memahami betapa cerdasnya sistem operasi dalam mengelola sumber daya. Dunia teknologi informasi sangat dinamis; memahami bagaimana “antrean” bekerja akan membantumu menjadi pengembang perangkat lunak atau administrator sistem yang lebih handal, terutama saat menangani sistem skala besar atau cloud computing.
Penulis: marfel


Post Comment