1. Apa yang dimaksud dengan sistem operasi dan sebutkan 3 fungsi utamanya?
Jawaban:
Sistem Operasi adalah perangkat lunak sistem yang mengelola perangkat keras komputer dan menyediakan layanan untuk program aplikasi.
3 fungsi utama:
- Manajemen Proses: Mengatur eksekusi program, penjadwalan CPU, pembuatan & penghapusan proses.
- Manajemen Memori: Mengalokasikan dan membebaskan ruang memori untuk program.
- Manajemen Berkas: Mengatur penyimpanan, pengambilan, dan pengorganisasian file di storage.
2. Jelaskan perbedaan antara multiprogramming, multitasking, dan multiprocessing.
Jawaban:
Istilah | Penjelasan | Tujuan |
|---|---|---|
Multiprogramming | Beberapa program dimuat di memori sekaligus. CPU beralih saat satu program menunggu I/O | Memaksimalkan utilisasi CPU |
Multitasking | Perluasan multiprogramming. CPU bergantian sangat cepat antar program sehingga terasa bersamaan | Responsif untuk pengguna |
Multiprocessing | Menggunakan 2 CPU/core atau lebih untuk menjalankan proses secara bersamaan | Meningkatkan throughput & keandalan |
3. Apa itu kernel? Sebutkan 2 jenis arsitektur kernel beserta kelebihan dan kekurangannya.
Jawaban:
Kernel adalah inti sistem operasi yang berhubungan langsung dengan hardware.
- Monolithic Kernel: Semua layanan OS ada di kernel space. Kelebihan: Cepat karena komunikasi langsung. Kekurangan: Bug di satu modul bisa crash seluruh sistem. Contoh: Linux, Unix.
- Microkernel: Hanya fungsi dasar di kernel, sisanya di user space. Kelebihan: Lebih stabil & aman. Kekurangan: Lebih lambat karena banyak message passing. Contoh: Minix, QNX.
4. Jelaskan perbedaan sistem operasi berbasis CLI dan GUI.
Jawaban:
- CLI (Command Line Interface): Pengguna berinteraksi dengan mengetik perintah teks. Kelebihan: Ringan, cepat untuk admin, bisa di-script. Kekurangan: Butuh hafal perintah. Contoh: MS-DOS, Linux shell.
- GUI (Graphical User Interface): Interaksi lewat grafis, ikon, dan mouse. Kelebihan: Mudah dipelajari pengguna awam. Kekurangan: Butuh resource lebih besar. Contoh: Windows, macOS.
5. Apa yang dimaksud dengan proses dan thread? Apa perbedaannya?
Jawaban:
- Proses: Program yang sedang dieksekusi. Memiliki ruang alamat memori sendiri, file, dan resource lain.
- Thread: Unit eksekusi terkecil dalam proses. Beberapa thread dalam 1 proses berbagi memori dan resource.
Perbedaan utama: Context switch antar thread lebih ringan daripada antar proses karena thread berbagi memori.
6. Sebutkan dan jelaskan 5 kondisi yang harus dipenuhi agar terjadi deadlock.
Jawaban:
- Mutual Exclusion: Resource hanya bisa dipakai 1 proses pada satu waktu.
- Hold and Wait: Proses menahan resource sambil menunggu resource lain.
- No Preemption: Resource tidak bisa diambil paksa dari proses.
- Circular Wait: Ada siklus proses yang saling menunggu resource.
- Keempat kondisi harus terjadi bersamaan agar deadlock muncul.
7. Apa fungsi dari scheduler pada sistem operasi? Sebutkan 3 jenis scheduler.
Jawaban:
Scheduler bertugas memilih proses mana yang akan mendapat giliran CPU.
- Long-term scheduler: Memilih proses dari disk untuk masuk ke ready queue. Mengontrol degree of multiprogramming.
- Short-term scheduler/CPU scheduler: Memilih proses dari ready queue untuk dieksekusi CPU. Sangat sering dipanggil.
- Medium-term scheduler: Melakukan swapping, mengeluarkan proses dari memori ke disk untuk mengurangi beban.
8. Jelaskan apa itu virtual memory dan keuntungannya.
Jawaban:
Virtual memory adalah teknik yang membuat memori fisik tampak lebih besar dari aslinya dengan menggunakan storage sebagai ekstensi RAM.
Keuntungan:
- Program bisa lebih besar dari RAM fisik.
- Meningkatkan derajat multiprogramming karena tiap program butuh RAM fisik lebih sedikit.
- Memungkinkan proteksi memori antar proses.
9. Apa perbedaan sistem file FAT32, NTFS, dan ext4?
Jawaban:
Sistem File | OS Utama | Ukuran File Max | Fitur Keamanan |
|---|---|---|---|
FAT32 | Windows lama, flashdisk | 4 GB | Tidak ada permission/jurnal |
NTFS | Windows modern | 16 TB | Ada permission, enkripsi, journaling |
ext4 | Linux | 16 TB | Ada permission, journaling, sangat stabil |
10. Jelaskan apa itu interrupt dan sebutkan 2 jenisnya.
Jawaban:
Interrupt adalah sinyal ke CPU yang memberitahu ada kejadian yang perlu ditangani segera, sehingga CPU menghentikan sementara eksekusi program.
- Hardware Interrupt: Berasal dari perangkat keras, contoh: keyboard ditekan, I/O selesai.
- Software Interrupt/Trap: Dipicu oleh program, contoh: pembagian dengan nol, system call.
11. Apa yang dimaksud dengan system call? Berikan 3 contohnya.
Jawaban:
System call adalah mekanisme yang disediakan kernel agar program di user space bisa meminta layanan dari OS.
Contoh:
fork()untuk membuat proses baru di Linux.open()untuk membuka file.read()danwrite()untuk operasi I/O file.
12. Jelaskan perbedaan antara preemptive dan non-preemptive scheduling.
Jawaban:
- Preemptive: OS bisa mengambil paksa CPU dari proses yang sedang jalan untuk diberikan ke proses lain. Kelebihan: Responsif, cocok untuk sistem real-time. Kekurangan: Overhead lebih tinggi.
- Non-preemptive: Proses melepaskan CPU secara sukarela, misal saat I/O atau selesai. Kelebihan: Sederhana. Kekurangan: Satu proses bisa memonopoli CPU.
13. Apa itu paging dan segmentation pada manajemen memori?
Jawaban:
- Paging: Memori fisik dan logis dibagi menjadi blok ukuran tetap disebut page dan frame. Menghilangkan eksternal fragmentasi. Tidak memperhatikan struktur logis program.
- Segmentation: Memori dibagi berdasarkan bagian logis program seperti code, data, stack. Ukuran segmen bisa beda-beda. Lebih sesuai cara pandang programmer tapi bisa terjadi eksternal fragmentasi.
14. Sebutkan 4 contoh sistem operasi beserta kegunaan utamanya.
Jawaban:
- Windows: OS umum untuk PC desktop/laptop, fokus pada kemudahan dan kompatibilitas software.
- Linux: OS open source untuk server, developer, supercomputer. Sangat stabil dan bisa dikustomisasi.
- Android: OS mobile berbasis Linux, dominan di smartphone.
- RTOS seperti FreeRTOS: Untuk sistem embedded/real-time yang butuh respon waktu pasti, misal di mesin industri.
15. Mengapa proteksi dan keamanan penting dalam sistem operasi? Sebutkan 2 mekanismenya.
Jawaban:
Penting untuk mencegah proses mengganggu proses lain, melindungi data pengguna, dan mencegah akses ilegal.
2 mekanisme:
- Dual-mode operation: Mode kernel untuk instruksi istimewa dan mode user untuk aplikasi biasa. Transisi lewat system call.
- Access control/Permission: Setiap file dan resource memiliki hak akses baca, tulis, eksekusi untuk user/group tertentu.