Mungkin ada yang bertanya apa perbedaan antara Windows dan
Linux? Atau ada juga yang bertanya apa bedanya Linux dan Unix? Atau
juga yang bertanya kenapa Apple menuduh Google, bahwa OS Android
mejiplak iOS dari iPhone. Padahal kalau di lihat sekilas sama saja. Iya
kesemuanya itu adalah Sistem Operasi, tetapi apa yang membedakannya.
Google menolak tuduhan dari Apple persoal penjiplakan dari Android,
karena Google mengatakan Android menggunakan sistem kernel yang mereka
tulis sendiri dan tidak menjiplak atau menggunakan Kernel dari OS dari
Apple.
Dan persoalan dari sistem kernel inilah yang membedakan secara dasar
dari semua sistem Operasi. Lalu apa kernel itu? Seberapa penting fungsi kernel itu?
Kernel itu apa? Kernel adalah suatu perangkat lunak yang menjadi
bagian utama dari sebuah sistem operasi. Tugasnya melayani berbagai
macam progra aplikasi untuk mengakses perangkat keras komputer secara
aman.
Selain itu, fungsi kernel juga untuk me-manage atau mengatur kapan dan berapa lama sebuah program dapat enggunakan satu bagian perangkat keras.
Kernel di bagi ke dalam 4 bagian yang secara desain berbeda
-
Kernel Monolitik, Kernel monolotik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi Hardware secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
-
Mikrokernel, Mikrokernel menyediakan sedikit saja dari abstraksi
perngakat keras dan menggunakan aplikasi yang berjalan di atasnya untuk
melakukan beberapa fungsionalitas lainnya.
-
Kernel hibrida, kernel hibrida adalah pendekatan desain microkernel
yang di modifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode
di dalam ruangan kernel untuk meningkatkan performanya.
-
Kernel Hybrida, kernel hybrida 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 pendeketana desain exokernel, library yang dimiliki oleh sistem
operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang
dilakukan dalam desan monolithic kernel.
Di dalam kernel
-
Process Management, bagian ini kernel mengatur dari proses antara aplikasi dan hardware. Kapan mereka akan keluar masuk untuk melakukan proses.
-
Memory management, kernel akan mengatur proses penggunaan memori
oleh aplikasi. Kadi kernel akan mengatur kapan aplikasi akan menggunakan
memori, dan akan menggunakan addressing mana yang akan di pakai.
-
Device management, kernel juga akan berfungsi untuk menjadi jembatan
penggunaan dari hardware yang berada dalam sistem. Dengan begini
hardware bisa dikenali dan digunakan oleh aplikasi dan sistem operasi.
-
Systems call, pada bagian ini kernel mengatur antara hubungan dari aplikasi dan sistem operasi.
Pembagian kernel ini menjadi perdebatan panjang antara tanenbaum dan
torvald, yang keduannya merupakan arsitek dari sistem operasi. Jika
linus torvald, menjadi arstitek dari kelahiran dari Linux dan Tanenbaum
menjadi arsitek dari sistem operasi MINIX.
Monolitik
Di dalam sistem monolitik diartikan sebagai sebuah antarmuka virtual
yang berada pada tingkat tinggi di atas perangkat keras. Monolitik ini
dilengkapi dengan sekumpulan primitif atau system call
untuk mengimplementasikan layanan - layanan sistem operas, seperti
halnya manajemen proses, konkurensi, dan manajemen memori pada modul -
modul kernel yang berjalan di dalam mode supervisor.
Mikrokernel
Mikrokernel menggunakan pendekatan berbeda dalam desainnya, karena
itu mikrokernel berisi sebuah abstraksi yang sederhana terhadap
hardware, dengan sekumpulan primitif, atau system call yang dpat
dgunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan
layanan - layanan seperti manajemen thread, komunikasi antar address
space, dan komunikasi antar proses. Layanan yang biasanya disediakan
oleh kernel, seperti halnya dukungan jaringan, pada pendekatan
microkernel justru di implementasikan di ruangan pengguna atau server.
Contohnya Minix buatan Andrew taneunbaum, dan QNX yang menjadi fondaasi
dari BlackBerry 10.
Perbedaan keduanya inilah yang menjadi peredebatana panjang antara
linus torvald dan Andrew tanenbaum. Keduanya memiliki pendapat yang
berbeda mengenai sebuah sistem antara MINIX dan LINUX. Meskipun
perdebatan ini sudah dibicarakan 20 tahun lalu, dan sudah mulai di
lupakan, tetapi esensi mengenai pembicaraan keduanya masih menjadi
sebuah bahan pelajaran. Karena di dalam perdebatan keduanya kita
mengenal sistem Monolitik yang digunakan oleh Linux dan sistem
mikrokernel yang digunakan MINIX, dan mengenai perbedaan keduanya.
0 komentar:
Posting Komentar