Sunday, December 2, 2018

TERNYATA INILAH PENGERTIAN DARI KERNEL DAN BEBERAPA DESAIN KERNEL

Pengertian dan Desain kernel


Kernel adalah program personal komputer  yang menjadi inti berdasarkan sebuah sistem operasi komputer, dengan kontrol terhadap segala hal atas sistem tersebut. Pada kebanyakan sistem, kernel adalah salah satu dari program atau main program yang dijalankan dalam urutan pertama waktu personal komputer  dinyalakan. Kernel menangani fungsi-fungsi selanjutnya atas proses penyiapan komputer menurut sejak komputer dinyalakan seperti menangani layanan input/hasil berdasarkan program lain, menerjemahkanya ke dalam instruksi-instruksi untuk dihukum oleh prosesor. Kernel jua menangani perangkat kerja lain seperti memori, papan ketik, tetikus, monitor, printer, speaker, serta perangkat-perangkat lainnya.

Karena akses terhadap perangkat keras terbatas, sedangkan terdapat lebih menurut satu acara yang harus dilayani dalam saat yg bersamaan, maka kernel juga bertugas untuk mengatur kapan & berapa lama   suatu program dapat memakai satu bagian perangkat keras tadi. Hal tadi dinamakan menjadi multiplexing. Akses kepada perangkat keras secara pribadi merupakan masalah yang kompleks, oleh karenanya kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, & memungkinkan akses pada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi dalam akhirnya memudahkan pekerjaan programer.

Pada dasarnya, buat menjalankan sebuah personal komputer  tidak harus memakai kernel sistem operasi. Sebuah program bisa saja langsung dijalankan sang personal komputer , yaitu saat sebuah program komputer akan dipakai tanpa donasi abstraksi perangkat keras atau donasi sistem operasi. Teknik ini umumnya digunakan oleh komputer-komputer generasi awal, sehingga apabila ingin berpindah dari satu program ke program lain, pengguna harus mereset & menjalankan pulang program-acara tadi.

Beberapa desain kernel

Sebuah kernel sistem operasi nir bisa pada contoh & diperlukan buat menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (misalnya adalah CMOS Setup) sebagai akibatnya para produsen acara tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction. Cara kerja misalnya ini, merupakan cara kerja yg digunakan pada zaman awal-awal dikembangkannya personal komputer  (pada kurang lebih tahun 1950). Kerugian menurut diterapkannya metode ini adalah pengguna wajib  melakukan reset ulang komputer tersebut dan memuatkan program lainnya buat berpindah acara, menurut satu program ke program lainnya. Selanjutnya, para pembuat acara tersebut menciptakan beberapa komponen acara yg sengaja ditinggalkan di dalam personal komputer , seperti halnya loader atau debugger, atau dimuat dari pada ROM (Read-Only Memory). Seiring dengan perkembangan zaman komputer yg mengalami percepatan yang signifikan, metode ini selanjutnya membangun apa yg diklaim menggunakan kernel sistem operasi.

Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem operasi yg pada akhirnya terbagi sebagai empat bagian yg secara desain tidak selaras, menjadi berikut:

1.Kernel monolitik. Kernel monolitik mengintegrasikan banyak fungsi pada kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada pada bawah sistem operasi.

2.Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan memakai aplikasi yg berjalan pada atasnya yg diklaim menggunakan server untuk melakukan beberapa fungsionalitas lainnya.

3.Kernel hibrida. Kernel hibrida merupakan pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, masih ada beberapa tambahan kode di dalam ruangan kernel buat menaikkan performanya.

4.Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sebagai akibatnya acara bisa mengakses hardware secara eksklusif. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang seperti menggunakan abstraksi yg dilakukan dalam desain monolithic kernel.

Pengertian Tentang beberapa desain kernel

1.Kernel monolitik

Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka impian yang berada pada tingkat tinggi pada atas perangkat keras, dengan sekumpulan primitif atau system call buat mengimplementasikan layanan-layanan sistem operasi, misalnya halnya manajemen proses, sengketa (concurrency), & manajemen memori pada modul-modul kernel yang berjalan di pada mode supervisor.

Meskipun bila setiap modul memiliki layanan operasi-operasi tadi terpisah dari modul primer, integrasi kode yg terjadi di pada monolithic kernel sangatlah bertenaga, dan lantaran semua modul berjalan pada dalam address space yang sama, sebuah bug pada salah  satu modul bisa Mengganggu keseluruhan sistem. Akan tetapi, waktu implementasi dilakukan dengan sahih, integrasi komponen internal yang sangat kuat tadi justru akan mengizinkan fitur-fitur yg dimiliki oleh sistem yg berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi menggunakan monolithic kernel sangatlah efisien—meskipun sangat sulit pada pembuatannya.

Pada sistem operasi terbaru yg menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft Windows, dapat memuat modul-modul yg dapat dihukum dalam ketika kernel tadi dijalankan sebagai akibatnya mengizinkan perluasan terhadap kemampuan kernel sesuai kebutuhan, & tentu saja dapat membantu menjaga agar kode yg berjalan pada pada ruangan kernel (kernel-space) seminim mungkin.

Di bawah ini terdapat beberapa sistem operasi yang menggunakan Monolithic kernel:

1.Kernel sistem operasi UNIX tradisional, seperti halnya kernel menurut sistem operasi UNIX famili BSD (NetBSD, BSD/I, FreeBSD, dan lainnya).

2.Kernel sistem operasi GNU/Linux, Linux.

3.Kernel operating system Windows (versi 1.X hingga 4.X; kecuali Windows NT).

2.Mikrokernel 

Pendekatan mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yg bisa dipakai buat menciptakan sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan misalnya manajemen thread, komunikasi antar address space, & komunikasi antar proses. Layanan-layanan lainnya, yg umumnya disediakan oleh kernel, misalnya halnya dukungan jaringan, dalam pendekatan microkernel justru diimplementasikan pada dalam ruangan pengguna (user-space), dan disebut menggunakan server.

Server atau dianggap menjadi peladen merupakan sebuah program, seperti halnya program lainnya. Server bisa mengizinkan sistem operasi supaya dapat dimodifikasi hanya menggunakan menjalankan program atau menghentikannya. Sebagai model, buat sebuah mesin yg mini   tanpa dukungan jaringan, server jaringan (kata server pada sini nir dimaksudkan sebagai personal komputer  sentra pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan pengguna harus melakukan rekompilasi terhadap kernel, yg tentu saja sulit buat dilakukan oleh pengguna biasa yg umum .

Dalam teorinya, sistem operasi yg memakai microkernel disebut jauh lebih stabil dibandingkan menggunakan monolithic kernel, karena sebuah server yg gagal bekerja, tidak akan menyebabkan kernel sebagai tidak bisa berjalan, dan server tersebut akan tidak boleh sang kernel primer. Akan namun, pada praktiknya, bagian dari system state bisa hilang sang server yg gagal bekerja tadi, & umumnya buat melakukan proses hukuman pelaksanaan pun sebagai sulit, atau bahkan untuk menjalankan server-server lainnya.

Sistem operasi yang memakai microkernel umumnya secara dramatis mempunyai kinerja pada bawah kinerja sistem operasi yang memakai monolithic kernel. Hal ini ditimbulkan sang adanya overhead yg terjadi akibat proses input/output pada kernel yang ditujukan buat mengubah konteks (context switch) buat memindahkan data antara aplikasi & server.

Beberapa sistem operasi yang memakai microkernel:

1.IBM AIX, sebuah versi UNIX berdasarkan IBM

2.Amoeba, sebuah kernel yg dikembangkan buat tujuan edukasi

3.Kernel Mach, yang digunakan pada dalam sistem operasi GNU/Hurd, NexTSTEP, OPENSTEP, & Mac OS/X

4.Minix, kernel yang dikembangkan sang Andrew Tanenbaum buat tujuan edukasi

5.Symbian OS, sebuah sistem operasi yg populer dipakai pada hand phone, handheld device, embedded device, dan PDA Phone.

3.Kernel Hibrida

Kernel hibrida aslinya adalah mikrokernel yang mempunyai kode yang nir menerangkan bahwa kernel tadi adalah mikrokernel pada dalam ruangan kernel-nya. Kode-kode tersebut ditaruh di dalam ruangan kernel agar dapat dihukum lebih cepat dibandingkan apabila ditaruh di dalam ruangan user. Hal ini dilakukan oleh para arsitek sistem operasi menjadi solusi awal terhadap masalah yang terjadi di pada mikrokernel: kinerja.

Beberapa orang poly yg resah dalam membedakan antara kernel bibit unggul  & kernel monolitik yg dapat memuat modul kernel sesudah proses booting, dan cenderung menyamakannya. Antara kernel hibrida dan kernel monolitik kentara tidak sinkron. Kernel hibrida berarti bahwa konsep yang digunakannya diturunkan berdasarkan konsep desain kernel monolitik dan mikrokernel. Kernel hibrida pula mempunyai secara khusus mempunyai teknologi pertukaran pesan (message passing) yg dipakai dalam mikrokernel, dan jua dapat memindahkan beberapa kode yg seharusnya bukan kode kernel ke pada ruangan kode kernel karena alasan kinerja.

Di bawah ini merupakan beberapa sistem operasi yang memakai kernel hibrida:

1.BeOS, sebuah sistem operasi yg mempunyai kinerja tinggi buat aplikasi multimedia.

2.Novell NetWare, sebuah sistem operasi yg pernah terkenal menjadi sistem operasi jaringan berbasis IBM PC & kompatibelnya.

3.Microsoft Windows NT (& seluruh keturunannya).

4.Android

4.Exokernel

Sebenarnya, Exokernel bukanlah pendekatan kernel sistem operasi yang generi seperti halnya microkernel atau monolithic kernel yang populer, melainkan sebuah struktur sistem operasi yg disusun secara vertikal.

Ide di balik  exokernel merupakan buat memaksa abstraksi yang dilakukan oleh developer sesedikit mungkin, sebagai akibatnya menciptakan mereka bisa mempunyai poly keputusan mengenai abstraksi hardware. Exokernel umumnya berbentuk sangat mini  , karena fungsionalitas yang dimilikinya hanya terbatas dalam proteksi & penggandaan asal daya.

Kernel-kernel klasik yg terkenal misalnya halnya monolithic dan microkernel melakukan abstraksi terhadap hardware menggunakan menyembunyikan semua sumber daya yg berada di bawah hardware abstraction layer atau di pulang driver buat hardware. Sebagai model, apabila sistem operasi klasik yg berbasis ke 2 kernel telah mengalokasikan sebuah lokasi memori buat sebuah hardware eksklusif, maka hardware lainnya nir akan bisa memakai lokasi memori tadi kembali.

Exokernel mengizinkan akses terhadap hardware secara langsung pada taraf yg rendah: pelaksanaan dan abstraksi bisa melakukan request sebuah alamat memori spesifik baik itu berupa lokasi alamat physical memory & blok pada pada hard disk. Tugas kernel hanya memastikan bahwa asal daya yg diminta itu sedang berada dalam keadaan kosong—belum dipakai oleh yg lainnya—dan tentu saja mengizinkan pelaksanaan buat mengakses sumber daya tadi. Akses hardware dalam tingkat rendah ini mengizinkan para programmer buat mengimplementasikan sebuah abstraksi yg dikhususkan buat sebuah aplikasi tertentu, dan tentu saja mengeluarkan sesuatu yang nir perlu berdasarkan kernel agar membuat kernel lebih mini  , dan tentu saja menaikkan performa.

Exokernel umumnya memakai library yang dianggap dengan libOS buat melakukan abstraksi. LibOS memungkinkan para produsen pelaksanaan untuk menulis abstraksi yg berada pada level yang lebih tinggi, misalnya halnya abstraksi yg dilakukan dalam sistem operasi tradisional, menggunakan menggunakan cara-cara yang lebih fleksibel, lantaran aplikasi mungkin mempunyai abstraksinya masing-masing. Secara teori, sebuah sistem operasi berbasis Exokernel bisa menciptakan sistem operasi yg tidak sinkron seperti halnya Linux, UNIX, dan Windows bisa berjalan pada atas sistem operasi tersebut.

Silahkan Berkomentar Sesuai dengan Topik Artikelnya
EmoticonEmoticon