- Kernel monolitik adalah
kernel yang semua di-compile dari awal dan dimuat saat sistem boot.
Kelebihannya adalah stabil, tetapi kelemahannya adalah kernel monolitik
ini harus di-compile terlebih dahulu sebelum digunakan. Kernel monolitik didefinisikan sebagai sebuah
antarmuka virtual yang berada pada tingkat tinggi di atas perangkat
keras, dengan sekumpulan primitif atau system call untuk
mengimplementasikan layanan-layanan sistem
operasi, seperti halnya manajemen proses, konkurensi (concurrency),
dan manajemen memori pada
modul-modul kernel yang berjalan di dalam mode supervisor.
Meskipun
jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul
utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat,
dan karena semua modul berjalan di dalam address space yang sama, sebuah
bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan
tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal
yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki
oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga
membuat sistem operasi dengan monolithic kernel sangatlah
efisien—meskipun sangat sulit dalam pembuatannya.
Pada sistem
operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft
Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel
tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel
sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan
di dalam ruangan kernel (kernel-space) seminim mungkin.
Di bawah ini
ada beberapa sistem operasi yang menggunakan Monolithic kernel:
- Kernel sistem operasi UNIX tradisional,
seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan
lainnya).
- Kernel sistem operasi GNU/Linux,
Linux.
- Kernel sistem operasi Windows
(versi 1.x hingga 4.x; kecuali Windows
NT).
2. Kernel modular adalah kernel yang dapat diinstall dan diuninstall. Kernel ini akan dimuat saat saat diperlukan. Salah satu contoh kernel modular ini adalah driver, seperti driver printer, VGA, dsb. Kernel modular terdiri dari modul-modul kernel yang dapat secara dinamik dipasang dan dilepas dari kernel. Modul-modul kernel yang bisa dipasang dan dilepas ini sering disebut dengan modul kernel loadable - Loadable Kernel Module (LKM).
Sebagai contoh driver-driver
hardware biasanya di insertkan kedalam
kernel dalam
bentuk module. Karena sifatnya yang dinamik ini kernel
modular bisa
disisipi modul 'jahat' untuk keperluan seperti
backdooring
kernel. Di artikel ini saya mencoba sedikit menjelaskan
bagaimana
bermain-main dengan module kernel openbsd untuk mengambil
keuntungan
dari modul-modul yang disisipkan ke kernel. Module-module
kernel dapat
dibagi kedalam 5 kelompok umum:
* Modul System Call
* Modul Virtual File System
* Modul Device Drive
* Modul Execution Interpreter
* Modul Miscellaneous
Referensi
http://www.kecoak.or.id/sarang/TOKET_2/09-openbsd-lkm.txt
http://id.wikipedia.org/wiki/Kernel_monolitik
To:
</
Tidak ada komentar:
Posting Komentar