Kernel Dalam Sistem Operasi Komputer

Kernel Dalam Sistem Operasi Komputer

Kernel Dalam Sistem Operasi Komputer – Kernel adalah program komputer yang merupakan jantung dan inti dari Sistem Operasi. Karena Sistem Operasi memiliki kendali atas sistem, Kernel juga memiliki kendali atas semua yang ada dalam sistem. Ini adalah bagian terpenting dari Sistem Operasi.

Setiap kali sistem dimulai, Kernel adalah program pertama yang dimuat setelah bootloader karena Kernel harus menangani sisa dari hal sistem untuk Sistem Operasi. Kernel tetap berada dalam memori sampai Sistem Operasi dimatikan. www.mustangcontracting.com

Kernel bertanggung jawab untuk tugas-tugas tingkat rendah seperti manajemen disk, manajemen memori, manajemen tugas, dll. Ini menyediakan antarmuka antara pengguna dan komponen perangkat keras sistem. Ketika suatu proses membuat permintaan ke Kernel, maka itu disebut System Call. bet88

Kernel dilengkapi dengan Ruang Kernel terlindungi yang merupakan area memori terpisah dan area ini tidak dapat diakses oleh program aplikasi lain. Jadi, kode Kernel dimuat ke dalam Ruang Kernel yang dilindungi ini. Terlepas dari ini, memori yang digunakan oleh aplikasi lain disebut Ruang Pengguna. Karena ini adalah dua ruang yang berbeda dalam memori, jadi komunikasi di antara mereka sedikit lebih lambat.

Kernel Dalam Sistem Operasi Komputer

Fungsi Kernel

Berikut ini adalah fungsi dari Kernel:

Akses sumber daya Komputer: Kernel dapat mengakses berbagai sumber daya komputer seperti CPU, perangkat I / O dan sumber daya lainnya. Karena berfungsi sebagai jembatan antara pengguna dan sumber daya sistem.

  • Manajemen Sumber Daya: Merupakan tugas Kernel untuk berbagi sumber daya antara berbagai proses sedemikian rupa sehingga ada akses yang seragam ke sumber daya oleh setiap proses.
  • Manajemen Memori: Setiap proses membutuhkan ruang memori. Jadi, memori harus dialokasikan dan dialokasikan untuk pelaksanaannya. Semua manajemen memori ini dilakukan oleh Kernel.
  • Manajemen Perangkat: Perangkat periferal yang terhubung dalam sistem digunakan oleh proses. Jadi, alokasi perangkat ini dikelola oleh Kernel. Kernel mengontrol aktivitas perangkat periferal melalui driver perangkat. Driver perangkat adalah program yang membantu sistem operasi untuk berinteraksi dengan perangkat perangkat keras.

Program driver perangkat menyediakan antarmuka dan membantu OS untuk menangani perangkat periferal seperti printer, pemindai, modem, keyboard, mouse, dll. Driver menerjemahkan panggilan fungsi sistem operasi menjadi panggilan khusus perangkat. Driver perangkat mendeteksi perangkat yang diinstal dan mencari driver perangkat ketika sistem dimulai.

Proses ini menggunakan mekanisme panggilan sistem untuk berurusan dengan Kernel Sistem Operasi. Panggilan sistem adalah panggilan layanan ke kernel untuk meminta izin untuk eksekusi proses. Panggilan sistem adalah instruksi kode mesin yang digunakan oleh program aplikasi untuk mendapatkan izin layanan dari sistem Operasi.

Mode Kernel dan Mode Pengguna

Ada instruksi tertentu yang perlu dijalankan oleh Kernel saja. Jadi, CPU menjalankan instruksi ini hanya dalam Mode Kernel. Sebagai contoh, manajemen memori harus dilakukan dalam Mode-Kernel saja. Saat dalam Mode Pengguna, CPU mengeksekusi proses yang diberikan oleh pengguna di Ruang Pengguna.

Jenis-jenis Kernel

Secara umum, ada lima jenis Kernel.

1. Kernel Monolitik

Kernel Monolitik adalah Kernel di mana layanan pengguna dan layanan kernel diimplementasikan dalam ruang memori yang sama yaitu memori berbeda untuk layanan pengguna dan layanan kernel tidak digunakan dalam kasus ini.

Dengan melakukannya, ukuran Kernel meningkat dan ini, pada gilirannya, meningkatkan ukuran Sistem Operasi. Karena tidak ada Ruang Pengguna dan Ruang Kernel yang terpisah, maka pelaksanaan proses akan lebih cepat di kernel Monolithic.

Kernel monolitik adalah program kode tunggal dengan kemampuan untuk memuat layanan OS dalam ruang alamat memori tunggal (Kernel Space). Semua layanan OS dijalankan dalam mode privilege. Semua layanan seperti manajemen proses manajemen memori, driver I / O, dan driver memori yang terletak di ruang kernel mengurangi waktu akses memberikan kinerja yang lebih tinggi.

Kode kernel monolitik lebih penting daripada kode mikrokernel. Karena ukurannya yang besar, sulit untuk mempertahankan kernel. Jika layanan terjadi dalam kode kernel, seluruh sistem akan berhenti bekerja. Kernel monolitik tidak portabel, sehingga platform yang berbeda membutuhkan kernel yang berbeda pula.

Keuntungan:

  • Ini menyediakan penjadwalan CPU, penjadwalan memori, manajemen file melalui Panggilan sistem saja.
  • Eksekusi dari proses ini cepat karena tidak ada ruang memori yang terpisah untuk pengguna dan kernel.

Kekurangan:

  • Jika ada layanan yang gagal, maka itu menyebabkan kegagalan sistem.
  • Jika layanan baru akan ditambahkan maka seluruh Sistem Operasi perlu dimodifikasi.

2. Mikrokernel

Sebuah Mikokernel berbeda dari Kernel Monolitik karena dalam Microkernel, layanan pengguna dan layanan kernel diimplementasikan ke dalam ruang yang berbeda yaitu menggunakan Ruang Pengguna dan Ruang Kernel untuk Mikrokernel. Karena menggunakan Ruang Pengguna dan Ruang Kernel secara terpisah, sehingga mengurangi ukuran Kernel dan ini, pada gilirannya, mengurangi ukuran Sistem Operasi.

Mikrokernel menggunakan kernel dan ruang pengguna untuk menjalankan semua proses sistem. Kernel dibagi menjadi berbagai proses yang dikenal sebagai layanan. Minimum layanan seperti IPC (Inter-Process Communication), penjadwal dasar, atau penjadwalan primitif, penanganan memori dasar, primer I / O primer berada dalam ruang kernel. Semua layanan seperti Penjadwal, penanganan memori, sistem file, dan tumpukan jaringan dijalankan secara terpisah di ruang pengguna.

Karena menggunakan ruang yang berbeda untuk layanan pengguna dan layanan kernel, maka komunikasi antara aplikasi dan layanan dilakukan dengan bantuan parsing pesan dan ini, pada gilirannya, mengurangi kecepatan eksekusi.

Keuntungan:

  • Jika layanan baru akan ditambahkan maka dapat dengan mudah ditambahkan.

Kekurangan:

  • Karena menggunakan Ruang Pengguna dan Ruang Kernel secara terpisah, sehingga komunikasi di antaranya dapat mengurangi waktu eksekusi keseluruhan.

3. Kernel Hibrid

Kernel Hibrid adalah kombinasi Kernel Monolitik dan Mikrokernel. Itu membuat penggunaan kecepatan Kernel Monolitik dan modularitas Mikrokernel.

Kernel hybrid memperluas versi microkernel dengan menambahkan beberapa fungsionalitas kernel Monoltikc. Kernel hybrid dibagi menjadi beberapa layanan yang sama dengan microkernel, dan semuanya dijalankan dalam ruang kernel yang sama dengan kernel Monolithic. Kernel NT untuk windows dan kernel XNU digunakan oleh Apple untuk macOS.

Mode kernel berisi PC Aplikasi, driver perangkat dan memori virtual, proses penjadwalan. Ini mengurangi overhead pengiriman pesan dan waktu pengalihan konteks. Server file dan server UNIX berada dalam mode pengguna. Server file adalah area memori tempat aplikasi dijalankan.

Kernel hibrida adalah kernel mikro yang memiliki beberapa kode “tidak penting” di ruang kernel agar kode dapat berjalan lebih cepat daripada di ruang pengguna. Jadi, beberapa layanan seperti tumpukan jaringan atau sistem file dijalankan di ruang Kernel untuk mengurangi overhead kinerja, tetapi tetap saja, ia menjalankan kode kernel sebagai server di ruang pengguna.

4. Nanokernel

Dalam Nanokrnel, seperti namanya, seluruh kode kernel sangat kecil yaitu kode yang mengeksekusi dalam mode istimewa perangkat keras sangat kecil. Istilah nanokernel digunakan untuk menggambarkan kernel yang mendukung resolusi clock nanosecond.

Kernel Dalam Sistem Operasi Komputer

5. Exokernel

Exokernel adalahkernel Sistem Operasi yang dikembangkan oleh paralel MIT dan kelompok Sistem Operasi Terdistribusi. Di sini dalam jenis kernel ini, perlindungan sumber daya dipisahkan dari manajemen dan ini, pada gilirannya, menghasilkan memungkinkan kita untuk melakukan penyesuaian khusus aplikasi.

Dalam Exokernel, idenya bukan untuk mengimplementasikan semua abstraksi. Tetapi idenya adalah untuk memaksakan abstraksi sesedikit mungkin dan dengan melakukan itu abstraksi harus digunakan hanya ketika dibutuhkan. Jadi, tidak ada abstraksi paksa yang ada di Exokernel dan ini adalah fitur yang membuatnya berbeda dari Kernel Monolitik dan Mikrokernel. Namun kekurangannya adalah desainnya yang kompleks. Desain Exokernel sangat kompleks.