Pengertian GNU, Kernel, Open Source, Live CD
GNU/Linux adalah sebuah sistem operasi yang diciptakan oleh Linus
Benedict Torvalds seorang mahasiswa Universitas Helsinki Finlandia di
tahun 1991.Proyek GNU ini diluncurkan pada tahun 1984 untuk mengembangkan sebuah sistem operasi lengkap mirip UNIX berbasis perangkat lunak bebas: yaitu sistem GNU (GNU merupakan akronim berulang
dari “GNU’s Not Unix”; GNU dilafalkan dengan “genyu”). Varian dari
sistem operasi GNU, yang menggunakan kernel Linux, dewasa ini telah
digunakan secara meluas. Walau pun sistem ini sering dirujuk sebagai
“Linux”, sebetulnya lebih tepat jika disebut sistem GNU/Linux. Ada
salah satu fitur atau kemampuan yang sangat menarik dari GNU/Linux yang
belum ada pada sistem operasi populer lainnya, yaitu menjalankan sistem
operasi dan aplikasi lengkap tanpa menginstalnya di hard disk. Dengan
cara ini dengan mudah kita dapat menggunakan GNU/Linux di komputer orang
lain karena tak perlu menginstalnya (tak perlu mengutak-atik hard disk
dan partisinya). Sejarah sistem operasi Linux berkaitan erat dengan proyek GNU, proyek program bebas freeware terkenal diketuai oleh Richard Stallman. Proyek GNU diawali pada tahun 1983 untuk membuat sistem operasi seperti Unix lengkap — kompiler, utiliti aplikasi, utiliti pembuatan dan seterusnya — diciptakan sepenuhnya dengan perangkat lunak bebas. Pada tahun 1991,
pada saat versi pertama kerangka Linux ditulis, proyek GNU telah
menghasilkan hampir semua komponen sistem ini — kecuali kernel. Torvalds
dan pembuat kernel seperti Linux menyesuaikan kernel mereka supaya
dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem
operasi yang cukup berfungsi. Oleh karena itu, Linux melengkapi ruang
terakhir dalam rancangan GNU.
Beberapa distro Linux Live CD yang banyak dipakai antara lain Knoppix,
SUSE Live Eval, Mandrake Move, Gentoo Live CD, Slackware Live CD dll.
Meskipun bentuknya Live CD, tetapi distro tersebut memiliki fungsi yang
sama dengan distro-distro terinstal. Di dalam CD tersebut, sudah
terdapat paket-paket umum yang biasa kita jumpai di distro Linux besar,
seperti: OpenOffice, KOffice, XMMS, GIMP, Konqueror, dan sebagainya.
Namun ada beberapa pengecualian, yaitu beberapa paket yang memang sangat
besar dan kiranya tidaklah umum digunakan oleh home user, mengingat
kapasitas CD yang terbatas, yaitu sekitar 700MB.
Kepraktisan itu ada batasnya karena selama operasionalnya, Linux Live CD tidak mempunyai sebuah tempat khusus di dalam harddisk. Linux Live CD hanya memiliki tempat di memori utama (RAM), sehingga setelah di-restart, semua isi RAM akan dikosongkan dan Linux Live CD harus melakukan inisialisasi ulang untuk mendeteksi semua perangkat keras yang dimiliki oleh user. Selain itu, kinerja dari Linux Live CD sendiri juga tidak bisa maksimal, karena kecepatan komputer untuk mengakses CD-ROM jauh lebih lambat dibandingkan dengan kecepatan mengakses harddisk.
Kepraktisan itu ada batasnya karena selama operasionalnya, Linux Live CD tidak mempunyai sebuah tempat khusus di dalam harddisk. Linux Live CD hanya memiliki tempat di memori utama (RAM), sehingga setelah di-restart, semua isi RAM akan dikosongkan dan Linux Live CD harus melakukan inisialisasi ulang untuk mendeteksi semua perangkat keras yang dimiliki oleh user. Selain itu, kinerja dari Linux Live CD sendiri juga tidak bisa maksimal, karena kecepatan komputer untuk mengakses CD-ROM jauh lebih lambat dibandingkan dengan kecepatan mengakses harddisk.
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. Istilah Linux sebetulnya hanya mengacu pada kernel dari
suatu sistem operasi. Kernel adalah Jembatan antara hardware dan
aplikasi-aplikasi yg menterjemahkan bahasa software sehingga mampu
dimengerti dan diproses oleh hardware sesuai dengan permintaan. 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.
Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk
menjalankan sebuah komputer. Program dapat langsung dijalankan secara
langsung di dalam sebuah mesin (contohnya adalah CMOS Setup) sehingga para pembuat program tersebut membuat program tanpa adanya dukungan dari sistem operasi atau hardware abstraction.
Cara kerja seperti ini, adalah cara kerja yang digunakan pada zaman
awal-awal dikembangkannya komputer (pada sekitar tahun 1950). Kerugian
dari diterapkannya metode ini adalah pengguna harus melakukan reset
ulang komputer tersebut dan memuatkan program lainnya untuk berpindah
program, dari satu program ke program lainnya. Selanjutnya, para pembuat
program tersebut membuat beberapa komponen program yang sengaja
ditinggalkan di dalam komputer, seperti halnya loader atau debugger, atau dimuat dari dalam ROM (Read-Only Memory).
Seiring dengan perkembangan zaman komputer yang mengalami akselerasi
yang signifikan, metode ini selanjutnya membentuk apa yang disebut
dengan kernel sistem operasi.
Selanjutnya, para arsitek sistem operasi mengembangkan kernel sistem
operasi yang pada akhirnya terbagi menjadi empat bagian yang secara
desain berbeda, sebagai berikut:
-
Monolithic Kernel. Monolithic kernel mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
-
Microkernel. Microkernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya—yang disebut dengan server—untuk melakukan beberapa fungsionalitas lainnya.
-
Hybrid kernel. Hybrid kernel adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
-
Exokernel. Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain monolithic kernel.
open source
adalah sistem pengembangan yang tidak dikoordinasi oleh suatu
orang/lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan
memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi,
yang artinya ketika suatu komunitas menggunakan sebuah program Open
Source dan telah menerima sebuah manfaat kemudian akan termotivasi untuk
menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik
kepada orang banyak. Pengembangan Linux bersifat open source artinya
source code dari aplikasi pembentuk sistem dan aplikasi lainnya
diberikan secara terbuka sehingga setiap orang dapat melakukan
modifikasi atau kustomisasi sesuai dengan kebutuhan masing-masing.
Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi
berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan
pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama
ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk
belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan
menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung
jawab, bukan bebas tanpa tanggung jawab. Pada intinya konsep sumber
terbuka adalah membuka “kode sumber” dari sebuah perangkat lunak.
Konsep ini terasa aneh pada awalnya dikarenakan kode sumber merupakan
kunci dari sebuah perangkat lunak. Dengan diketahui logika yang ada di
kode sumber, maka orang lain semestinya dapat membuat perangkat lunak
yang sama fungsinya. Sumber terbuka hanya sebatas itu. Artinya, dia
tidak harus gratis. Definisi sumber terbuka yang asli adalah seperti
tertuang dalam OSD (Open Source Definition)/Definisi sumber terbuka. Pergerakan perangkat lunak bebas
dan sumber terbuka saat ini membagi pergerakannya dengan pandangan dan
tujuan yang berbeda. Sumber terbuka adalah pengembangan secara metodelogi,
perangkat lunak tidak bebas adalah solusi suboptimal. Bagi pergerakan
perangkat lunak bebas, perangkat lunak tidak bebas adalah masalah sosial dan perangkat lunak bebas adalah solusi.
0 komentar:
Posting Komentar