Sistem operasi Unix dikembangkan dan
diimplementasikan pada tahun 1960-an dan pertama kali dirilis pada 1970. Faktor ketersediaannya
dan kompatibilitasnya yang tinggi menyebabkannya dapat digunakan, disalin dan
dimodifikasi secara luas oleh institusi-institusi akademis dan pada pebisnis.
Linux
Linux (Tux) dimulai saat Linus Torvalds
sedang berjalan-jalan di taman Perth. Saat sedang berjalan itu lah Linus Torvalds
di patok oleh sekor Pinguin dan demam selama berhari. Ia berfikir bahwa
karakter pinguin cocok untuk menjadi logo dari sistem operasi barunya itu. Maka
diadakan sebuah kompetisi untuk mendesain Logo Linux yang baru, dan kompetisi
itu dimenangkan oleh Larry Ewing yang berhasil menggambarkan seekor pinguin
yang sedang duduk.
Proyek GNU
Proyek GNU
yang mulai pada 1984
memiliki tujuan untuk membuat sebuah sistem operasi yang kompatibel dengan Unix
dan lengkap dan secara total terdiri atas perangkat lunak bebas.[6]
Tahun 1985, Richard Stallman mendirikan Yayasan Perangkat Lunak Bebas dan
mengembangkan Lisensi Publik Umum GNU (GNU General Public
License atau GNU GPL). Kebanyakan program yang dibutuhkan oleh sebuah
sistem operasi (seperti pustaka, kompiler, penyunting teks, shell Unix
dan sistem jendela) diselesaikan pada awal tahun 1990-an,
walaupun elemen-elemen tingkat rendah seperti device driver,
jurik
dan kernel masih belum selesai pada saat itu.[7]
Linus Torvalds pernah berkata bahwa jika kernel GNU sudah tersedia pada saat
itu (1991), dia tidak akan memutuskan untuk menulis versinya sendiri.[8]
MINIX
MINIX, sebuah sistem bertipe
Unix yang ditujukan untuk penggunaan akademis dirilis oleh Andrew S. Tanenbaum pada tahun 1987. Kode sumber
MINIX 1.0 tercantum dalam bukunya Operating Systems:
Design and Implementation. Walaupun dapat secara mudah
didapatkan, modifikasi dan pendistribusian ulang tidak diperbolehkan pada saat
itu. Hak cipta dari kode sumbernya termasuk ke dalam hak cipta dari bukunya
yang dipublikasikan oleh Prentice Hall. Sebagai tambahan, disain versi 16-bit dari MINIX kemudian tidak secara
baik diadaptasikan kepada versi 32-bit dari arsitektur Intel 386
yang murah dan populer yang digunakan secara luas di komputer pribadi.
Tahun 1991, Torvalds mulai bekerja
untuk membuat versi non-komersial pengganti MINIX sewaktu ia belajar di Universitas Helsinki.[9] Hasil kerjaannya
itu yang kemudian akan menjadi kernel Linux.
Pada tahun 1992, Tanembaum menulis
sebuah artikel di Usenet,
mengklaim bahwa Linux sudah ketinggalan zaman. Dalam artikelnya, ia mengkritik
Linux sebagai sebuah sistem operasi dengan rancangan monolitik
dan terlalu terpaku dengan arsitektur x86 sehingga tidak bersifat portable,
di mana digambarkannya sebagai sebuah "kesalahan mendasar".[10]
Tanenbaum menyarankan bahwa mereka yang menginginkan sebuah sistem operasi
modern harus melihat kepada sebuah rancangan yang berdasarkan kepada model mikrokernel.
Tulisan tersebut menekankan tanggung jawab Torvalds yang berujung kepada sebuah
debat
tentang rancangan kernel monolitik dan mikrokernel.[10]
Sekarang ini Linux telah digunakan di
berbagai domain, dari sistem benam[11] sampai superkomputer,[12] dan telah
mempunyai posisi yang aman dalam instalasi server web
dengan aplikasi LAMP-nya
yang populer.[13]
Pengembangan kernel Linux masih dilanjutkan oleh Torvalds, sementara Stallman
mengepalai Yayasan Perangkat Lunak Bebas yang mendukung pengembangan komponen GNU. Selain itu, banyak
individu dan perusahaan yang mengembangkan komponen non-GNU. Komunitas Linux
menggabungkan dan mendistribusikan kernel, komponen GNU dan non-GNU dengan
perangkat lunak manajemen paket dalam bentuk distribusi Linux.
Pengucapan
Pada tahun 1992, Torvalds menjelaskan
bagaimana ia mengeja kata Linux:
“
|
'li' dieja dengan bunyi [ee] pendek,
'nux' juga pendek, non-diftong, seperti dalam pUt. Linux hanya
merupakan nama kerja untuk sesuatu, dan karena saya menulisnya untuk
menggantikan minix di sistemku, hasilnya adalah apa adanya... linus' minix
menjadi linux.
|
”
|
Torvalds membuat sebuah contoh audio
yang berisi suara bagaimana pengejaannya dalam bahasa Inggris dan Swedia.[14][15] Tetapi, sebuah
wawancara dari dokumentasi tahun 2001 Revolution OS
mengindikasikan bahwa cara pengejaannya sedikit berubah.[16]
Dalam bahasa Inggris, banyak orang
cenderung mengeja Linux sebagai [ˈlɪnʊks] atau [ˈlɪnəks].
Desain
Linux merupakan sistem operasi bertipe Unix modular. Linux
memiliki banyak disain yang berasal dari disain dasar Unix yang dikembangkan
dalam kurun waktu 1970-an
hingga 1980-an.
Linux menggunakan sebuah kernel monolitik, kernel Linux
yang menangani kontrol proses, jaringan, periferal
dan pengaksesan sistem berkas. Device driver
telah terintegrasi ke dalam kernel.
Banyak fungsi-fungsi tingkat tinggi di
Linux ditangani oleh proyek-proyek terpisah yang berintegrasi dengan kernel. Userland GNU merupakan
sebuah bagian penting dari sistem Linux yang menyediakan shell dan peralatan-peralatan yang
menangani banyak fungsi-fungsi dasar sistem operasi. Di atas kernel,
peralatan-peralatan ini membentuk sebuah sistem Linux lengkap dengan sebuah antarmuka pengguna grafis yang dapat
digunakan, umumnya berjalan di atas X Window System.
Antarmuka pengguna
Lihat pula: Antarmuka pengguna
Linux dapat dikendalikan oleh satu atau
lebih antarmuka baris perintah (command line
interface atau CLI) berbasis teks, antarmuka pengguna grafis (graphical
user interface atau GUI, yang umumnya merupakan konfigurasi bawaan untuk
versi desktop).
Pada komputer meja, GNOME, KDE dan Xfce merupakan antarmuka
pengguna yang paling populer,[17] walaupun terdapat
sejumlah varian antarmuka pengguna. Antarmuka pengguna yang paling populer
berjalan di atas X Window System (X), yang menyediakan transparansi jaringan yang
memperolehkan sebuah aplikasi grafis berjalan di atas satu mesin tetapi
ditampilkan dan dikontrol di mesin yang lain.
GUI yang lain memiliki X window manager seperti FVWM, Enlightenment, Fluxbox, Icewm dan Window Maker.
Manajer jendela menyediakan kontrol untuk penempatan dan penampilan dari
jendela-jendela aplikasi individual serta interaksi dengan sistem jendela X.
Sebuah sistem Linux umumnya menyediakan
sebuah antarmuka baris
perintah lewat sebuah shell, yang merupakan cara tradisional untuk
berinteraksi dengan sebuah sistem Unix. Sebuah distro Linux
yang dikhususkan untuk lingkungan peladen mungkin hanya memiliki CLI sebagai satu-satunya
antarmuka. Sebuah sistem yang tidak memiliki monitor
hanya dapat dikontrol melalui baris perintah lewat protokol seperti SSH atau telnet.
Kebanyakan komponen tingkat rendah
Linux, termasuk GNU Userland, menggunakan CLI
secara ekslusif. CLI cocok untuk digunakan pada lingkungan otomasi tugas-tugas
yang repetitif atau tertunda, dan menyediakan komunikasi
inter-proses yang sangat sederhana. Sebuah program emulator terminal grafis
sering digunakan untuk mengakses CLI dari sebuah Linux desktop.
Pengembangan
Sebuah ringkasan sejarah sistem operasi-sistem operasi bertipe Unix menunjukkan asal usul Linux.
Perhatikan walaupun memiliki konsep dan disain arsitektur yang sama, Linux
tidak memiliki kode sumber yang tidak bebas seperti halnya Unix atau Minix.
Perbedaan utama antara Linux dan sistem
operasi populer lainnya terletak pada kernel Linux
dan komponen-komponennya yang bebas dan terbuka. Linux bukan satu-satunya sistem
operasi dalam kategori tersebut, walaupun demikian Linux adalah contoh terbaik
dan terbanyak digunakan. Beberapa lisensi perangkat lunak bebas dan sumber terbuka
berdasarkan prinsip-prinsip copyleft, sebuah konsep yang menganut prinsip: karya yang
dihasilkan dari bagian copyleft harus juga merupakan copyleft.
Lisensi perangkat lunak bebas yang paling umum, GNU GPL,
adalah sebuah bentuk copyleft, dan digunakan oleh kernel Linux dan
komponen-komponen dari proyek GNU.
Sistem Linux berkaitan erat dengan
standar-standar POSIX,[18] SUS,[19] ISO dan ANSI.
Akan tetapi, baru distribusi Linux-FT saja yang mendapatkan sertifikasi
POSIX.1.[20]
Proyek-proyek perangkat lunak bebas,
walaupun dikembangkan dalam bentuk kolaborasi, sering dirilis secara terpisah.
Akan tetapi, dikarenakan lisensi-lisensi perangkat lunak bebas secara eksplisit
mengijinkan distribusi ulang, terdapat proyek-proyek yang bertujuan untuk
mengumpulkan perangkat lunak-perangkat lunak tersebut dan menjadikannya
tersedia dalam waktu bersamaan dalam suatu bentuk yang dinamakan distribusi Linux.
Sebuah distribusi Linux,
yang umum disebut dengan "distro", adalah sebuah proyek yang
bertujuan untuk mengatur sebuah kumpulan perangkat lunak berbasis Linux dan
memfasilitasi instalasi dari sebuah sistem operasi Linux. Distribusi-distribusi
Linux ditangani oleh individu, tim, organisasi sukarelawan dan entitas
komersial. Distribusi Linux memiliki perangkat lunak sistem dan aplikasi dalam bentuk paket-paket dan
perangkat lunak yang spesifik dirancang untuk instalasi dan konfigurasi sistem.
Perangkat lunak tersebut juga bertanggung jawab dalam pemutakhiran paket.
Sebuah Distribusi Linux bertanggung jawab atas konfigurasi bawaan, sistem
keamanan dan integrasi secara umum dari paket-paket perangkat lunak sistem
Linux.
Komunitas
Sebuah sesi baris perintah menggunakan bash.
Linux dikendalikan oleh pengembang dan
komunitas penggunanya. Beberapa vendor mengembangkan dan mendanai distribusi
mereka sendiri dengan dasar kesukarelaan. Debian merupakan
contoh yang bagus. Yang lain memiliki versi komunitas dari versi komersialnya
seperti yang Red Hat
lakukan dengan Fedora.
Di banyak kota dan wilayah, asosiasi
lokal yang dikenal dengan nama Kelompok Pengguna
Linux (Linux Users Group atau LUG) mempromosikan Linux dengan
mengadakan pertemuan, demonstrasi, pelatihan, dukungan teknis dan instalasi
sistem operasi Linux secara gratis. Ada banyak juga komunitas Internet
yang menyediakan dukungan terhadap pengembang dan pengguna Linux. Banyak proyek
distribusi dan perangkat lunak sumber terbuka yang memiliki ruang percakapan IRC atau newsgroup.
Forum daring merupakan
bentuk lain untuk mendapatkan dukungan, contoh: LinuxQuestions.org dan forum
Gentoo.
Distribusi Linux memiliki milis
dengan pembagian topik seperti penggunaan atau pengembangan.
Ada beberapa situs web teknologi yang
berfokuskan kepada Linux. Linux Weekly News adalah
sebuah cernaan mingguan dari berita-berita yang berkaitan dengan Linux.
Sementara itu Linux Journal merupakan
majalah Linux daring yang dirilis setiap bulan. Slashdot
adalah situs web berita yang berhubungan dengan teknologi yang memiliki banyak
berita tentang Linux dan perangkat lunak bebas. Groklaw memiliki berita mendalam tentang
kemajuan Linux dan memiliki banyak artikel yang berhubungan dengan kernel Linux
serta hubungannya dengan GNU
dalam proyek GNU.
Majalah
Linux cetakan umumnya memiliki cakram sampul yang memuat
perangkat lunak atau bahkan distribusi Linux lengkap.[21][22]
Walaupun Linux secara umum tersedia
secara gratis, beberapa perusahaan besar menjalani model bisnis yang terdiri
dari penjualan, dukungan dan kontribusi terhadap Linux dan perangkat lunak
bebas; ini termasuk Dell, IBM, HP, Sun Microsystems,
Novell,
dan Red Hat.
Lisensi perangkat lunak bebas di mana digunakan Linux secara eksplisit
mengakomodasi komersialisasi; hubungan antara Linux dan vendor-vendor
individual dapat dilihat sebagai suatu simbiosis.
Satu model bisnis yang umum dari pemasok komersial yaitu dengan mengenakan
biaya atas dukungan khususnya terhadap pengguna-pengguna kalangan bisnis.
Sejumlah perusahaan menawarkan versi bisnis dari distribusi Linux mereka,
antara lain berupa dukungan atas paket-paket tak bebas dan alat bantu untuk
mengatur sejumlah besar instalasi atau untuk memudahkan tugas-tugas
administratif. Model bisnis yang lain adalah dengan memberikan perangkat lunak
secara gratis untuk penjualan perangkat keras.
Pemrograman di
Linux
Sebagian besar distribusi Linux
mendukung banyak bahasa pemrograman. Koleksi peralatan untuk
membangun aplikasi dan program-program sistem operasi yang umum terdapat di
dalam GNU toolchain, yang
terdiri atas GNU Compiler
Collection (GCC) dan GNU build system. GCC
menyediakan kompilator untuk Ada, C, C++,
Java, dan Fortran.
Kernel Linux sendiri ditulis untuk dapat dikompilasi oleh GCC. Kompilator tak bebas (proprietary) untuk Linux
antara lain adalah Intel C++ Compiler dan IBM
XL C/C++ Compiler.
Kebanyakan distribusi juga memiliki
dukungan untuk Perl, Ruby, Python dan bahasa pemrograman dinamis lainnya. Contoh
bahasa pemrograman yang tidak umum tetapi tetap mendapat dukungan di Linux antara
lain adalah C#
dengan proyek Mono yang disponsori
oleh Novell,
dan Scheme.
Sejumlah Java Virtual Machine dan peralatan pengembang
jalan di Linux termasuk Sun Microsystems JVM (HotSpot), dan J2SE RE IBM,
serta proyek-proyek sumber terbuka lainnya seperti Kaffe. Dua kerangka kerja utama untuk
pengembangan aplikasi grafis di Linux adalah GNOME dan KDE. Proyek-proyek ini
berbasiskan GTK+
dan Qt. Keduanya mendukung beragam bahasa
pemrograman. Untuk Integrated development environment
terdapat Anjuta,
Code::Blocks, Eclipse,
KDevelop,
Lazarus, MonoDevelop, NetBeans, dan Omnis Studio, sedangkan
penyunting teks yang telah lama tersedia adalah Vim dan Emacs.[23]





