Monday, April 4, 2011

Sejarah Sistem Operasi Linux, arsitektur dan pengembanganya

Sejarah

skema sejarah perkembangan linux dari masa ke masa
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.
Nama Linux merupakan kombinasi unik antara nama penciptanya dan nama sistem operasi yang menjadi targetnya (UNIX). Semuanya berawal dari sebuah sistem operasi bernama Minix. Minix dibuat oleh Profesor Andrew Tanenbaum. Minix adalah sistem operasi mirip UNIX yang bekerja pada PC.
Torvald adalah salah seorang mahasiswa di Universitas Helsinki yang menggunakan Minix. Walaupun cukup bagus, ia belum menganggap Minix memadai. Kemudian pada tahun 1991 ia membuat sistem operasi yang merupakan clone UNIX, yang diberi nama Linux.
Seperti halnya Minix, Linux tidak menggunakan kode apa pun dari vendor UNIX komersial, sehingga Torvalds mendistribusikan linux di internet secara bebas dan gratis. Pada Oktober 5 1991, Torvalds mengeposkan sistem operasinya di newsgroup comp.os.minix. Ia mengumumkan bahwa source code Linux tersedia dan meminta bantuan programmer-programmer lain untuk ikut mengembangkannya. Ketika itu Linux masih setengah matang, sistem operasi ini hanya bisa menjalankan sedikit perintah UNIX, seperti bash, gcc dan gnu-make. Saat Linux 1.0 diluncurkan pada 1994, sistem operasi ini telah cukup stabil dan memiliki banyak feature, seperti preemptive multitasking (kemampuan untuk membagi sumber daya CPU untuk banyak aplikasi) dan symmetric multiprocessing (kemampuan untuk membagi tugas di antara banyak CPU). Linux bahkan memiliki maskotnya sendiri yang oleh torvalds dijeaskan sebagai “seekor penguin yang menggemaskan dan ramah, yang kekenyangan setelah makan banyak ikan hering”
Pada 1996, tim pengembangan Linux yang ada diseluruh dunia mulai memberikan hasilnya. Tahun itu mereka telah membuat versi Linux untuk sejumlah versi hardware, dari Atari ST sampai Macintosh.
Linux terus berkembang pesat, utamanya karena ada sejumlah distributor (seperti RedHat, Caldera, dsb) yang berkompetisi untuk berebut pangsa pasar. Oleh karena itu dibentuk kelompok bernama Linux Standard Base. Kelompok ini bekerja untuk memastikan bahwa beragam distribusi Linux yang ada tetap bisa menjalankan aplikasi yang sama dan saling berinteroperasi. Saat ini ada tujuh distribusi Linux paling terkenal, yaitu :

  1. RedHat Linux, distributor paling populer di AS dan salah satu yang paling mudah digunakan.
  2. Mandrake Linux, distributor yang menambahkan update dan patch untuk RedHat Linux.
  3. Caldera Open Linux, distibrusi Linux dengan instalasi dan lingkungan pengguna berbasis grafis yang bagus.
  4. Suse Linux, distribusi Linux paling populer di Eropa yang juga menyediakan perangkat instalasi dan panduan berbahasa Indonesia.
  5. Slackware Linux. 
  6. Debian GNU/Linux. 
  7. TurboLinux, distribusi Linux paling populer di Asia yang menyediakan dukungan untuk set karakter khusus Asia.
Kemampuan Linux
  • Multiuser
  • Multiprocessor
  • Multitasking, memungkinkannya program-program berjalan bersamaan (background)
  • MultiThreading, dapat menciptakan subproses dengan cara efisien
  • Pembelokkan I/O, Pipe dan Filter
  • Local dan Network File System
  • Security, login dengan password, ownership, group
  • X-Window System
Logo
linux logo

Logo Linux adalah sebuah pinguin. Tidak sepert produk komersil sistem operasi lainnya, Linux tidak memiliki simbol yang terlihat hebat. Melainkan Tux, nama pinguin tersebut, memperlihatkan sikap santai dari gerakan Linux. Logo yang lucu ini memiliki sejarah yang unik. Awalnya, tidak ada logo yang dipilih untuk Linux, namun pada waktu Linus (pencipta Linux) berlibur, ia pergi ke daerah selatan.Disanalah dia bertemu seekor pinguin yang pendek cerita menggigit jarinya. Kejadian yang lucu ini merupakan awal terpilihnya pinguin sebagai logo Linux.

Tux adalah hasil karya seniman Larry Ewing pada waktu para pengembang merasa bahwa Linux sudah memerlukan sebuah logo (1996), dan nama yang terpilih adalah dari usulan James Hughes yaitu: "(T)orvolds (U)ni(X) -- TUX!". Lengkaplah sudah logo dari Linux, yaitu seekor pinguin bernama Tux.

Hingga sekarang logo Linux yaitu Tux sudah terkenal ke berbagai penjuru dunia. Orang lebih mudah mengenal segala produk yang berbau Linux hanya dengan melihat logo yang unik nan lucu hasil kerjasama seluruh komunitas Linux di seluruh dunia.


Desain Sistem Linux
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.
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

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
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]

0 komentar:

Post a Comment

Blog ini bersifat DoFollow. silahkan tinggalkan komentar yang sesuai dengan konten artikel. komentar yang tidak perlu akan kami hapus. Terima Kasih Atas Kunjungannya.

Twitter Delicious Facebook Digg Stumbleupon Favorites More