Bab 9. GNULinux
9.1. Pendahuluan
Linux adalah sebuah sistem operasi yang dikembangkan oleh Linus Benedict Torvalds dari Universitas Helsinki Finlandia sebagai proyek hobi mulai tahun 1991. Ia menulis Linux, sebuah
kernel untuk prosesor 80386, prosesor 32-bit pertama dalam kumpulan CPU Intel yang cocok untuk PC. Baru pada tanggal 14 Maret 1994 versi 1.0 mulai diluncurkan, dan hal ini menjadi tonggak
sejarah Linux.
Linux merupakan clone dari UNIX yang telah di-port ke beragam platform, antara lain: Intel 80x86, AlphaAXP, MIPS, Sparch, Power PC, dsb. Sekitar 95 kode sumber kernel sama untuk semua
platform perangkat keras.
Linux termasuk sistem operasi yang didistribusikan secara open source, artinya kode sumber Linux diikutsertakan sehingga dapat dipelajari dan dikembangkan dengan mudah. Selain itu Linux
dikembangkan oleh GNU General Public License. Linux dapat digunakan untuk berbagai keperluan, seperti: jaringan, pengembangan software, dan sebagai end-user platform. Selama ini
Linux menjadi sistem operasi yang menjadi banyak perhatian karena kecanggihan dan harganya yang relatif murah dibanding dengan sistem operasi yang lain. Macam-macam distribusi Linux
antara lain: Stackware, Debian, RedHat, S.u.s.e., Caldera, dan Turbo Linux. Macam-macam distribusi Linux ini akan dibahas lebih mendalam pada Bagian 9.3, “Distro”.
Istilah Linux atau GNULinux GNU juga digunakan sebagai rujukan kepada keseluruhan distro Linux Linux distribution, yang didalamnya selalu disertakan program-program lain yang
mendukung sistem operasi ini. Contoh program-program tersebut adalah Web Server, Bahasa Pemrograman, Basis Data, Tampilan Desktop Desktop Environment seperti GNOME dan KDE,
dan aplikasisoftware perkantoran office suite seperti OpenOffice.org, KOffice, Abiword, Gnumeric, dan lainnya. Distro Linux telah mengalami pertumbuhan yang pesat dari segi popularitas,
sehingga lebih populer dari versi UNIX yang menganut sistem lisensi dan berbayar proprietary maupun versi UNIX bebas lain yang pada awalnya menandingi dominasi Microsoft Windows dalam
beberapa sisi.
Linux mendukung banyak Perangkat keras Komputer, dan telah digunakan di dalam berbagai peralatan dari Komputer pribadi, Superkomputer dan Sistem Benam Embedded System seperti
Telepon Seluler Ponsel dan Perekam Video pribadi Tivo.
Pada mulanya, Linux dibuat, dikembangkan dan digunakan oleh peminatnya saja. Kini Linux telah mendapat dukungan dari perusahaan besar seperti IBM, dan Hewlett-Packard dan perusahaan besar
lain. Para pengamat teknologi informatika beranggapan kesuksesan ini dikarenakan Linux tidak bergantung
kepada vendor
vendor-independence, biaya
operasional yang
rendah, dan
kompatibilitas yang tinggi dibandingkan versi UNIX proprietari, serta faktor keamanan dan kestabilannya dibandingkan dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas
keunggulan model pengembangan perangkat lunak sumber terbuka opensource software.
Gambar 9.1. Logo Linux
63
Tux, seekor Pinguin, merupakan logo dan maskot bagi Linux. Linux adalah trademark SN: 1916230 yang dimiliki oleh Linus Torvalds. Linux terdaftar sebagai Program sistem operasi
komputer bagi penggunaan komputer dan operasi. Trademark ini didaftarkan setelah ada suatu kejadian di mana seorang pemalsu bernama William R Della Croce Jr mulai mengirim surat kepada
para distributor Linux dan mengklaim trademark Linux adalah hak miliknya serta meminta royalti sebanyak 10 dari mereka. Para distributor Linux mulai mendorong agar trademark yang asli
diberikan kepada Linus Torvalds. Pemberian lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute.
9.2. Kernel
Bagian ini akan menjelaskan kernel secara umum dan sejarah perkembangan Kernel Linux. 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 di-load dan dijalankan diatas 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.
Ada 4 kategori kernel: 1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.
2. Microkernel.
Kernel yang menyediakan hanya sekumpulan kecil abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut sebagai server untuk menyediakan
fungsi-fungsi lainnya.
3. Hybrid modifikasi dari microkernel. Kernel yang mirip microkernel, tetapi ia juga
memasukkan beberapa kode tambahan di kernel agar ia menjadi lebih cepat
4. Exokernel. Kernel yang tidak menyediakan sama sekali abstraksi hardware, tapi ia menyediakan
sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat keras secara langsung atau hampir-hampir langsung.
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 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 TCPIP. 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.
64