Social Icons

Pages

Monday, April 29, 2013

Apa itu Linux Kernel dan Apa kegunaannya?

Kernel menghubungkan perangkat lunak aplikasi dengan perangkat keras komputer


Linux kernel memiliki lebih dari 13 juta baris kode dan juga salah satu proyek open source terbesar di dunia, tetapi apa itu kernel dan apa kegunaannya?
Jadi Apa itu Kernel?
Kernel adalah software tingkat terendah yang bekerja dengan perangkat keras di komputer Anda. Ia bertanggung jawab untuk menghubungkan semua aplikasi yang berjalan ke perangkat keras, dan memungkinkan proses, untuk mendapatkan informasi dari satu sama lain.
 
Berbagai Jenis 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 tiga jenis: monolitik, mikrokernel, 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.

Mikrokernel
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. Microkernels memiliki keuntungan dari portabilitas karena Anda tidak perlu khawatir jika Anda mengganti video card atau bahkan mengganti sistem operasi yang baru, selama sistem operasi itu masih bekerja dengan perangkat keras dengan cara yang sama. Microkernels tidak memerlukan kapasitas yang besar, baik itu untuk memori maupun hardisk. Dan mereka cenderung lebih aman karena hanya proses tertentu yang berjalan dalam user mode dan tidak perlu memiliki izin yang tinggi sebagai dalam supervisor mode.

 

Dalam pendekatan mikrokernel, kernel itu sendiri hanya menyediakan fungsi dasar yang memungkinkan pelaksanaan server

         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


Monolitik Kernel
Monolitik kernel adalah kebalikan dari microkernels karena mereka tidak hanya mencakup CPU, memori, dan IPC, tetapi juga mencakup hal-hal seperti driver device, manajemen file sistem, dan panggilan sistem server. Monolitik kernel 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.



Diagram Monolithic kernels

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

Kernel hibrida 
Hybrid kernel memiliki kemampuan untuk memilih dan memilih apa yang ingin mereka jalankan dalam user mode dan apa yang mereka ingin jalankan dalam mode supervisor. Sering kali hal-hal seperti device driver dan file system I / O akan dijalankan dalam user mode sementara inter-process communication (IPC) dan server panggilan akan disimpan dalam mode supervisor. Ini merupakan pilihan terbaik dari kedua dunia yang berbeda, tetapi kernel ini akan memerlukan lebih banyak pekerjaan dari produsen hardware karena semua tanggung jawab driver diserahkan kepada mereka. Hal ini juga dapat memiliki beberapa masalah antrian yang melekat dengan microkernels. 
Pendekatan kernel hibrida menggabungkan kecepatan dan desain sederhana sebuah kernel monolitik dengan modularitas dan keselamatan pelaksanaan sebuah mikrokernel.
    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)


Linux kernel 3.0.0 booting
Arsitektur Kernel Linux
Karena kernel Linux adalah monolitik, itu artinya ia memiliki kapasitas hardisk dan memory yang terbesar dan kompleksitas yang paling tinggi bila dibandingkan atas jenis kernel lain. Ini adalah fitur desain yang dibuat setelah mendapatkan perdebatan yang ketat di awal penciptaan dari Linux dan itupun masih membawa beberapa kelemahan bawaan dari kernel monolitik.

 

Linux kernel map

Satu hal dari para pengembang kernel Linux lakukan untuk memperbaiki kekurangan ini adalah dengan membuat modul kernel yang dapat dimuat dan dibongkar pada saat linux itu sedang berjalan, yang berarti Anda dapat menambahkan atau menghapus fitur kernel Anda saat itu juga. Bayangkan jika Anda bisa meng-upgrade ke Windows service pack tanpa pernah perlu untuk rebootnya seperti halnya pada Microsoft Windows komputer Anda.

Bagaimana jika Microsoft Windows memiliki semua driver yang tersedia dan sudah terinstall? dan yang Anda perlukan hanyalah mengaktifkan driver yang Anda butuhkan. Itulah esensial dari modul kernel yang bekerja di Linux. Modul kernel, juga dikenal sebagai loadable kernel module (LKM), sangat penting untuk menjaga fungsi kernel dengan semua perangkat keras Anda tanpa memakan semua memori yang tersedia Anda.


The 64-bit kernel of Mac OS X Snow Leopard
Kernel adalah bukan sihir, tapi sesuatu yang benar-benar penting untuk setiap komputer untuk berjalan dengan baik. Kernel Linux berbeda dari Mac OS X dan Windows. Meskipun di bangun dengan konsep yang sama-sama Kernel hibrida, Mac OS X dan Windows adalah dua kernel yang berbeda. Bahkan diantara 2 sistem operasi Windows sekalipun (contoh Windows 98 dan WindowsXp) yang notabene adalah sama-sama buatan dari Microsoft adalah dua keren yang sangat berbeda.


iPod Linux booting Linux

Sedikit Fakta Tentang Kernel
  1. Windows 9x kernel, adalah kernel yang di gunakan untuk Windows 95, 98 and ME
  2. Windows NT kernel, adalah kernel yang di gunakan untuk semua Windows NT systems termasuk Windows 2000, XP, Vista and 7
  3. XNU adalah kernel yang di gunakan untuk Mac OS X operating systems
  4. Kernel Linux terbaru adalah 3.1.5 yang di rilis pada tanggal 9 December 2011.
  5. Kernel Linux awalnya digagas dan diciptakan oleh mahasiswa ilmu komputer asal Finlandia Linus Torvalds pada tahun 1991.
  6. Meskipun awalnya tidak dirancang untuk menjadi portabel, Kernel Linux sekarang salah satu Kernel yang paling banyak berjalan pada beragam jenis perangkat genggam dengan menggunakan beragam jenis prosessor pula.
  7. Google Android menggunakan kernel Linux yang telah di modifikasi. Linus Torvalds mengatakan bahwa "pada akhirnya Android akan kembali ke kernel Linux yang umum, tapi itu semua tidak akan terjadi selama empat atau lima tahun kedepan.
  8. WebOS dari HP, dan Maemo dari Nokia. juga menggunakan kernel Linux yang telah dimodifikasi.
  9. Linux berjalan sebagai kernel sistem operasi utama pada superkomputer IBM Blue Gene. Pada Juni 2011, Kernel Linux digunakan pada 91,2% OS dari sistem yang terdaftar pada TOP500 superkomputer.
  10. Dana yang diperlukan untuk membangun kernel Linux telah menelan biaya sekitar 3 miliar USD (sekitar 2,2 miliar EUR).
  11. Pada September 1991, Linux versi 0.01 dirilis hanya memiliki 10.239 baris kode, sedangkan
    kernel linux modern terbaru adalah 3.1.5 yang di rilis pada tanggal 9 December 2011 memiliki lebih dari 13 juta baris kode.
  12. Kernel Linux ditulis dalam dari bahasa pemrograman C.

    Kernel Linux Timeline


No comments:

Post a Comment

 

Sample text

Sample Text

Total Pageviews