Kernel dan Kernel Linux


Nama           : Ni Kade Mega Handayani.
Nim             : 1605551030.
Dosen          : I Putu Agus Eka Pratama ST., MT.
Matakuliah  : Network Operating System ( Pertemuan 8).
Universitas  : Udayana, Fakultas Teknik, Program Studi Teknologi Informasi.


Artikel yang akan dibahas kali ini mengenai “Kernel dan Kernel Linux “, ditambah dengan praktik uji coba tertait mengenal lebih jauh tentang kernel pada sistem operasi Linux. Sebelum kita mulai kita kan mengulas kembali apa itu Kernel dalam sistem operasi?Sistem Operasi merupakan suatu bagian program yang berjalan setiap saat yang dikenal dengan istilah kernel.  Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

FUNGSI DARI KERNEL
Adapun beberapa fungsi dari kernel sebagai inti dari sistem operasi adalah sebagai berikut :
Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Alokasi sumber daya tersebut dikelola oleh Sistem Operasi. Umpamanya, walku CPU, memori, berkas-berkas, dan perangkat-perangkat M/K. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali.
Tugas utama sebuah sistem pengoperasian kernel ialah membenarkan aplikasi yang lain agar bisa berjalan dan mampu 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.

Pengurusan Ingatan (Proccesor)
        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 muka surat atau segmentation. Virtual addressing membenarkan kernel untuk memberikan alamat fizikal yang muncul sebagai alamat yang lain yaitu 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 (Modul I/O)
Dalam arahan untuk melakukan sesuatu tugas, kernel perlu untuk mengakses berbagai peranti yang bersambungan di dalam komputer, sebagai contoh, dalam arahan untuk memaparkan pengguna apa-apa saja, pemacu monitor perlu untuk muncul, peranti ini boleh dikawal melalui pemacu, di mana piranti mesti dibuat oleh pembangun dan/atau disediakan oleh pengilang sesuatu peranti tersebut.

Shell
Shell adalah aplikasi yang menjadi alat untuk menghubungkan antara pangguna  dengan sistem operasi, shell akan membaca apa saja yang dimasukkan oleh pengguna dan memahaminya sebagai arahan untuk menjalankan aplikasi lain, memanipulasi file, dan memberikan output. Shell juga biasa dikenal sebagai command line interface.

KERNEL LINUX
Sejarah Kernel Linux
Linux adalah sebuah sistem operasi yang sangat mirip dengan sistem-sistem UNIX, karena memang tujuan utama rancangan dari proyek Linux adalah UNIX compatible. Sejarah Linux dimulai pada tahun 1991, ketika mahasiswa Universitas Helsinki, Finlandia bernama Linus Benedict Torvalds menulis Linux, sebuah kernel untuk prosesor 80386, prosesor 32-bit pertama dalam kumpulan CPU intel yang cocok untuk PC.
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 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. Sistem Linux terdiri dari tiga bagian kode penting diantaranya sebagai berikut
Kernel
Bertanggung-jawab memelihara semua abstraksi penting dari sistem operasi, termasuk hal-hal seperti memori virtual dan proses-proses. Kernel Linux membentuk inti dari sistem operasi Linux. Dia menyediakan semua fungsi yang diperlukan untuk menjalankan proses, dan menyediakan layanan sistem untuk memberikan pengaturan dan proteksi akses ke sumber daya perangkat keras. Kernel mengimplementasi semua fitur yang diperlukan supaya dapat bekerja sebagai sistem operasi. Namun, jika sendiri, sistem operasi yang disediakan oleh kernel Linux sama sekali tidak mirip dengan sistem UNIX. Dia tidak memiliki banyak fitur ekstra UNIX, dan fitur yang disediakan tidak selalu dalam format yang diharapkan oleh aplikasi UNIX. Interface dari sistem operasi yang terlihat oleh aplikasi yang sedang berjalan tidak ditangani langsung oleh kernel, akan tetapi aplikasi membuat panggilan (calls) ke perpustakaan sistem, yang kemudian memanggil layanan sistem operasi yang dibutuhkan.

Pustaka sistem
Menentukan kumpulan fungsi standar dimana aplikasi dapat berinteraksi dengan kernel, dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel. Pustaka sistem menyediakan berbagai tipe fungsi. Pada level yang paling sederhana, mereka membolehkan aplikasi melakukan permintaan pada layanan sistem kernel. Membuat suatu system call melibatkan transfer kontrol dari mode pengguna yang tidak penting ke mode kernel yang penting; rincian dari transfer ini berbeda pada masing-masing arsitektur. Pustaka bertugas untuk mengumpulkan argumen system-call dan, jika perlu, mengatur argumen tersebut dalam bentuk khusus yang diperlukan untuk melakukan system call.
Pustaka juga dapat menyediakan versi lebih kompleks dari system call dasar. Contohnya, fungsi buffered file-handling dari bahasa C semuanya diimplementasikan dalam pustaka sistem, yang memberikan kontrol lebih baik terhadap berkas M/K daripada system call kernel dasar. pustaka juga menyediakan rutin yang tidak ada hubungan dengan system call, seperti algoritma penyusunan (sorting), fungsi matematika, dan rutin manipulasi string (string manipulation). Semua fungsi yang diperlukan untuk mendukung jalannya aplikasi.

Utilitas sistem
Program yang melakukan pekerjaan manajemen secara individual. Utilitas Sistem Linux mengandung banyak program-program pengguna-mode: utilitas sistem dan utilitas pengguna. Utilitas sistem termasuk semua program yang diperlukan untuk menginisialisasi sistem, seperti program untuk konfigurasi alat jaringan (network device) atau untuk load modul kernel. Program server yang berjalan secara kontinu juga termasuk sebagai utilitas sistem; program semacam ini mengatur permintaan pengguna login, koneksi jaringan yang masuk, dan antrian printer.
Tidak semua utilitas standar melakukan fungsi administrasi sistem yang penting. Lingkungan pengguna UNIX mengandung utilitas standar dalam jumlah besar untuk melakukan pekerjaan sehari-hari, seperti membuat daftar direktori, memindahkan dan menghapus file, atau menunjukkan isi dari sebuah file. Utilitas yang lebih kompleks dapat melakukan fungsi text-processing, seperti menyusun data tekstual atau melakukan pattern searches pada input teks. Jika digabung, utilitas-utilitas tersebut membentuk kumpulan alat standar yang diharapkan oleh pengguna pada sistem UNIX mana saja; walaupun tidak melakukan fungsi sistem operasi apa pun, utilitas tetap merupakan bagian penting dari sistem Linux dasar. Berikut ini adalah gambaran pemetaan fungsi-fungsi yang ada pada Linux.

Gambar 1 Map Kernel Linux
Gambar 1 merupakan Map dari struktur Kernel Linux yang membentuk suatu kernel


PRAKTEK KERNEL LINUX
Praktek yang dilakukan untuk mempelajari kernel lebih dalam adalah dengan membongkar dan mencari tau fungsi dari file yang ada didalam kernel, kernel yang akan dibongkar adalah kernel Linux. Sebelum memulai download kernel versi awal di alamat https://mirrors.edge.kernel.org/pub/linux/kernel/Hist oric/linux-0.01.tar.gz.
File yang diunduh akan berupa file dalam ekstensi tar, ekstaks file tersebut samapi berupa folder lalu buka dan mari kita periksa bersama.

Gambar 2 Direktori Kernel Linux
Gambar 2 merupakan Direktori-direktori yang terdapat dalam kernel linux yang dibongkar seperti pada gambar diatas, selanjutnya buka direktori kernel maka akan muncul file dengan ekstensi .c file ini merupakan kode-kode program yang membangun kernel, dalam kode program ini terkandung fungsi utama kernel.

Gambar 3 Sumber Kode File sched.c
Gambar 3 merupakan sumber kode yang digunakan kernel untuk melakukan fungsi penjadwalan. Adapun sumber kode lain sebagai berikut.

Gambar 4 Sumber Kode File mktime.c
Gambar 4 merupakan sumber kode yang digunakan sebagai pengaturan waktu, hari dan tanggal yang ada pada sistem operasi. Adapun sumber kode lain sebagai berikut.

Gambar 5 Sumber Kode File keyboard.c
Gambar 5 merupakan sumber kode yang digunakan untuk sistem keyboard atau alat input pada sistem operasi linux.

Daftar Pustaka
[1] Jejen , Zaelani. “Apa Itu Kernel  “. Di akses pada https://sites.google.com/a/student.unsika.ac.id/bongkar-os-linux/pengenalan-os/apa-itu-kernel. 10 April 2018.
[2] Jejen , Zaelani. “Fungsi Dari Kernel “. Di akses pada https://sites.google.com/a/student.unsika.ac.id/bongkar-os-linux/pengenalan-os/fungsi-kernel. 10 April 2018.
[3] Masyarakat Digital Gotong Royong (MDGR). 2006. “Pengantar Sistem Operasi Komputer
Plus Ilustrasi Kernel Linux”. Masyarakat Digital Gotong Royong (MDGR).
[4] I  Putu Agus Eka Pratama. "PPT Network Operating System Pertemuan 8". 2018.

Posting Komentar

be happy to coment and follow

Lebih baru Lebih lama