ARSIP BULANAN : November 2013

[PERTEMUAN 1-KELAS E SISTEM OPERASI]

25 November 2013 21:43:40 Dibaca : 31

Pengertian Kernel

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut.

Secara umum, kernel bertanggung jawab untuk menghubungkan semua aplikasi yang berjalan ke perangkat keras, dan memungkinkan proses, untuk mendapatkan informasi dari satu sama lain.

Beberapa Desain Kernel

Ada beberapa cara yang berbeda untuk membangun kernel dan beberapa pilihan arsitektur yang berbeda ketika hendak membangunnya dari awal. Secara umum, kernel terkelompokkan menjadi empat jenis: monolitik, microkernel, exokernel, dan hibrida. Linux terbangun dari sebuah monolitik kernel, sementara Mac OS X (xnu) dan Windows 7 menggunakan kernel hibrida. Mari kita melihat secara rinci dari tiga kategori sehingga kita bisa mengerti lebih rinci lagi.

1.) Microkernel

 

Microkernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.

Mikrokernel mengambil pendekatan dengan hanya mengelola apa yang terpenting yakni: CPU, memori, dan inter-process communication (IPC). Sedangkan yang lainnya hanya dilihat sebagai aksesori dan diserahkan pada user mode.

Kelebihan:

*Portabilitas

*Kapasitas hardisk yang kecil

*Kapasitas memori yang kecil

*Keamanan

Kekurangan:

*Hardware harus bekerja melalui driver

*Hardware mungkin bereaksi lebih lambat karena driver dalam user mode

*Proses harus menunggu dalam antrian untuk mendapatkan informasi

*Proses yang tidak bisa mendapatkan akses ke proses lainnya tanpa menunggu

 

2.) Kernel Monolitik

Pendekatan 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.

Kernel monolitik cenderung lebih baik dalam mengakses hardware dan multitasking karena jika program perlu mendapatkan informasi dari memori atau proses lain yang sedang berjalan maka ia dapat memiliki garis yang lebih langsung untuk mengaksesnya dan tidak harus menunggu dalam antrian untuk mendapatkan sesuatu. Namun ini dapat menyebabkan masalah karena semakin banyaknya hal-hal yang berjalan dalam mode supervisor, maka semakin banyak pula hal yang dapat membawa sistem anda untuk tidak berperilaku baik.

Kelebihan:

*Program dapat lebih langsung mengakses ke perangkat keras

*Lebih mudah bagi pemrosesan untuk berkomunikasi satu sama lain

*Jika perangkat kerja Anda didukung, maka mereka dapat terus bekerja tanpa instalasi tambahan

*Proses bereaksi lebih cepat karena tidak ada antrian untuk waktu prosesor

Kekurangan:

*Kapasitas hardisk yang lebih besar

*Kapasitas memori yang lebih besar

*Kurang aman karena semuanya berjalan dalam mode supervisor

 

3.) Kernel Hibrida

Kernel hibrida aslinya adalah mikrokernel yang memiliki kode yang tidak menunjukkan bahwa kernel tersebut adalah mikrokernel di dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dieksekusi lebih cepat dibandingkan jika ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi sebagai solusi awal terhadap masalah yang terjadi di dalam mikrokernel: kinerja.

Beberapa orang banyak yang bingung dalam membedakan antara kernel hibrida dan kernel monolitik yang dapat memuat modul kernel setelah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik jelas berbeda. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan dari konsep desain kernel monolitik dan mikrokernel. Kernel hibrida juga memiliki secara spesifik memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam mikrokernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel karena alasan kinerja.

Kelebihan:

*Kapasitas hardisk yang sedang

*Kapasitas memori yang sedang

*Pengembang dapat memilih dan memilih apa yang berjalan dalam user mode dan apa yang berjalan

dalam mode supervisor.

*Lebih fleksibel dibandingkan model lain

Kekurangan:

*Bisa menderita proses antrian yang sama seperti mikrokernel

*Device driver harus dikelola oleh pengguna (biasanya)

 

4.) Exokernel

Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.

Disain exokernel masih merupakan disain eksperimental dan dalam tahap penelitian sehingga belum dipakai secara luas. Perbedaan konsep disain exokernel dengan disain kernel lainnya adalah exokernel memiliki fungsi perlindungan dan pembagian resource untuk hardware.

Kelebihan exokernel adalah bisa dimasukkan library sistem operasi lebih dari satu sehingga bisa menjalankan program-program untuk sistem operasi yang berbeda secara bersamaan.

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong