Tempat Berbagi Ilmu dan Pengalaman Khusus Untuk Kalian Temukan Beragam Hal Menarik & Asyik, HANYA disini !!

Sabtu, 23 April 2011

Cara Kerja Kernel Dalam Pengaplikasiannya


A. Pengertian kernel
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. Hal tersebut dinamakan sebagai multiplexing.
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalahCMOS setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atauhardware abstraction. Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian dari diterapkannya metode ini adalah pengguna harus melakukan reset ulang komputer tersebut dan memuatkan program lainnya untuk berpindah program, dari satu program ke program lainnya. Selanjutnya, para pembuat program tersebut membuat beberapa komponen program yang sengaja ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read Only Memory). Seiring dengan perkembangan zaman komputer yang mengalami akselerasi yang signifikan, metode ini selanjutnya membentuk apa yang disebut dengan kernel sistem operasi.
B. Format kernel
Kernel sebagai jantungnya sistem operasi menyediakan format yang sesuai dengan kebutuhan anda. Sebelum kita memilih kernel sebaiknya kita dapat menentukan terlebih dahulu, kira-kira format kernel yang bagaimana yang sesuai dengan kebutuhan yang diinginkan. Sistem kernel ada berupa Modular dan Monolitik ,sebagai contoh jika sering gonta-ganti hardware, sistem kernel yang modular akan lebih cocok daripada sistem kernel yang builtin (monolitik). Kedua system ini mempunyai keuntungan dan kelebihan masing-masing,
B.1 Kernel Modular Seperti pada kernel Linux mempunyai rancangan modular. Pada saat boot time, hanya minimal resident kernel yang di-load ke dalam memori. Ini di karenakan hanya modul-modul yang dibutuhkan saja serta di inginkan user yang akan diproses, sebuah modul kernel dapat secara dinamik di-load ke dalam memori. Kemudian secara periode spesifik modul tidak ingin di aktifkan maka modul dapat di hapus dari memori. Mekanisme dynamic loading ini dinamakan kmod. Dengan kata lain modul tidak akan di-load apabila tidak diinginkan dan modul akan di gunakan apabila di butuhkan. Salah satu keuntungan kernel yang bersifat modular, gonta-ganti hardware menjadi lebih mudah, karena tinggal menge-probe suatu modul, atau jika belum ada hanya tinggal mem-build satu modul saja. Kerugiannya adalah relatif rentan terhadapat masalah security, karena biasanya script kiddies memasukkan suatu modul ke dalam kernel (dengan harapan proses yang dimilikinya tidak diketahui oleh admin sistem yang bersangkutan)
B.2 Kernel buildin(Monolitik) Dengan Kernel monolitik lebih baik dari segi security, sebuah kernel builtin (monolitik) akan relatif aman. Namun dari segi kemudahan, jika kita menambah atau mengganti suatu hardware, maka otomatis harus mengkompilasi ulang kernel .Namun demikian, skema kernel bagaimana yang lebih sesuai, itu bisa diklarifikasi sesuai kebutuhan dan implementasi sistem yang digunakan. Jika kernel monolitik ingin di jadikan modular, itu bisa dilakukan oleh dari kernel monolitik, dengan cara setelah konfigurasi ditetapkan dalam kernel monolitik dan di kompilasi maka dapat di ambil, bagian-bagian mana saja yang akan dipisahkan untuk dijadikan modul-modul.
C. Kompilasi modul kernel
Apabila kita akan menambahkan suatu modul ke dalam kernel maka kita dapat melakukan kompilasi ulang kernel. Modul merupakan bagian dari kode kernel yang tidak secara langsung dimasukan kedalam kernel. Modul dapat di masukan atau dihilangkan kedalam kernel yang sedang berjalan kapanpun diperlukan. Modul biasanya digunakan untuk mendukung pekerjaan yg tidak di gunakan terus-menerus. misal, jika kita tidak membutuhkan dukungan networking sepanjang waktu, seperti ppp,maka lebih baik ppp dijadikan sebagai modul. ketika kita memerlukannya (untuk koneksi ke isp) modul kita panggil dan setelah selesai koneksi modul dapat kita matikan. penerapan modul seperti ini akan mengurangi jumlah memori yang di butuhkan kernel sehingga mempercepat operasi. 3.1 Konfigurasi Kernel Ada 3 command yang dapat digunakan untuk mengkonfigurasi kernel
  1. config (text-based)
  2. menuconfig (text-based menu)
  3. xconfig (under X )
Diantara ketiga cara tersebut, yang biasa dipakai adalah “menuconfig“. karena memiliki tampilan yang lebih menarik dan lebih fleksibel dalam konfigurasi daripada cara pertama (config). Untuk memilih modul dalam menuconfig di tunjukan dengan tanda (dengan menekan tombol m pada keyboard), jika <> menandakan modul ini tidak digunakan. tanda < *> atau [*] (dengan menekan tombol y) digunakan untuk menyertakannya secara langsung kedalam kernel. Selama melakukan konfigurasi perubahan dapat dilakukan dengan ditandakan atau diberi tanda [*]. Apabila ada hal-hal tertentu yang memang benar-benar tidak dibutuhkan oleh konfigurasi komputer yang akan dipakai, tanda bintangnya di hapus (biar tidak terbawa disaat kompilasi berlangsung). Atau dapat melakukan penambahan penandaan sesuai kebutuhan, misal [*] untuk menggunakan modul, penandaan untuk kebutuhan networking dengan < *>.
Dalam gambar 1 garis yang menghubungkan berbagai komponen dengan kernel ( dengan peralatan peragkat keras ) mengindikasikan bahwa setiap komponen secara lansung berinteraksi. Seperti contoh TCP/IP stack mengirim paket jaringan melalui code path TCP atau UDP , tetapi kedua tipe paket ini ini pada akhirnya di handel oleh IP layer. Dalam gambar, “VFS” berada pada Virtual Filesystem layer, yang secara ringkas serta detail ada pada tipe filesystem (seperti sebagai ext2fs dan ISO-9660, seperti yang di tampilkan) dari aplikasi user. Ini maksudnya adalah bahwa aplikasi ini butuh tidak mengetahui apa tipe filesystem yang di akses bila sebuah file dibuka, dibaca, ditulis dan seterusnya. Sedangkan “IPC” merupakan Interprocess Communication dan termasuk bermacam-macam mekanisme proses untuk “berkomunikasiâ€? satu sama lainnya dalam aktivitasnya. Komponen yang berlabel “SMP” adalah shared-memory multiprocessing yang mendukung Linux-kernel,yang digunakan sistem multiple CPUs.

0 komentar:

:10 :11 :12 :13
:14 :15 :16 :17
:18 :19 :20 :21
:22 :23 :24 :25
:26 :27 :28 :29
:30 :31 :32 :33
:34 :35 :36 :37
:38 :39 :40 :41
:42 :43 :44 :45

Posting Komentar