Back to IF2130 Sistem Operasi

Desain Arsitektur Sistem Operasi

Questions/Cues

  • Apa itu pemisahan Policy vs Mechanism?

  • Apa itu arsitektur Simple Structure?

  • Apa itu arsitektur Monolitik?

  • Apa itu arsitektur Berlapis (Layered)?

  • Apa itu arsitektur Microkernel?

  • Apa itu arsitektur Modular?

  • Apa itu arsitektur Hybrid?

  • Bagaimana arsitektur OS Modern?

Reference Points

  • Slides 34-50, IF2130-02-2025-OS-Structure.pdf

Prinsip Desain: Policy vs. Mechanism

Salah satu prinsip terpenting dalam desain OS adalah memisahkan antara policy dan mechanism.

  • Mechanism: Menjawab pertanyaan “Bagaimana melakukan sesuatu?” Ini adalah implementasi dari sebuah fungsionalitas. Contoh: sebuah timer yang bisa diatur untuk menginterupsi CPU.

  • Policy: Menjawab pertanyaan “Apa yang akan dilakukan?” Ini adalah cara sebuah mekanisme digunakan. Contoh: memutuskan bahwa setiap proses pengguna diberi jatah waktu 100 milidetik menggunakan mekanisme timer.

Pemisahan ini memberikan fleksibilitas. Mechanism (yang sulit diubah) bisa tetap sama, sementara policy (yang mungkin perlu disesuaikan) dapat diubah dengan mudah.

Model-Model Arsitektur OS

1. Simple Structure (Contoh: MS-DOS)

  • Tidak memiliki struktur yang jelas. Tidak ada pemisahan modul atau proteksi memori.

  • Aplikasi dapat mengakses BIOS dan perangkat keras secara langsung.

  • Kelebihan: Ukuran kecil, performa baik (tidak ada overhead).

  • Kekurangan: Tidak aman, tidak stabil. Satu bug di aplikasi bisa merusak seluruh sistem.

2. Monolithic (Contoh: UNIX Tradisional, Linux)

  • Seluruh fungsionalitas OS (penjadwalan CPU, manajemen memori, sistem file, driver) dijalankan di dalam satu ruang alamat besar di kernel mode.

  • Komunikasi antar komponen sangat cepat (hanya pemanggilan fungsi biasa).

  • Kelebihan: Performa sangat tinggi.

  • Kekurangan: Sulit dikelola dan di-debug, sangat tidak modular. Bug pada satu driver bisa meruntuhkan seluruh kernel (kernel panic).

3. Layered Approach

  • OS diorganisir dalam hierarki lapisan-lapisan. Lapisan paling bawah adalah hardware (Layer 0), dan paling atas adalah UI.

  • Setiap lapisan hanya boleh menggunakan fungsi dari lapisan yang berada tepat di bawahnya.

  • Kelebihan: Desain yang bersih, modular, dan lebih mudah untuk verifikasi dan debugging.

  • Kekurangan: Performa bisa menjadi lambat karena setiap permintaan harus melewati banyak lapisan.

4. Microkernel (Contoh: Mach, QNX)

  • Filosofinya adalah memindahkan sebanyak mungkin layanan dari kernel ke user space.

  • Kernel (microkernel) hanya menangani fungsi paling esensial: komunikasi antar proses (IPC), manajemen memori dasar, dan penjadwalan CPU.

  • Layanan lain seperti driver, sistem file, dan server jaringan berjalan sebagai proses biasa di user mode.

  • Kelebihan: Lebih andal (jika file server crash, kernel tetap berjalan), lebih aman, dan lebih mudah diperluas.

  • Kekurangan: Performa lebih lambat karena komunikasi antar proses di user mode lebih lambat daripada pemanggilan fungsi di dalam kernel.

5. Modular (Contoh: Solaris, Linux Modern)

  • Mengambil pendekatan terbaik dari Monolithic dan Microkernel.

  • Kernel memiliki sekumpulan komponen inti, tetapi juga dapat memuat dan membongkar modul lain (seperti driver atau sistem file) secara dinamis saat runtime.

  • Ini seperti kernel monolitik yang dapat diperluas.

  • Kelebihan: Fleksibel, efisien, dan lebih mudah dikelola daripada monolitik murni.

6. Hybrid Systems (OS Modern)

  • Hampir semua OS modern adalah sistem hybrid yang menggabungkan beberapa pendekatan.

  • macOS & iOS: Menggunakan arsitektur hybrid yang disebut Darwin. Intinya adalah kernel XNU yang menggabungkan microkernel Mach (untuk IPC, penjadwalan) dengan komponen dari kernel monolitik BSD (untuk networking, sistem file) dan mendukung modul yang dapat dimuat (kernel extensions).

  • Android: Didasarkan pada kernel Linux (monolitik dengan modul) yang telah dimodifikasi. Namun, aplikasi berjalan di atas runtime environment (ART/Dalvik VM) dan serangkaian pustaka C/C++ yang luas, membuatnya terlihat seperti sistem berlapis.

  • Windows: Sebagian besar monolitik, tetapi menggunakan beberapa konsep dari microkernel untuk subsistem yang menjalankan aplikasi dari lingkungan OS lain (seperti WSL - Windows Subsystem for Linux).

Summary

Arsitektur Sistem Operasi telah berevolusi dari struktur monolitik yang sederhana dan cepat namun tidak aman, menjadi pendekatan yang lebih terstruktur seperti berlapis dan microkernel yang menawarkan keandalan dan modularitas dengan mengorbankan sedikit performa. OS modern seperti macOS, iOS, Android, dan Windows tidak menganut satu model murni, melainkan menggunakan arsitektur hybrid—paling umum adalah model kernel monolitik yang modular—untuk mencapai keseimbangan terbaik antara performa, keamanan, fleksibilitas, dan kemudahan pengembangan.