TENTANG KERNEL LINUX
CHANDRA WAHYU, RAFAELIUS SOGO, M.HASBI, YOSEP WIRA N
Mahasiswa
Sistem Informasi kelas 3KA07
Fakultas
Ilmu Teknologi Informasi
Universitas
Gunadarma
ABSTRAK
Linux adalah sistem operasi open source yang popular
dan banyak digunakan oleh masyarakat karena fungsinya yang sama dengan sistem
operasi lain tapi mempunyai kelebihan tahan terhadap virus dan gratis. Pada tulisan
ini penulis akan membahas tentang sejarah linux,pengertian kernel linuxdan
modul kernel linux. Linux adalah sistem operasi turunan dari UNIX yang di ciptakan oleh
Linus Torvalds pada tahun 1991. dirilis
dengan menggunakan lisensi GNU General Public License (GPL), dan dikembangkan
oleh pemrogram di seluruh dunia. Linux merupakan contoh utama dari perangkat
lunak bebas dan sumber terbuka.
1. PENDAHULUAN
Sistem operasi dahulu sangatlah
mahal karena masih jarang pengembang membuat sistem operasi gratis. Namun saat
itu UNIX menjadi salah satu sistem operasi yang digunakan karena UNIX adalah
open source. Setelah itu karena terinspirasi oleh UNIX seorang mahasiswa
bernama Linus Torvalds menciptakan sistem operasi yang gratis. Kernel Linux
pada awalnya dibayangkan dan kemudian dibuat oleh murid Ilmu Komputer
berkebangsaan Finlandia, Linus Torvalds pada tahun 1991.Pengembang dan Pengguna Linux bertambah dengan cepat, lalu mereka mengadaptasi kode dari proyek-proyek software
gratis untuk di gunakan sebagai Sistem Operasi baru. Linux kernel telah menerima kontribusi dari ribuan programmer.Linux telah dirilis berdasarkan
kernel linux.
Linux 0.11 dirilis pada Desember 1991,, versi ini adalah versi pertama yang di ciptakan oleh Linus Torvalds sendiri. Saat ia merilis versi 0.12 di bulan Februari 1992, Torvalds
mengadopsi GNU General Public
License (GPL),
dan berhenti menggunakan lisensi yang ia buat sendiri, yang tidak boleh di distribusikan
secara komersial.
2. ISI
PENGERTIAN KERNEL DAN PENGENALAN LINUX
Dalam
ilmu komputer, 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.
Karena
akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program
yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk
mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian
perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
Akses
kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh
karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware.
Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan
kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan
seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer.
Untuk
menjalankan sebuah komputer kita tidak harus menggunakan kernel sistem operasi.
Sebuah program dapat saja langsung diload dan dijalankan di atas mesin
'telanjang' komputer, yaitu bilamana pembuat program ingin melakukan
pekerjaannya tanpa bantuan abstraksi perangkat keras atau bantuan sistem
operasi. Teknik ini digunakan oleh komputer generasi awal, sehingga bila kita
ingin berpindah dari satu program ke program lain, kita harus mereset dan
meload kembali program-program tersebut. Kernel Linux memudahkan pihak lain
untuk meningkatkan fungsionalitas kernel tanpa harus membuat sebuah kernel
monolitik dan menambahkan fungsi yang mereka butuhkan langsung ke dalam image
dari kernel. Selain hal tersebut akan membuat ukuran kernel menjadi lebih
besar, kekurangan lainnya adalah mereka harus membangun dan me-reboot kernel
setiap saat hendak menambah fungsi baru. Dengan adanya modul maka setiap pihak
dapat dengan mudah menulis fungsi-fungsi baru dan bahkan mendistribusikannya
sendiri, di luar GPL.
Terdapat
tiga komponen untuk menunjang modul kernel Linux.Ketigakomponen tersebut adalah
managemen modul, registrasi driver, dan mekanisme penyelesaian konflik.
SEJARAH LINUX
Pada tahun 1969, Ken Thompson
dan Dennis Ritchie (juga adalah developer bahasa C), para peneliti di AT&T
Bell Laboratorium Amerika, membuat sistem operasi UNIX, cikal bakal dari Linux.
UNIX mendapatkan perhatian besar karena merupakan sistem operasi pertama yang
dibuat bukan oleh hardware maker. Selain itu juga karena seluruh source
code-nya dibuat dengan bahasa C, sehingga mempermudah pemindahannya ke berbagai
platform. Salah satu diantaranya adalah MINIX yang dibuat oleh A. S. Tanenbaum
untuk tujuan pendidikan. Source code MINIX inilah yang oleh Linus Torvalds,
seorang mahasiswa Universitas Helsinki pada waktu itu, kemudian dijadikan
sebagai referensi untuk membuat sistem operasi baru yang gratis dan yang source
codenya bisa diakses oleh umum. Sistem operasi ini kemudian diberi nama Linux.
Dalam membangun Linux, Linus menggunakan tool-tool dari Free Foundation
Software yang berlisensi GNU. Nama Linux sendiri diturunkan dari pencipta
awalnya, LINUS TORVALDS, di Universitas Helsinki, Finlandia yang sebetulnya
mengacu pada kernel dari suatu sistem operasi. Linux dulunya adalah proyek hobi
yang dikerjakan oleh Linus Torvalds yang memperoleh inspirasi dari Minix. Minix
adalah sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum pada tahun 1987.
Minix pada saat itu merupakan suatu proyek pelajaran di kelasnya waktu itu yang
menyerupai sistem UNIX.
Modul Kernel Linux
Pengertian Modul Kernel Linux
Modul kernel Linux adalah bagian
dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara terpisah
dari bagian kernel lainnya saat dibutuhkan. Modul kernel dapat menambah fungsionalitas
kernel tanpa perlu me-reboot sistem. Secara teori tidak ada yang dapat
membatasi apa yang dapat dilakukan oleh modul kernel. Kernel modul dapat
mengimplementasikan antara lain device driver, sistem berkas, protokol
jaringan.
Modul kernel Linux memudahkan
pihak lain untuk meningkatkan fungsionalitas kernel tanpa harus membuat sebuah
kernel monolitik dan menambahkan fungsi yang mereka butuhkan langsung ke dalam
image dari kernel. Selain hal tersebut akan membuat ukuran kernel menjadi lebih
besar, kekurangan lainnya adalah mereka harus membangun dan me-reboot kernel
setiap saat hendak menambah fungsi baru. Dengan adanya modul maka setiap pihak
dapat dengan mudah menulis fungsi-fungsi baru dan bahkan mendistribusikannya
sendiri, di luar GPL.
Kernel modul juga memberikan
keuntungan lain yaitu membuat sistem Linux dapat dinyalakan dengan kernel
standar yang minimal, tanpa tambahan device driver yang ikut dipanggil. Device
driver yang dibutuhkan dapat dipanggil kemudian secara eksplisit mau pun secara
otomatis saat dibutuhkan. Terdapat tiga komponen untuk menunjang modul kernel
Linux. Ketiga komponen tersebut adalah managemen modul, registrasi driver, dan
mekanisme penyelesaian konflik. Berikut akan dibahas ketiga komponen pendukung
tersebut.
Managemen Modul Kernel Linux
Managemen modul akan mengatur
pemanggilan modul ke dalam memori dan berkomunikasi dengan bagian lainnya dari
kernel. Memanggil sebuah modul tidak hanya memasukkan isi binarinya ke dalam memori kernel, namun juga harus
dipastikan bahwa setiap rujukan yang dibuat oleh modul ke simbol kernel atau
pun titik masukan diperbaharui untuk menunjuk ke lokasi yang benar di alamat
kernel. Linux membuat tabel simbol internal di kernel. Tabel ini tidak memuat
semua simbol yang didefinisikan di kernel saat kompilasi, namun simbol-simbol
tersebut harus diekspor secara eksplisit
oleh kernel. Semua hal ini diperlukan untuk penanganan rujukan yang dilakukan
oleh modul terhadap simbol-simbol.
Pemanggilan modul dilakukan
dalam dua tahap. Pertama, utilitas pemanggil modul akan meminta kernel untuk
mereservasi tempat di memori virtual kernel untuk modul tersebut. Kernel akan
memberikan alamat memori yang dialokasikan dan utilitas tersebut dapat
menggunakannya untuk memasukkan kode mesin dari modul tersebut ke alamat
pemanggilan yang tepat. Berikutnya system calls akan membawa modul, berikut
setiap tabel simbol yang hendak diekspor, ke kernel. Dengan demikian modul
tersebut akan berada di alamat yang telah dialokasikan dan tabel simbol milik
kernel akan diperbaharui.
Komponen managemen modul yang lain adalah
peminta modul. Kernel mendefinisikan antarmuka komunikasi yang dapat dihubungi
oleh program managemen modul. Saat hubungan tercipta, kernel akan
menginformasikan proses managemen kapan pun sebuah proses meminta device
driver, sistem berkas, atau layanan jaringan yang belum terpanggil dan
memberikan manajer kesempatan untuk memanggil layanan tersebut. Permintaan
layanan akan selesai saat modul telah terpanggil. Manajer proses akan memeriksa
secara berkala apakah modul tersebut masih digunakan, dan akan menghapusnya
saat tidak diperlukan lagi.
Registrasi Driver
Untuk membuat modul kernel yang
baru dipanggil berfungsi, bagian dari kernel yang lain harus mengetahui
keberadaan dan fungsi baru tersebut. Kernel membuat tabel dinamis yang berisi
semua driver yang telah diketahuinya dan menyediakan serangkaian routines untuk
menambah dan menghapus driver dari tabel tersebut. Routines ini yang
bertanggungjawab untuk mendaftarkan fungsi modul baru tersebut.
Hal-hal yang masuk dalam tabel
registrasi adalah:
·
device driver
·
sistem berkas
·
protokol jaringan
·
format binari
Resolusi Konflik
Keanekaragaman konfigurasi
perangkat keras komputer serta driver yang mungkin terdapat pada sebuah
komputer pribadi telah menjadi suatu masalah tersendiri. Masalah pengaturan konfigurasi perangkat keras tersebut menjadi semakin
kompleks akibat dukungan terhadap device driver yang modular, karena device
yang aktif pada suatu saat bervariasi.
Linux menyediakan sebuah
mekanisme penyelesaian masalah untuk membantu arbitrasi akses terhadap
perangkat keras tertentu. Tujuan mekanisme tersebut adalah untuk mencegah modul
berebut akses terhadap suatu perangkat
keras, mencegah autoprobes mengusik keberadaan driver yang telah ada,
menyelesaikan konflik di antara sejumlah driver yang berusaha mengakses
perangkat keras yang sama.
Kernel membuat daftar alokasi
sumber daya perangkat keras. Ketika suatu driver hendak mengakses sumber daya
melalui I/O port, jalur interrupt, atau pun kanal DMA, maka driver tersebut
diharapkan mereservasi sumber daya tersebut pada basis data kernel terlebih
dahulu. Jika reservasinya ditolak akibat ketidaktersediaan sumber daya yang
diminta, maka modul harus memutuskan apa yang hendak dilakukan selanjutnya.
Jika tidak dapat melanjutkan, maka modul tersebut dapat dihapus.
Komentar ini telah dihapus oleh pengarang.
BalasHapus