Saturday, February 14, 2009

Mengenal Linux yuk (linux part I)





Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas mahasiswa yang memiliki hobby untuk mencoba software-software baru. Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform termasuk prosesor Intel 386 maupun yang lebih tinggi. Sistem operasi ini mengimplementasikan standar POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell.

Nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu kumpulan software lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap.

Lingkungan sistem operasi ini mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas. Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak yang handal (reliable), termasuk versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim pengembang sendiri.

Perbedaan mendasar Linux

Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah harga. Linux ini lebih murah dan dapat diperbanyak serta didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi ada hal lain yang lebih utama selain pertimbangan harga yaitu mengenai source code. Source code Linux tersedia bagi semua orang sehingga setiap orang dapat terlibat langsung dalam pengembangannya.

Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk device tertentu tanpa harus mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam suatu sistem operasi yang nyata dan berkualitas komersial.

Karena Linux itu tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distrbusi yang dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus.

Perbandingan Linux terhadap sistem operasi lainnya

Linux disusun berdasarkan standar sistem operasi POSIX yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX. UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapat dikatakan Linux berjalan lebih cepat dibanding UNIX lain pada hardware yang sama. Dan lagi UNIX memiliki kelemahan yaitu tidak bersifat free.

MS-DOS memiliki kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat dijalankan pada prosesor x86 dan tidak mendukung multi user dan multi tasking, serta tidak bersifat free. Juga MSDOS tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak tersedianya perangkat lunak network, program pengembang dan program utilitas yang ada dalam Linux.

MSWindows menawarkan kemampuan grafis yang ada pada Linux termasuk kemampuan networking tetapi tetap memiliki kekurangan yang ada pada MS-DOS.

Windows NT yang juga tersedia untuk Digital Alpha selain prosesor x86. Namun Windows NT ini masih juga memiliki beberapa kekurangan yang telah ada pada MS-DOS.Waktu untuk menemukan suatu bug dalam suatu sistem operasi ini tak sebanding dengan harga yang harus dibayar.

Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi ketersediaan perangkat bantu pengembang (development tool) dan juga kurang dapat secara mudah untuk berintoperasi dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada PowerMac.

Sejarah Linux

Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler).

Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.

Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh, C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan pada lingkungan Hewlett-Packard dan Sun.

Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet, word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux dikenal sebagai Scilab.

Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux, beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :

  • RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang instalasi dan pengoperasiannya mudah.

  • Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya.

  • Slackware, merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua dokumentasi Linux disusun berdasarkan Slackware. Dua hal penting dari Slackware adalah bahwa semua isinya (kernel, library ataupun aplikasinya) adalah yang sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua karena dia menganjurkan untuk menginstall dari source sehingga setiap program yang kita install teroptimasi dengan sistem kita. Ini alasannya dia tidak mau untuk menggunakan binary RPM dan sampai Slackware 4.0, ia tetap menggunakan libc5 bukan glibc2 seperti yang lain.

  • SuSE, distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem. SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia.

  • Mandrake, merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggunakan pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake.

  • WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows.


Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul.

Kelebihan Linux

Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program dan file-file Linux/UNIX :

  • Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket.

  • Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan akan dinamakan sebagai proses.

  • Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file.

  • Linux/UNIX mendukung struktur file yang bersifat hirarki.

  • Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan pada saat yang bersamaan.

  • Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan memungkinkan lebih dari satu user masuk ke dakam sistem.



Bagian sistem operasi

Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan beberapa program aplikasi. Kernel merupakan inti dari sistem operasi yang mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian file pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang dibutuhkan oleh sistem operasi.

Program sistem dan semua program-program lainnya yang berjalan di atas kernel disebut user mode. Perbedaan mendasar antara program sistem dan program aplikasi adalah program sistem dibutuhkan agar suatu sistem operasi dapat berjalan sedangkan program aplikasi adalah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu. Contoh : daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi.

Bagian penting kernel Linux

Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen proses, manajemen memori, hardware device drivers, filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses dan manajemen memori. Manajemen memori menangani daerah pemakaian memori, daerah swap, bagian-bagian kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses dan penjadwalan proses. Pada bagian dasar kernel berisi hardware device drivers untuk setiap jenis hardware yang didukung.

0 comments: