Saturday, December 1, 2012

Jantung Android


Linux, mungkin hampir tidak ada pengguna komputer di dunia ini yang tidak mengenal kata 'Linux'. Tepat sekali, android menggunakan kernel linux sebagai jantungnya. Linux memang dikenal karena kestabilan dan kompatitibilitasnya terhadap berbagai macam hardware, tidak terkecuali perangkat mobile dan smartphone.


Kernel Linux dibuat oleh Linus Benedict Torvalds, seorang Mahasiswa sebuah Universitas Helsinki, Finlandia. Dibuat dengan dasar hobi, Linus mempublikasikan source code kernel buatannya di sebuah milis pada tahun 1991, dari hobi itulah akhirnya Linux dikenal sampai saat ini. Kernel linux ditulis dengan bahasa C. Source codenya bisa di download secara bebas di website kernel.org.


Dalam ilmu komputer, kernel adalah sebuah perangkat lunak yang menjadi bagian inti dari sistem operasi. Kernel ini bertugas untuk menangani request dari berbagai perangkat lunak yang berjalan di atasnya untuk mengakses perangkat keras dengan aman. Jadi pada dasarnya, kernel adalah perangkat lunak yang menjembatani perangkat lunak termasuk sistem operasi itu sendiri dengan perangkat keras.

Ada beberapa jenis kernel, yaitu :

  1. Monolithic Kernel
    Kernel jenis ini menyatukan segala sesuatu dalam prosesnya (driver, manajemen prosesor, dan lain-lain) dalam sebuah file. Kernel ini mengintegrasikan banyak fungsi di dalam kernel itu sendiri serta mempunyai kemampuan abstraksi perangkat keras.
    Contohnya adalah kernel Linux dan kernel UNIX.
  2. MicroKernel
    MicroKernel menyediakan sedikit abstraksi perangkat keras. Contohnya adalah kernel MINIX.
  3. Hybrid KernelHybrid Kernel hampir mirip seperti MicroKernel, namun dimodifikasi pada bagian kernel-space nya. Membuat kernel ini berperforma cukup cepat. Contoh yang menggunakan kernel jenis ini adalah Microsoft Windows.
  4. Exokernel
    from Wikipedia, under GNU v1.2 License,
    http://id.wikipedia.org/wiki/Berkas:Jenis-jenis-kernel.png
    Ide di balik exokernel adalah untuk memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sehingga membuat mereka dapat memiliki banyak keputusan tentang abstraksi hardware. Exokernel biasanya berbentuk sangat kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan penggandaan sumber daya. <wikipedia>
Kernel Linux adalah kernel jenis monolitik, jadi di post ini akan saya jelaskan sedikit tentang kernel monolitik :)

Kernel monolitik memiliki segala macam jenis driver untuk mengakses perangkat keras di dalamnya (mono = satu, litik = seperti bangunan), membuat integrasinya dengan perangkat keras sangat tinggi.

Dalam sistem operasi berbasis Linux, kernel ini biasanya ter-mount di mount-point /boot ,  bersama dengan sebuah ramdisk. ramdisk adalah sebuah file arsip terkompresi (biasanya menggunakan gzip, lzma, atau lzo) yang berisi script untuk menginisialisasi sistem secara penuh. Ketika komputer pertama kali dinyalakan, bootloader diatur untuk mengeksekusi file kernel dan ramdisk tersebut untuk menyalakan sistemnya. Hal ini juga terjadi di android, namun secara default kernel dan ramdisk tidak di mount ketika sistem sedang menyala.

demikian sedikit tentang kernel linux dan implementasinya di android :)

<eof>
Alfiyan

0 komentar:

Post a Comment