Sejarah Operating System Linux
SejarahRichard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux
Richard Stallman, pendiri proyek GNU, dan Linus Torvalds, pembuat kernel Linux
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.
Logo Linux
Logo Linux (Tux) dimulai saat Linus Torvalds sedang berjalan-jalan di taman Perth. Saat sedang berjalan itu lah Linus Torvalds di patok oleh seekor 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
!Artikel utama untuk bagian ini adalah: Distribusi Linux
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]
Penggunaan
Sebagian besar distribusi Linux didisain untuk penggunaan umum di komputer meja dan peladen, tetapi terdapat distribusi yang dikhususkan untuk tujuan dan lingkungan yang berbeda yang tergantung kepada dukungan arsitektur komputer, sistem benam, stabilitas, keamanan, lokalisasi ke wilayah atau bahasa tertentu, kelompok pengguna tertentu, dukungan aplikasi waktu nyata, atau lingkungan desktop tertentu. Beberapa distribusi bahkan mengikutkan hanya perangkat lunak bebas. Sekarang ini ada sekitar tiga ratus distribusi yang secara aktif dikembangkan, dengan sekitar selusin distribusi yang menjadi terpopuler untuk penggunaan secara umum.[24]
Linux adalah sistem operasi yang di-porting secara luas. Kernel Linux awalnya didisain hanya untuk mikroprosesor Intel 80386, sekarang kernel Linux telah jalan di beragam arsitektur komputer antara lain di perangkat hand-held iPAQ berbasis ARM, komputer mainframe IBM System z9, dari peralatan berupa telepon bergerak hingga superkomputer.[25] Terdapat distribusi yang dikhususkan untuk sejumlah kecil arsitektur. Fork kernel ELKS dapat dijalankan di mikroprosesor 16-bit Intel 8086 atau Intel 80286, sementara fork kernel µClinux dapat dijalankan di atas sistem yang tidak memiliki sebuah unit manajemen memori.
Komputer meja
!Artikel utama untuk bagian ini adalah: Linux untuk komputer meja
Walaupun masih terdapat kekurangan dalam hal porting Linux untuk beberapa perangkat lunak Mac OS X dan Microsoft Windows untuk domain seperti desktop publishing[26] dan audio profesional,[27][28][29] aplikasi yang secara kasar sama dengan aplikasi-aplikasi untuk Mac dan Windows tersebut tersedia di Linux.[30]
Kebanyakan distribusi Linux menyediakan sebuah program untuk melihat daftar ribuan perangkat lunak bebas yang telah diuji dan dikonfigurasi untuk sebuah distribusi yang spesifik. Program-program bebas ini dapat diunduh dan diinstal dengan satu klik tetikus dan sebuah tanda tangan digital menjamin bahwa tidak ada seorangpun yang menambahkan virus atau spyware ke program-program tersebut.
Banyak perangkat lunak bebas yang populer di Windows seperti Pidgin, Mozilla Firefox, OpenOffice.org dan GIMP. Jumlah perangkat lunak berbayar di Linux juga semakin bertambah[31] seperti Adobe Flash Player, Acrobat Reader, Matlab, Nero Burning ROM, Opera, RealPlayer, dan Skype. Dalam animasi dan efek visual, terdapat juga perangkat lunak di Linux seperti halnya Windows seperti AutoDesk Maya, Softimage XSI dan Apple Shake. CrossOver merupakan perangkat lunak berbayar berbasis proyek sumber terbuka Wine yang dapat menjalankan versi lama dari Microsoft Office dan Adobe Photoshop. Microsoft Office 2007 dan Adobe Photoshop CS3 diketahui dapat dijalankan[32][33]
Hak cipta dan merek dagang
Linux kernel dan sebagian besar perangkat lunak GNU menggunakan GNU General Public License (GPL) sebagai basis lisensinya. GPL mengharuskan siapapun yang mendistribusikan kernel linux harus membuat kode sumber (dan semua modifikasi atas itu) tersedia bagi pengguna dengan kriteria yang sama. Tahun 1997, Linus Torvald menyatakan, “Menjadikan Linux berbasis GPL sungguh merupakan hal terbaik yang pernah saya lakukan.”[34] Komponen penting lain dalam sistem Linux diijinkan menggunakan lisensi selain dari GPL; banyak pustaka menggunakan GNU Lesser General Public License (LGPL), varian GPL yang lebih moderat, dan sistem X Window System menggunakan MIT License.
Linus Torvald telah menyatakan ke khayalak umum bahwa ia tidak akan memindahkan lisensi kernel Linux yang saat ini menggunakan GPL versi 2 ke GPL versi 3, yang ditembangkan pada pertengahan tahun 2007, dengan alasan beberapa ketentuan yang terdapat pada lisensi baru tersebut melarang penggunaan perangkat lunak dalam manajemen hak digital (Inggris: Digital rights management).[35][36]
Penelitian yang dilakukan pada tahun 2001 terhadap Red Hat Linux 7.1 menemukan bahwa distro perangkat lunak tersebut terdiri atas 30 juta baris kode. Dengan menggunakan algoritma model biaya konstruktif (Inggris:Constructive Cost Model), penelitian itu memperkirakan bahwa distro tersebut membutuhkan waktu kira-kira delapan ribu tahun kerja untuk mengembangkannya. Menurut penelitian tersebut, jika semua elemen dari perangkat lunak tersebut dikembangkan dengan cara konvensional dalam artian sebagai perangkat lunak tertutup, pengembangan distro tersebut akan menelan biaya sebesar 1,08 miliar dolar (basis nilai tukar dolar tahun 2000) untuk dikembangkan di Amerika Serikat.[37]
Sebagian besar kode (71%) ditulis dengan menggunakan bahasa pemrograman C, namun banyak bahasa lainnya juga ikut terlibat seperti C++, Assembly, Perl, Python, Fortran, dan berbagai bahasa skrip lain. Lebih dari separuh dari seluruh kode dilisensikan di bawah naungan GPL. Kernel linux itu sendiri terdiri atas 2,4 juta baris kode, atau sekitar 8% dari total keseluruhan.[37]
Penelitian lainnya menghasilkan analisis yang sama terhadap distro Debian GNU/Linux versi 4.0.[38] Distro tersebut terdiri atas lebih dari 283 juta baris kode, dan penelitian tersebut memperkirakan biaya pengembangan yang dibutuhkan sebesar 5,4 miliar euro jika dikembangkan sebagai perangkat linak tertutup.