8.7.08

Sekilas kernel Linux (3): sifat dan fitur

(Bagian 3 dari 4 artikel - ke artikel utama - bagian 4)

Atribut kernel Linux

Pembahasan sistem yang besar dan kompleks akan lebih mudah dipahami jika sistem digambarkan dalam komponen-komponen arsitektural. Demikian ini berlaku pula untuk kernel Linux sebagai sebuah program yang besar.

Kernel Linux mengimplementasikan sejumlah sifat arsitektur yang penting. Pada tingkat tinggi maupun rendah, kernel disusun berlapis menjadi beberapa subsistem yang berbeda. Linux dapat dianggap bersifat monolitik karena Linux memadukan semua pelayanan mendasar (basic service) ke dalam satu kernel. Ini berbeda dengan arsitektur mikrokernel yang meletakkan beberapa pelayanan (service) seperti pelayanan komunikasi, I/O, manajemen proses dan memori, dan beberapa pelayanan spesifik pada lapisan mikrokernel (microkernel layer) yang berbeda. Masing-masing pendekatan arsitektur mempunyai kelebihan, namun perbedaan itu tidak akan dibahas di sini.

Setelah beberapa masa, kernel Linux telah mencapai titik efisiensi dalam hal penggunaan memori dan CPU dan telah menjadi sangat stabil. Namun aspek yang menarik dari Linux, meskipun kode programnya besar dan kompleks, adalah portabel (portability). Artinya Linux dapat dikompail dan jalan pada banyak prosesor dan platform yang masing-masing mempunyai kebutuhan dan kekangan arsitektur (architectural constraint). Satu hal yang juga penting adalah bahwa Linux dapat menjalankan proses dengan unit manajemen memori (memory management unit, MMU) maupun tanpa MMU. Misalnya, uClinux menggunakan kernel Linux tanpa dukungan MMU.

Fitur menarik dari kernel Linux

Kalau portabilitas dan efisiensi masih dianggap kurang, kernel Linux masih memiliki fitur penting yang lain.

Linux, sebagai program open source dan sistem operasi yang dapat diterapkan dalam mesin produksi, merupakan wahana terbaik untuk melakukan ujicoba dan pengembangan protokol baru . Linux mendukung banyak sekali protokol, termasuk TCP/IP, dan mendukung pengembangan jaringan berkecepatan tinggi (kecepatan lebih dari 1 GB Ethernet [GbE] dan 10 GbE). Linux mendukung protokol lain seperti Stream Control Transmission Protocol (SCTP), yang menyediakan fitur canggih di atas TCP (sebagai pengganti protokol tingkat transport).

Linux juga merupakan kernel dinamis yang mendukung penambahan dan pengurangan komponen software dalam keadaan software sedang dijalankan (on the fly). Sifat ini disebut modul kernel yang dapat dimuat secara dinamis (dynamically loadable kernel modules). Modul dapat disisipkan saat booting (misalnya ada piranti yang membutuhkan modul tersebut) atau di sembarang waktu jika diinginkan oleh user.

Perkembangan Linux telah mencapai titik di mana kernel itu dapat digunakan dalam sebuah sistem operasi untuk menjalankan sistem operasi lain (atribut ini disebut hipervisor). Kernel juga telah dimodifikasi menjadi mesin virtual berbasis kernel (Kernel-based Virtual Machine, KVM). Modifikasi ini dapat menjadi antar muka baru pada wilayah user (user space) yang memungkinkan sistem operasi lain dijalankan di atas kernel yang memakai fitur KVM. Di samping menjalankan sistem operasi GNU/Linux lain, Microsoft® Windows® juga dapat divirtualisasi. Satu-satunya kekangan untuk menerapkan fitur ini adalah apakah prosesor mesin dapat menjalankan instruksi dari sistem virtual tersebut (Windows virtual tidak dapat dijalankan di atas GNU/Linux yang berjalan di atas prosesor PowerPC, semata-mata karena Windows tidak mendukung prosesor tersebut).

Tidak ada komentar: