Postingan kali ini akan membahas tentang pengertian kernel, Monolithic kernel, Microkernel, Hybrid kernel dan Exokernel. Tugas tentang kernel ini adalah tugas SOK(Sistem Operasi Komputer) yang diberikan oleh dosen saya di kampus STMIK AKBA MAKASSAR.. Tanpa berbicara panjang lebar nnaahhh, ,!! langsung saja pada pembahasan kita.. :)
PENGERTIAN KERNEl adalah bagian utama dari sistem operasi, me-load ke memori saat boot (yaitu, startup sistem), dan tetap selama seluruh sesi komputer, karena perbaikan diwajibkan terus menerus. Dengan demikian, penting untuk itu untuk sekecil mungkin, sementara masih menyediakan semua layanan penting yang dibutuhkan oleh bagian lain dari sistem operasi dan oleh berbagai program aplikasi.
PENGERTIAN KERNEl adalah bagian utama dari sistem operasi, me-load ke memori saat boot (yaitu, startup sistem), dan tetap selama seluruh sesi komputer, karena perbaikan diwajibkan terus menerus. Dengan demikian, penting untuk itu untuk sekecil mungkin, sementara masih menyediakan semua layanan penting yang dibutuhkan oleh bagian lain dari sistem operasi dan oleh berbagai program aplikasi.
Kernel merupakan sebuah program
yang merupakan inti dari sistem operasi komputer. Ia memiliki kontrol penuh
atas segala sesuatu yang terjadi dalam sistem. Sebuah kernel dapat dibandingkan
dengan shell (seperti bash, csh atau ksh dalam sistem operasi mirip Unix), yang
merupakan bagian terluar dari sistem operasi dan program yang berinteraksi
dengan perintah pengguna.
v JENIS –JENIS KERNEL
Kernel
dibagi menjadi 4 kategori yaitu monolithic, microkernel, hybrid kernel, dan
exokernel. Setiap kategori tersebut memiliki perbedaan disain, sehingga
masing-masing memiliki kelebihan dan kekurangan dalam pengimplementasiannya.
1. MONOLITHIC KERNEL
Pendekatan
monolithic kernel 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.
Monolithic
kernel mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan
abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di
bawah sistem operasi.
Di bawah
ini ada beberapa sistem operasi yang menggunakan Monolithic kernel:
- Kernel sistem operasi UNIX tradisional, seperti halnya kernel dari sistem operas 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).
2. MICROKERNEL
Pendekatan Microkernel berisi sebuah abstraksi yang
sederhana terhadap
hardware, dengan sekumpulan
primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat
berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address
space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya
disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan
microkernel justru diimplementasikan di dalam ruangan pengguna (user-space),
dan disebut dengan server.
Server adalah
sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem
operasi agar dapat dimodifikasi hanya dengan menjalankan program atau
menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa dukungan
jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai
komputer pusat pengatur jaringan) tidak perlu dijalankan.
Dalam teorinya, sistem operasi yang menggunakan
microkernel disebut jauh lebih stabil dibandingkan dengan monolithic kernel,
karena sebuah server yang gagal bekerja, tidak akan menyebabkan kernel menjadi
tidak dapat berjalan, dan server tersebut akan dihentikan oleh kernel utama.
Akan tetapi, dalam prakteknya, bagian dari system state dapat hilang oleh
server yang gagal bekerja tersebut, dan biasanya untuk melakukan proses
eksekusi aplikasi pun menjadi sulit, atau bahkan untuk menjalankan
server-server lainnya
Sistem operasi yang menggunakan microkernel umumnya
secara dramatis memiliki kinerja di bawah kinerja sistem operasi yang
menggunakan monolithic kernel. Hal ini disebabkan oleh adanya overhead yang
terjadi akibat proses input/output dalam kernel yang ditujukan untuk mengganti
konteks (context switch) untuk memindahkan data antara aplikasi dan 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, OPENSTE Mac OS/X
- Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan edukas
- Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone, handheld device embedded device, dan PDA Phone.
3.
HYBRID
KERNEL
\ Hybrid kernel aslinya adalah
microkernel yang memiliki kode yang tidak menunjukkan
bahwa kernel tersebut adalah microkernel 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 microkernel: kinerja.
Beberapa
orang banyak yang bingung dalam membedakan antara Hybrid kernel dan monolithic
kernel yang dapat memuat modul kernel setelah proses booting, dan cenderung
menyamakannya. Antara hybrid kernel dan monolithic kernel jelas berbeda. Hybrid
kernel berarti bahwa konsep yang digunakannya diturunkan dari konsep desain
monolithic kernel dan microkernel. Hybrid kernel juga memiliki secara spesifik
memiliki teknologi pertukaran pesan (message passing) yang digunakan dalam
microkernel, dan juga dapat memindahkan beberapa kode yang seharusnya bukan
kode kernel ke dalam ruangan kode kernel karena alasan kinerja.
Di bawah ini adalah beberapa sistem operasi yang
menggunakan Hybrid kernels:
- 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).
4.EXOKERNEL
Sebenarnya, Exokernel bukanlah
pendekatan kernel sistem operasi yang umum—seperti halnya microkernel atau
monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yang
disusun secara vertikal.
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.
Kernel-kernel klasik yang populer
seperti halnya monolithic dan microkernel melakukan abstraksi terhadap hardware
dengan menyembunyikan semua sumber daya yang berada di bawah hardware
abstraction layer atau di balik driver untuk hardware. Sebagai contoh, jika
sistem operasi klasik yang berbasis kedua kernel telah mengalokasikan sebuah
lokasi memori untuk sebuah hardware tertentu, maka hardware lainnya tidak akan
dapat menggunakan lokasi memori tersebut kembali.
Exokernel mengizinkan akses terhadap
hardware secara langsung pada tingkat yang rendah: aplikasi dan abstraksi dapat
melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat
physical memory dan blok di dalam hard disk. Tugas kernel hanya memastikan
bahwa sumber daya yang diminta itu sedang berada dalam keadaan kosong.belum
digunakan oleh yang lainnya dan tentu saja mengizinkan aplikasi untuk mengakses
sumber daya tersebut. Akses hardware pada tingkat rendah ini mengizinkan para
programmer untuk mengimplementasikan sebuah abstraksi yang dikhususkan untuk
sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang tidak perlu
dari kernel agar membuat kernel lebih kecil, dan tentu saja meningkatkan
performa.
Exokernel
biasanya menggunakan library yang disebut dengan libOS untuk melakukan
abstraksi. libOS memungkinkan para pembuat aplikasi untuk menulis abstraksi
yang berada pada level yang lebih tinggi, seperti halnya abstraksi yang dilakukan
pada sistem operasi tradisional, dengan menggunakan cara-cara yang lebih
fleksibel, karena aplikasi mungkin memiliki abstraksinya masing-masing. Secara
teori, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi
yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas
sistem operasi tersebut.
Terima Kasih sudah berkunjung
BalasHapus