Kernel adalah

Diposting pada

Sejarah Kernel

Dari keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux. Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini, mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek pengembangan lain.

Kernel-adalah

Kernel Linux pertama yang dipublikasikan adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX secara tepat.


Pada tanggal 14 Maret 1994 dirilis versi 1.0, yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix.


Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional.


Dukungan juga diberikan terhadap modul kernel yang loadable dan unloadable secara dinamis. Satu tahun kemudian dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras yang lebih luas. Pengembang telah memperbaharui networking stack untuk menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2 ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih diberikan pada dukungan perangkat keras dan memperbanyak implementasi lengkap pada fungsi-fungsi yang ada.


Pada bulan Juni 1996, kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang penting, yaitu dukungan terhadap multiple architecture dan multiprocessor architectures. Kode untuk manajemen memori telah diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat. Untuk pertama kalinya, file system caching dikembangkan ke networked file systems, juga sudah didukung writable memory mapped regions.


Kernel 2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel threads, penanganan dependencies antara modul-modul loadable, dan loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi interface yang baru dan standar.


Semenjak Desember 2003, telah diluncurkan Kernel versi 2.6, yang dewasa ini (2008) telah mencapai patch versi 2.6.26.1 (http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari versi 2.6 ini ialah:

  1. Subitem M/K yang dipercanggih.
  2. Kernel yang pre-emptif.
  3. Penjadwalan Proses yang dipercanggih.
  4. Threading yang dipercanggih.
  5. Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.
  6. Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs (ro), ntfs (ro), efs (ro).

Pengertian Kernel

Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi komputer, tugasnya yakni melayani bermacam-macam program aplikasi untuk emngakses perangkat keras “hardware” komputer secara aman.


Ada juga definisi kernel yang lainnya ialah suatu perangkat lunak yang membuat komunikasi atau mediator antara aplikasi dan perangkat keras “hardware” yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses yang sedang berjalan, pengaturan file, pengaturan input-output dan masih banyak lagi fungsi tambahan yang lainnya.


Jadi intinya adalah kernel merupakan suatu penghubung antara software dan hardware, itulah beberapa penjelasan tentang kernel semoga dapat memberikan pencerahan atau dapat dipahami.


Fungsi Kernel

Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan memungkinkan program lain untuk menjalankan dan menggunakan sumber daya koputer tersebut. Untuk menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru memulai eksekusi program.


Berikut beberapa fungsi kernel:


  • Pengurusan proses

Tugas utama sebuah system pengoperasian kernel ialah membenarkan aplikasi yang lain untuk berjalan dan menyokong mereka dengan ciri-ciri tambahan, seperti pengabstrakan perkakasan, untuk menjalan proses, kernel mesti memuat turun failnya kepada ingatan, menyediakan stack untuk program dan pergi ke lokasi yang diberikan di dalam program, ini memulakan perjalanan sesebuah program, cara ini dipanggil scheduling.


Dalam sistem berbilang kerja, kernel secara asasnya akan memberikan setiap program sedikit masa dan menukarkan dari proses ke proses dengan cepat dengan itu ia akan muncul kepada pengguna jika proses ini dijalankan secara terus menerus. Kernel mesti juga menyediakan proses ini untuk berkomunikasi, ini dikenali sebagai inter-process communication. Ini kemungkinan ada multipemprosesan yang menyokong kernel tersebut.


  • Pengurusan ingatan

Kernel mempunyai akses penuh dalam ingatan sistem dan menyediakan cara-cara untuk membenarkan userland program untuk mengakses memori ini dengan selamat. Cara pertama untuk mengurus ingatan ialah virtual addressing, biasanya arkib dengan mukasurat atau segmentationVirtual addressing membenarkan kernel untuk memberikan alamat fizikal yang muncul sebagai alamat yang lain iaitu virtual address, ini membenarkan setiap program mempercayai ia hanya satu program (sebahagian daripada kernel) yang berjalan, dan ini mengelakkan aplikasi daripada berlanggar antara satu sama lain.


  • Pengurusan peranti

Dalam arahan untuk melakukan sesuatu tugas, kernel perlu untuk mengakses perbagai peranti yang bersambungan di dalam komputer, sebagai contoh, dalam arahan untuk memaparkan pengguna apa-apa sahaja, pemacu monitor perlu untuk muncul, peranti ini boleh dikawal melalui pemacu, di mana ia mesti dibuat oleh pembangun dan/atau disediakan oleh pengilang sesuatu peranti tersebut.


Pengurus peranti pertamanya akan melakukan semakan keatas bas perkakasan yang berbeza (seperti USB, PCI), dalam arahan unruk mengesan semua peranti yang telah dipasang dan kemudiannya mencari pemacu yang bersesuaian, selepas ini, semuanya bergantung kepada jenis kernel dan rekaan kernel.


  • Sistem panggilan

Dalam arahan untuk menyediakan kerja yang berguna, program userland mesti mempunyai akses kepada semua perkhidmatan yang disediakan oleh kernel. Ini dilaksanakan secaar berbeza-beza oleh kernel yang berlainan, tetapi mesti disediakan oleh C library, dimana ia menukarkan kelemahan kesemua system panggilan, sama ada diberikan atau melalui memori yang dikongsi.


  • Shell

Shell adalah perisian atau aplikasi yang menjadi alat untuk perhubungan antara pangguna untuk berhubung dengan sistem operasi, shella akan membaca apa sahaja yang dimasukkan oleh pengguna dan memahaminya sebagai arahan untuk menjalankan perisian lain, memanipulasi fail, dan memberikan output.


Shell juga turut dikenali sebagai command line interface. Terdapat pelbagai shell untuk Unix/Linux. Korn shell atau POSIX shell adalah shell yang biasa di kebanyakkan jenis unix atau linux.


Kategori Kernel

Dibawah ini penjelasan mengenai 4 karegori/macam kernel sebagai berikut:


  1. Kernel Monolitik

Kernel-Monolitik

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


  1. Kernel Microkernel

Kernel-Microkernel

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


  1. Kernel Hybrid

Kernel-Hybrid

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


  1. Kernel Exokernel

Merupakan kernel yang tidak menyediakan sama sekali abstraksi perangkat keras, akan tetapi ia menyediakan sekumpulan library yang menyediakan fungsi akses ke perangkat keras “hardware” secara langsung atau hampir-hampir langsung.


Desain kernel dalam sistem operasi linux yang mana yang digunakan?? sistem operasi seperti Linux dan Unix menggunakan kernel monolitik dimana pada kernel dikenal dengan desain monolitik mempunyai desain yang sangat efisien, meskipun sulit dalam pembuatannya.


Konsep Kernel

Kernel adalah jembatan antara hardware dan aplikasi-aplikasi yang menerjemahkan bahasa software sehingga mampu dimengerti oleh hardware dan hardware akan segera memprosesnya sesuai dengan permintaan. Akibatnya hal tersebut memungkinkan pengguna untuk menggunakan atau bekerja dengan komputernya melalui software. Hal-hal yang dilakukan oleh Kernel :

  • Interrupt handler, yang mampu menangani I/O request
  • Memory management untuk melakukan hal-hal tersebut, beberapa orang/kelompok mempunyai pertimbangan dan arahan pengembangan yang berbeda. Hal ini yang menyebabkan Operating System muncul dalam berbagai jenis, seperti :
  • Windows 3.11 dengan metoda non pre-emptive multitasking yang kemudian dikembangkan dalam Windows 9x menjadi Pre-Emptive MultiTasking.
  • Windows yang menggunakan Driver untuk mengakses hardware, berbeda dengan Unix lainnya yang memasukkannya ke dalam kernel. Linux, MacOSdan BeOS adalah hibrid dari dua konsep ini, sebagian (yang esensial) dimasukkan ke dalam kernel dan sisanya dijadikan module-module (karena tidak semua komputer perlu/sama).

Sedangkan shell adalah jembatan antara User Input dengan Kernel, berfungsi memberikan fasilitas pada Pengguna agar bisa berinteraksi dengan Komputer (baik Software maupun Hardware). Ilustrasi Shell: Shell dalam Windows95 dikenal sebagai Windows Explorer, sedangkan untuk Windows 98 telah diubah menjadi Internet Explorer (4.0 dan 5.0).


Alternatif lain shell untuk Windows adalah LiteStep, yang memberikan tampilan Windows menyerupai XWindow Afterstepnya Unix. Shell lebih dikenal oleh para pengguna Unix, antara lain : csh, tcsh, bash, pdksh, sh, dan lain-lain.


Struktur Kernel

Struktur-Kernel

Pada sistem operasi Linux juga memiliki struktur kernel yang bisa dikelompokkan menjadi beberapa kernel. Adapun strukturnya adalah sebagai berikut :

  1. Penjadwal Proses (Process Scheduler), bertanggung jawab mengatur proses dalam mengakses CPU, memastikan bahwa masing-masing proses memperoleh sumber daya yang layak, dan memastikan bahwa hardware akan bereaksi berdasarkan perintah kernel tepat pada waktunya.
  2. Manajer Memori (Memory Manager), mengatur beberapa proses saling berbagi memori secara aman, dan bahkan mendukung penggunaan memori lebih besar dari pada memori fisik. Hal ini dilakukan dengan swapping memori yang tidak dipergunakan ke dalam media simpan yang permanen, dan dikembalikan lagi ke memori fisik saat akan dimanfaatkan.
  3. File Sistem Virtual (Virtual File Systems), mengabstrasikan semua device ke dalam file sistem yang dikenal. Bahkan sebagai tambahan, VFS juga mendukung file sistem dari sistem operasi lain.
  4. Interface Jaringan (Network Interface), memberikan akses kepada beberapa standar jaringan dan berbagai macam hardware jaringan.
  5. Komunikasi Antar Proses (Inter Process Communication), mengatur mekanisme komunikasi proses satu dengan lainnya.

Kedudukan Kernel dalam Sistem Operasi

Kernel sistem operasi adalah di luar proses. Ketika proses running diinterupsi atau memanggil system call, maka konteks pemroses proses ini disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah memori dan stack sendiri untuk pemanggilan prosedur. Sistem operasi melakukan fungsi yang diinginkan dan mengembalikan konteks proses yang diinterupsi. Eksekusi proses pemakai yang diinterupsi dilanjutkan.


Alternatif lain, sistem operasi menyimpan lingkungan proses, melakukan penjadwalan dan menjadwalkan proses lain. Konsep proses hanya diterapkan untuk program-program pemakai. Kode sistem operasi dieksekusi sebagai entitas terpisah, beroperasi pada mode kernel. Proses adalah non-kernel, sedangkan sistem oeprasi adalah kernel yang bukan proses.


Daftar Pustaka:

  1. Hariyanto, Bambang. 2000. Sistem Operasi (Edisi Kedua). Bandung : INFORMATIKA Bandung.
  2. Santoso, Budi Halus. 2005. Perancangan Sistem Operasi. Yogyakarta : ANDI Yogyakarta.

Demikianlah pembahasan mengenai Kernel adalah – Pengertian, Sejarah, Fungsi, Kategori, Konsep, Struktur dan Kedudukan semoga dengan adanya ulasan tersebut dapat menambah wawasan dan pengetahuan kalian semua, terima kasih banyak atas kunjungannya. 🙂 🙂 🙂


Baca Juga :

  1. Sistem Operasi Jaringan
  2. DOS adalah
  3. Mikrotik adalah
  4. Microsoft Corporation adalah
  5. WAN adalah
  6. VPN adalah
  7. Pengertian Sistem Operasi Linux Menurut Para Ahli Lengkap
  8. Sistem Operasi