Anda di halaman 1dari 5

Struktur Sederhana

Pada awalnya, sistem operasi dimulai sebagai sistem yang kecil, sederhana,
dan terbatas. Lama kelamaan, sistem operasi semakin berkembang menjadi suatu
sistem yang lebih besar dari awalnya. Dalam perkembangannya, ada sistem yang
terstruktur dengan kurang baik, dan ada juga yang baik. Contoh sistem yang
terstruktur kurang baik adalah MS-DOS. Sistem operasi ini dirancang sedemikian
rupa agar mampu berjalan pada hardware yang terbatas. Memang memiliki struktur,
tapi belum terbagi-bagi dalam modul-modul, dan interface serta fungsionalitas tidak
begitu jelas batasannya.

Begitu pula dengan UNIX, yang pada awalnya juga terbatas oleh hardware
yang ada. Sistem ini dapat dibagi menjadi dua bagian, yaitu kernel dan program
sistem. Kernel sendiri dapat dibagi menjadi dua bagian, yaitu device driver dan
interface, yang kemudian terus berkembang seiring dengan perkembangan UNIX.
Berikut ini adalah skema struktur UNIX.

Gambar Struktur UNIX

Versi-versi UNIX selanjutnya dirancang agar mampu bekerja dengan


hardware yang lebih baik. Begitu pula dengan strukturnya, yang dibuat makin
modular.
Struktur Berlapis

Rasanya susah membayangkan sekian banyak fungsi yang disediakan oleh


sistem operasi diimplementasikan dalam satu program saja. Karena itu, lebih mudah
untuk membaginya dalam sejumlah layer/lapisan. Tentu setiap lapisan memiliki
fungsinya sendiri-sendiri, dan juga bisa menambah fungsi-fungsi lain, berdasarkan
fungsi-fungsi yang tersedia pada lapisan-lapisan lain yang dibawahnya.

Lapisan-lapisan sistem operasi adalah suatu abstraksi dari enkapsulasi sekumpulan


struktur data dalam sistem operasi. Lapisan-lapisan yang berada di atas bisa
mengakses operasi-operasi yang tersedia di lapisan-lapisan bawahnya. Stallings
memberi model yang lebih detail, sebagai berikut:

• Lapisan 1. Berisi berbagai sirkuit elektronik, misal register, memory cells, dan
logic gate.
• Lapisan 2. Berisi instruksi prosesor, misal instruksi aritmatika, instruksi
transfer data, dsb.
• Lapisan 3. Penambahan konsep seperti prosedur/subrutin, maupun fungsi
yang me-return nilai tertentu.
• Lapisan 4. Penambahan interrupt.
• Lapisan 5. Program sebagai sekumpulan instruksi yang dijalankan oleh
prosesor.
• Lapisan 6. Berhubungan dengan secondary storage device, yaitu
membaca/menulis head, track, dan sektor.
• Lapisan 7. Menciptakan alamat logika untuk proses. Mengatur hubungan
antara main memory, virtual memory, dan secondary memory.
• Lapisan 8. Program sebagai sekumpulan instruksi yang dijalankan oleh
prosesor.
• Lapisan 9. Berhubungan dengan secondary storage device, yaitu
membaca/menulis head,track, dan sektor.
• Lapisan 10. Menciptakan alamat logika untuk proses. Mengatur hubungan
antara main memory, virtual memory, dan secondary memory.
• Lapisan 11. Program sebagai sekumpulan instruksi yang dijalankan oleh
prosesor.
• Lapisan 12. File adalah objek yang memiliki nama dan ukuran. Abstraksi dari
lapisan 9.
• Lapisan 13. Menyediakan interface agar bisa berinteraksi dengan pengguna.

Lapisan-lapisan dari 1-4 bukanlah bagian dari sistem operasi dan masih menjadi
bagian dari prosesor secara ekslusif.

Lapisan ke-5 hingga ke-7, sistem operasi sudah berhubungan dengan prosesor.
Selanjutnya dari lapisan ke-8 hingga 13, sistem operasi berhubungan dengan media
penyimpanan maupun perlatan-peralatan lain yang ditancapkan, misalnya peralatan
jaringan.
Mikro Kernel

Pada pembahasan "Struktur Sederhana", sempat disinggung istilah "kernel".


Apakah kernel itu? Kernel adalah komponen sentral dari sistem operasi. Ia mengatur
hal-hal seperti interrupt handler(untuk menyediakan layanan interupsi), process
scheduler(membagi-bagi proses dalam prosesor), memory management, I/O, dan
sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan
software.

Cara tradisional untuk membangun sistem operasi adalah dengan membuat


kernel monolitis, yaitu semua fungsi disediakan oleh kernel, dan ini menjadikan
kernel suatu program yang besar dan kompleks.

Cara yang lebih modern, adalah dengan menggunakan kernel mikro. Pada
awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar
dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja yang
diimplementasikan dalam kernel (mengenai fitur-fitur apa saja yang perlu
diimplementasikan, ini bisa berbeda tergantung desain sistem operasi).

Komponen-komponen sistem operasi yang berada di luar kernel mikro


diimplementasikan sebagai server process dan berkomunikasi dengan message
passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia
mengirim pesan ke file system server, atau jika ingin membuat proses baru, dia
mengirimkan pesan ke process server.

Gambar Struktur kernel mikro


Beberapa kelebihan kernel mikro:

a. Interface yang seragam. Proses tidak lagi dibedakan, baik antara


kernel-level maupun user-level, karena semuanya berkomunikasi via message
passing.
b. Extensibility . Bisa menambahkan fitur-fitur baru tanpa perlu
melakukan kompilasi ulang.
c. Flexibility . Fitur-fitur yang sudah ada bisa dikurangi, atau
dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien.
Misalnya tidak semua pengguna membutuhkan security yang sangat ketat,
atau kemampuan untuk melakukan distributed computing.
d. Portability . Pada kernel mikro, semua atau sebagian besar kode yang
prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain
bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya,
tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa
bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting.
e. Reliability . Semakin besar suatu software, maka tentulah semakin sulit
untuk menjamin reliability-nya. Desain dengan pendekatan berlapis sangatlah
membantu, dan dengan pendekatan kernel mikro bisa lebih lagi. Kernel mikro
dapat dites secara ekstensif .Karena dia menggunakan API yang sedikit, maka
bisa meningkatkan kualitas code di luar kernel.
f. Support for object-oriendted OS . Model kernel mikro sangat sesuai
untuk mengembangkan sistem operasi yang berbasis object-oriented. Contoh
sistem operasi yang menggunakan kernel mikro adalah MacOS X dan QNX.

Anda mungkin juga menyukai