Posted by : Unknown
Friday, 13 February 2015
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. Hal tersebut dinamakan sebagai multiplexing.
Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung diload dan dijalankan di atas mesin 'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita ingin berpindah dari satu program ke program lain, kita harus mereset dan meload kembali program-program tersebut.
Desain kernel
Sebuah kernel sistem operasi tidak bisa di contoh dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware 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.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang secara desain berbeda, sebagai berikut:
- Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
- Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
- Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
- 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.
3 Jenis Kelompok Kernel
- Mikrokernel
yakni : CPU, Memori, dan Inter Process Communication (IPC), Sedangkan yang lainnya hanya dilihat sebagai aksesoris dan diserahkan pada user mode
Di bawah ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
- Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operasi UNIX keluarga BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).
- Kernel sistem operasi GNU/Linux, Linux.
- Kernel sistem operasi Windows (versi 1.x hingga 4.x; kecuali Windows NT).
Kekurangannya :
- Hardware harus bekerja melalui driver
- Hardware mungkin bereaksi lebih lambat karena driver dalam user mode
- Proses harus menunngu dalam antrian untuk mendapatkan informasi
Kelebihannya :
- Portabilitas = Kemampan sebuah program untuk berjalan pada lebih dari satu jenis sistem komputer tanpa modifikasi
- Kapasitas Hardisk yang kecil
- Kapasitas Memori yang kecil
- Keamanan
2. Monolitik Kernel
Adalah kebalikan dari mikrokernel karena mereka tidak hanya mencakup CPU, Memori, dan ICP, tetapi mencakup hal-hal seperti driver device, manajemen file sistem, dan panggilan sistem server.
Beberapa sistem operasi yang menggunakan microkernel:
- IBM AIX, sebuah versi UNIX dari IBM
- Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
- Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, dan Mac OS/X
- Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukasi
- Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device, embedded device, dan PDA Phone.
Kekurangannya :
- Kapasitas Hardisk yang besar
- Kapasitas Memori yang lebih besar
- Kurang aman karena semuanya berjalan dalam mode supervisor/pengamat.
Kelebihannya :
- Karena program dapat lebih langsung mengakses ke perangkat keras.
- Lebih mudah bagi pemrosesan untuk berkomunikasi satu sama lain.
- Dan proses lebih cepat karena tidak ada antrian untuk waktu Prosesor.
3. Kernel Hibrida
Memiliki kemampuan untuk memilih dan memeilih apa yang ingin mereka jalankan, dalam user mode dan apa yang mereka jalankan dalam mode supervisor.
Di bawah ini adalah beberapa sistem operasi yang menggunakan kernel hibrida:
- BeOS, sebuah sistem operasi yang memiliki kinerja tinggi untuk aplikasi multimedia.
- Novell NetWare, sebuah sistem operasi yang pernah populer sebagai sistem operasi jaringan berbasis IBM PC dan kompatibelnya.
- Microsoft Windows NT (dan semua keturunannya).
Kekurangannya :
- Bisa menderita proses antrian yang sama seperti Mikrokernel
- Device Driver harus dikelola oleh pengguna.
Kelebihannya :
- Kapasitas hardisk yang sedang
- Kapasitas memori yang sedang
- Lebih flexible dibandingkan mode lain .
Referensi:
Wikipedia
Related Posts :
- Back to Home »
- ilmu komputer , informasi »
- Pengertian Dan Jenis Kernel.