SYSTEM OPERASI
KERNEL
KERNEL
Karnel
adalah salah suatu perangkat lunak yang menjadi bagian utama dalam System
Operasi.
Fungsi Kernel :
·
Melayani berbagai macam program aplikasi untuk
mengakses perangkat keras computer secara aman
·
Mengatur kapan dan berapa lama program suatu program dapat menggunakan satu bagian
perangkat keras tersebut
·
Mengimplementasikan sekumpulan abstraksi
hardware
Karenel dibagi menjadi 4 bagia yang di desain
secara berbeda, yaitu:
1.
Kernel Monolitik:
Mengintegrasikan
banyak fungsi di dalam kernel dan menyediakan lapisan
abstraksi perangkat keras secara
penuh pada perangkat keras yang ada di bawah naungan Sistem Operasi
Kekurangan:
·
Contoh: Bagai 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.
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).
2.
Mikro Kernel:
Menyediakan
sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan
di atasnya, yang biasa disebut dengan server untuk melakukan beberapa fungsionalitas
lainnya.
·
Contoh: Bagai sebuah
abstraksi 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. Seperti
halnya dukungan jaringan,
pada pendekatan microkernel justru diimplementasikan di dalam
ruangan pengguna (user-space), dan disebut dengan server.
Beberapa
sistem operasi yang menggunakan Mikro
Kernel:
·
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.
3.
Kernel hibrida:
Suatu pendekatan
desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam
ruangan kernel untuk meningkatkan performanya.
·
Contoh: Bagai
konsep yang diturunkan dari konsep desain kernel monolitik dan mikrokernel.Lantas menjadi teknologi pertukaran pesan
(message passing) yang digunakan dalam mikrokernel, dan memindahkan
beberapa kode yang seharusnya bukan kode kernel ke dalam ruangan kode kernel.
Beberapa
sistem operasi yang menggunakan Monolithic kernel:
·
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.
4.
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.
·
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.
Ciri-ciri sistem
operasi yang menggunakan Exokernel:
Bentuk sangat
kecil, karena fungsionalitas yang dimilikinya hanya terbatas pada proteksi dan
penggandaan sumber daya.
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
Secara teorinya, sebuah sistem operasi berbasis Exokernel dapat membuat sistem operasi yang berbeda seperti halnya Linux, UNIX, dan Windows dapat berjalan di atas sistem operasi tersebut.
Semoga dapat membantu.
No comments:
Post a Comment