+62 896 6423 0232 | info@idmetafora.com
Software ERP Indonesia IDMETAFORA


Mengenal Apa itu Kernel, Sejarah Fungsi, dan Struktur pada Kernel

1 October, 2022   |   Inggihpangestu

Mengenal Apa itu Kernel, Sejarah Fungsi, dan Struktur pada Kernel

Apa Itu Kernel


Kernel adalah jantung dan inti program komputer dari sistem operasi (OS). Karena sistem operasi mengontrol sistem, kernel juga mengontrol semua yang ada di sistem. Kernel adalah bagian terpenting dari sistem operasi itu sendiri Kernel adalah program pertama yang dimuat setelah boot loader setiap kali sistem melakukan boot karena harus mengatur seluruh sistem Kernel tetap berada di memori sampai sistem operasi dimatikan turun. Kernel bertanggung jawab untuk melakukan tugas-tugas tingkat rendah seperti manajemen disk, manajemen memori, dan manajemen tugas. Kernel menyediakan antarmuka antara pengguna dan komponen perangkat keras dalam sistem. Ketika sebuah proses membuat permintaan ke kernel, itu disebut panggilan sistem. Kernel dilengkapi dengan area memori terpisah, ruang kernel, yang tidak dapat diakses oleh program aplikasi lain. Oleh karena itu, kode kernel dimuat ke dalam ruang kernel yang dilindungi ini. Juga, memori yang digunakan oleh aplikasi lain disebut ruang pengguna. Karena ini adalah dua wilayah yang berbeda dalam memori, komunikasi di antara mereka sedikit lebih lambat.

Secara umum, ada tiga jenis Kernel, yaitu adalah sebagai berikut:

1. Monolithic Kernel:

Kernel ini mencakup CPU, memori, IPC, driver perangkat, manajemen sistem file, dan panggilan server sistem. Ini juga bertanggung jawab untuk melepaskan memori sistem ke aplikasi. Jenis kernel ini biasanya unggul dalam akses perangkat keras dan multitasking.

2. Microkernels:

Microkernels mengambil pendekatan minimalis, hanya mengelola CPU, memori, dan IPC.

3. Hybrid Kernel:

Kernel hybrid dapat memutuskan apa yang akan dijalankan dalam mode pengguna atau mode kernel. Meskipun ini menawarkan yang terbaik dari kedua dunia, kernel hybrid membutuhkan produsen perangkat keras untuk berbuat lebih banyak untuk membuat driver yang bertindak sebagai antarmuka antara kode yang berjalan dan perangkat keras.
 

Sejarah Kernel


Kernel Linux pertama yang dirilis pada 14 Maret 1991 adalah versi 0.01. Satu-satunya sistem file yang didukung adalah sistem file Minix. Kernel pertama didasarkan pada kerangka kerja Minix, sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum. Namun, kernel sudah mengimplementasikan proses UNIX dengan benar. Pada 14 Maret 1994, versi 1.0 dirilis. Ini adalah tonggak sejarah bagi Linux. Rilis ini merupakan puncak dari perkembangan pesat kernel Linux selama tiga tahun. Fitur baru terbesar yang ditawarkannya adalah jaringan. Versi 1.0 dapat mendukung protokol jaringan TCP/IP standar. Kernel 1.0 juga memiliki sistem file yang ditingkatkan tanpa batasan sistem file Minix. Rilis ini juga mencakup beberapa dukungan perangkat keras tambahan. Dukungan perangkat keras telah diperluas untuk memasukkan floppy disk, CD-ROM, kartu suara, dan mouse dan keyboard internasional. Modul kernel yang dapat dimuat dan tidak dapat dimuat secara dinamis juga didukung. Setahun kemudian, kernel versi 1.2 dirilis. Kernel ini mendukung perangkat keras yang lebih luas. Pengembang telah memperbarui tumpukan jaringan untuk memberikan dukungan bagi protokol IPX dan telah membuat implementasi IP lebih lengkap dengan menyediakan fungsionalitas akuntansi dan firewall. Kernel 1.2 adalah kernel Linux PC murni terakhir. Fokusnya adalah pada dukungan perangkat keras dan implementasi yang lebih lengkap dari fitur-fitur yang ada. Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Rilis ini memiliki dua fitur baru yang signifikan: dukungan untuk beberapa arsitektur dan arsitektur multiprosesor. Kode manajemen memori yang ditingkatkan untuk meningkatkan sistem file dan kinerja memori virtual. Untuk pertama kalinya, caching sistem file telah diperluas ke sistem file jaringan untuk juga mendukung wilayah yang dipetakan dengan memori yang dapat ditulis. Kernel 2.0 sudah menawarkan kinerja TCP/IP yang lebih baik dan banyak protokol jaringan baru. Versi terbaru ini juga menambahkan kemampuan untuk menggunakan Netware jarak jauh dan titik berbagi SMB (Microsoft LanManager). Penambahan lainnya termasuk dukungan untuk utas kernel internal, penanganan dependensi antara modul yang dapat dimuat, dan pemuatan otomatis modul sesuai permintaan. Konfigurasi kernel dinamis saat runtime telah ditingkatkan dengan konfigurasi interface terpadu yang baru. Sejak Desember 2003, kernel versi 2.6 telah dirilis, saat ini (2008) dengan patch versi 2.6.26.1 (http://goat.ui.edu/kernel-linux/v2.6/).
 

Fungsi Kernel


Fungsi utama dari kernel adalah untuk mengelola sumber daya komputer dan memungkinkan program lain untuk menjalankan dan menggunakan sumber daya komputer tersebut. Untuk menjalankan aplikasi, kernel pertama mengalokasikan ruang alamat aplikasi, kemudian memuat file yang berisi kode aplikasi ke dalam memori, menyiapkan tumpukan program, bercabang di tempat lain dalam program, dan cukup Anda harus mulai menjalankan program itu. Berikut ini beberapa fungsi dari kernel:

1. Pengurusan proses

Tugas utama sistem operasi kernel adalah mengizinkan aplikasi lain untuk berjalan dan mendukungnya dengan fitur tambahan seperti abstraksi perangkat keras. Untuk menjalankan suatu proses, kernel mengunduh file ke dalam memori dan menyiapkan tumpukan untuk program, dan pada titik tertentu dalam program ini memulai perjalanan program. Metode ini disebut perencanaan. Pada dasarnya, dalam sistem multitasking, kernel memberikan setiap program waktu dan berpindah dari proses ke proses dengan sangat cepat, sehingga menunjukkan kepada pengguna bahwa proses tersebut berjalan terus menerus. Kernel juga harus menyediakan proses-proses ini untuk komunikasi. Ini dikenal sebagai komunikasi antarproses. Kernel Anda mungkin mendukung multiprosesor.

2. Pengurusan ingatan

Kernel memiliki akses penuh ke memori sistem dan menyediakan cara bagi program pengguna untuk mengakses memori ini dengan aman. Metode pertama untuk mengelola penyimpanan adalah pengalamatan virtual, yang biasanya berupa arsip halaman atau tersegmentasi. Pengalamatan virtual memungkinkan kernel untuk menetapkan alamat fisik yang muncul sebagai alamat virtual lain. Hal ini memungkinkan setiap program untuk mengetahui bahwa hanya satu program (bagian dari kernel) yang berjalan, dan mencegah aplikasi bertabrakan satu sama lain.

3. Pengurusan peranti

Perintah untuk melakukan tugas memerlukan kernel untuk mengakses berbagai perangkat yang terhubung ke komputer. Misalnya, perintah untuk menampilkan pengguna harus menampilkan driver monitor dan harus dapat mengontrol perangkat ini melalui driver. Driver harus ditulis oleh pengembang atau disediakan oleh produsen perangkat. Pengelola Perangkat terlebih dahulu memeriksa berbagai bus perangkat keras (USB, PCI, dll.) untuk mendeteksi semua perangkat yang terpasang dan menemukan driver yang sesuai. Setelah itu semuanya tergantung pada jenis kernel dan desain kernel.

4. Sistem panggilan

Untuk melakukan pekerjaan yang bermanfaat, program userland memerlukan akses ke semua layanan yang disediakan oleh kernel. Ini diimplementasikan secara berbeda di kernel yang berbeda, tetapi harus disediakan oleh pustaka C. Pustaka C mengimplementasikan semua kerentanan panggilan sistem terlepas dari memori yang diberikan atau dibagikan.

5. Shell

Shell adalah perangkat lunak atau aplikasi yang merupakan alat komunikasi pengguna-ke-pengguna untuk berkomunikasi dengan sistem operasi. Shella membaca semua yang Anda ketik dan menafsirkannya sebagai instruksi untuk menjalankan perangkat lunak lain, memanipulasi file, dan memberikan output. Shell juga disebut antarmuka baris perintah. Unix/Linux memiliki berbagai shell. Shell Korn atau POSIX shell adalah shell umum untuk sebagian besar rasa Unix atau Linux.
 

Kategori Kernel


1. Kernel Monolitik

Merupakan kernel yang mengintegrasikan dari banyak fungsi yang ada di dalam kernel dan menyediakan lapisan abstraksi perangkat keras penuh terhadap perangkat keras yang berada dibawah sistem operasi.

2. Kernel Microkernel

Kernel yang menyediakan hanya sekumpulan kecil dari abstraksi perangkat keras yang sederhana dan menggunakan aplikasi-aplikasi yang disebut dengan server untuk menyediakan fungsi-fungsi yang lainnya.

3. Kernel Hybrid

Kernel yang persis atau mirip dengan microkernel akan tetapi ia juga memasukkan dari beberapa kode atau tambahan kode di dalam ruangan kernel tersebut supaya ia menjadi lebih cepat atau untuk meningkatkan terhadap performanya.

4. Kernel Exokernel

Ini adalah kernel yang tidak menyediakan abstraksi perangkat keras sama sekali, tetapi satu set pustaka yang menyediakan akses fungsional langsung atau hampir langsung ke "perangkat keras" perangkat keras. OS Linux mana yang menggunakan desain kernel Sistem operasi seperti Linux dan Unix menggunakan kernel monolitik. Kernel dikenal sebagai desain monolitik. Ini adalah desain yang sangat efisien, meskipun sulit untuk dibuat.
 

Konsep Kernel


Kernel adalah jembatan antara perangkat keras dan aplikasi, menerjemahkan bahasa perangkat lunak sehingga perangkat keras memahaminya dan perangkat keras memprosesnya dengan cepat sesuai kebutuhan. Akibatnya, pengguna dapat menggunakan dan mengoperasikan komputer mereka sendiri melalui perangkat lunak. Fitur kernel:


- penangan interupsi yang dapat menangani permintaan I/O
- Manajemen memori Beberapa orang/kelompok memiliki pertimbangan dan arah pengembangan yang berbeda untuk melakukan hal-hal ini. Ini akan menunjukkan sistem operasi dalam berbagai jenis seperti:
- Windows 3.11 dengan multitasking non-preemptive. Ini kemudian berkembang menjadi multitasking preemptive di Windows 9x.
- Windows menggunakan driver untuk mengakses perangkat keras, tidak seperti Unix lain yang menempatkan driver di kernel. Linux, MacOS, dan BeOS adalah hibrida dari dua konsep ini, dengan beberapa (pada dasarnya) di kernel dan sisanya modular (tidak semua komputer harus sama).

Shell adalah jembatan antara user pengguna dan kernel, tetapi tujuannya adalah untuk memberi pengguna cara berinteraksi dengan komputer (baik perangkat lunak maupun perangkat keras). Ilustrasi Shell: Shell Windows95 dikenal sebagai Windows Explorer, tetapi Windows 98 mengubahnya menjadi Internet Explorer (4.0 dan 5.0). Shell alternatif lain untuk Windows adalah LiteStep. Ini memberi Windows tampilan XWindow Afterstep seperti Unix. Kerang akrab bagi pengguna Unix untuk:
csh, tcsh, bash, pdksh, sh, dan lain lain.
 

Struktur Kernel


Sistem operasi Linux juga memiliki struktur kernel yang dapat dikelompokkan menjadi beberapa kernel. Berikut strukturnya:

1. Penjadwal proses mengelola proses yang mengakses CPU, memastikan bahwa setiap proses mendapatkan sumber daya yang tepat dan perangkat keras merespons perintah kernel secara tepat waktu.
2. Manajer memori mengelola beberapa proses untuk berbagi memori dengan aman dan mendukung penggunaan memori yang lebih besar daripada memori fisik. Ini dilakukan dengan menukar memori yang tidak digunakan ke media penyimpanan permanen dan kembali ke memori fisik saat digunakan.
3. Sistem Berkas Virtual (Virtual File System). Abstrak semua perangkat ke dalam sistem file yang dikenal. Selain itu, VFS juga mendukung sistem file dari sistem operasi lain.
4. Interface jaringan menyediakan akses ke beberapa standar jaringan dan berbagai perangkat keras jaringan.
5. Interprocess Communication mengatur mekanisme komunikasi antar proses.
 

Kedudukan Kernel dalam Sistem Operasi


Kernel sistem operasi keluar dari proses. Ketika proses yang berjalan ditangguhkan atau panggilan sistem dipanggil, konteks pemrosesan proses itu disimpan dan kontrol diteruskan ke kernel. Sistem operasi memiliki memori dan ruang tumpukan sendiri untuk panggilan prosedur. Sistem operasi melakukan fungsi yang diminta dan mengembalikan konteks proses yang ditangguhkan. Proses pengguna yang ditangguhkan terus berjalan. Atau, sistem operasi menyimpan lingkungan proses, menetapkan jadwal, dan menjadwalkan proses lainnya. Konsep proses hanya berlaku untuk program pengguna. Kode sistem operasi berjalan sebagai entitas terpisah yang berjalan dalam mode kernel. Proses adalah non-kernel, tetapi sistem operasi adalah kernel yang bukan proses.

Liputan Software ERP IDMETAFORA Indonesia!

Jika anda merasa artikel ini bermanfaat, bagikan ke pengikut anda melalui tombol dibawah ini:



Software ERP Indonesia

Artikel rekomendasi untuk Anda