Kamis, April 16, 2026

Soal dan Jawaban Sistem Operasi

Soal dan jawaban sistem operasi, part 1


*A. Pilihan Ganda*


1. *Driver device berfungsi sebagai jembatan antara OS dan hardware. Jika printer tidak terdeteksi padahal kabel sudah terpasang, langkah pertama yang paling logis dilakukan OS adalah:*  

   A. Memformat ulang hard disk  

   B. Memeriksa apakah driver printer sudah terinstal dan cocok dengan kernel  

   C. Mengganti motherboard  

   D. Menghapus semua software aplikasi  

   *Jawaban: B*  

   *Alasan*: OS berkomunikasi dengan hardware lewat driver. Tanpa driver yang sesuai, system call ke printer akan gagal walau hardware normal.


2. *Komponen OS yang langsung menangani interupsi dari keyboard adalah:*  

   A. Shell  

   B. Application Layer  

   C. Interrupt Handler di Kernel  

   D. Compiler  

   *Jawaban: C*  

   *Alasan*: Interupsi hardware ditangkap oleh interrupt handler di kernel, lalu diteruskan ke device driver keyboard.


3. *Pada interaksi OS dengan software, "system call" digunakan untuk:*  

   A. Mengganti wallpaper desktop  

   B. Meminta layanan kernel yang tidak bisa diakses langsung oleh user mode  

   C. Menginstal game baru  

   D. Mempercepat koneksi internet  

   *Jawaban: B*  

   *Alasan*: Aplikasi di user mode harus pakai system call seperti `read()`, `write()`, `open()` untuk akses hardware atau resource yang dilindungi kernel.


4. *Dalam pembuatan simulasi OS sederhana, algoritma penjadwalan CPU Round Robin cocok dipakai karena:*  

   A. Hanya bisa jalan di hardware asli  

   B. Memberi time slice yang adil ke tiap proses, mudah disimulasikan  

   C. Tidak butuh memori  

   D. Otomatis mencegah deadlock  

   *Jawaban: B*  

   *Alasan*: RR mudah diimplementasikan dengan queue + timer interrupt di simulator, dan menunjukkan konsep context switching.


*B. Esai Singkat*


5. *Jelaskan 3 jalur utama interaksi OS dengan hardware!*  

   *Jawaban*:  

   1. *Instruksi I/O*: CPU mengirim perintah lewat port I/O atau memory-mapped I/O ke controller hardware.  

   2. *Interupsi*: Hardware memberi sinyal ke CPU ketika ada event, lalu kernel menghentikan proses yang sedang jalan untuk melayani interupsi.  

   3. *DMA / Direct Memory Access*: Hardware seperti disk bisa transfer data langsung ke RAM tanpa lewat CPU, OS hanya setup dan terima notifikasi selesai.  


6. *Kenapa saat membuat simulasi OS, kita tetap harus memodelkan "kernel mode" dan "user mode" walau cuma software simulasi?*  

   *Jawaban*: Karena konsep dual mode adalah inti proteksi OS. Simulasi harus menunjukkan bahwa tidak semua kode boleh akses hardware langsung. Jika simulasi mengabaikan ini, mahasiswa tidak belajar kenapa system call ada dan bagaimana OS mencegah aplikasi crash mengganggu sistem lain. Di simulasi, biasanya pakai flag atau pengecekan `if mode == KERNEL` sebelum eksekusi instruksi sensitif.


7. *Sebutkan 2 tantangan utama saat membuat simulasi interaksi OS dengan disk di aplikasi desktop biasa.*  

   *Jawaban*:  

   1. *Sinkronisasi waktu*: Disk asli lambat, jadi simulator harus pakai "simulated clock" agar tidak menunggu I/O real-time yang lama.  

   2. *Abstraksi controller*: Harus bikin modul virtual disk controller yang menerima perintah `read block`, lalu memetakan ke file biasa, sekaligus memicu interupsi virtual ke CPU simulator.


*C. Studi Kasus Singkat*


8. *Kasus*: Kamu bikin simulasi OS di Python. Ada 2 aplikasi: TextEditor dan MusicPlayer. Saat MusicPlayer play lagu, TextEditor jadi lag. Di OS nyata, ini jarang terjadi. Salahnya di mana?  

   *Jawaban*: Simulasi belum menerapkan preemptive multitasking dan penjadwalan CPU yang benar. Kemungkinan MusicPlayer jalan di loop tanpa `yield` atau timer interrupt, sehingga mengambil seluruh "CPU time" simulasi. Solusi: tambah timer interrupt tiap 10ms di simulator untuk paksa context switch, atau pakai time slice di scheduler Round Robin. Ini meniru cara OS nyata pakai interrupt dari hardware timer untuk rebut CPU dari proses.


9. *Rancang struktur minimal untuk simulasi interaksi OS-Hardware. Sebutkan 4 modul wajib.*  

   *Jawaban*:

Modul Fungsi

**Virtual CPU** Eksekusi instruksi, punya mode user/kernel, tangani interupsi

**Memory Manager** Alokasi memori virtual ke fisik, cek proteksi akses

**Device Manager** Daftar device + driver virtual, terima system call I/O

**Scheduler** Antrian proses, algoritma FCFS/RR, picu context switch

.......