Pengenalan LINUX
* 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.
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. 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.
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.
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, iatetap 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 / Mandriva, 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.
Kelebihan Linux
* 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.
Sistem Linux
Sistem operasi Linux terbagi menjadi tiga bagian utama yang saling berinteraksi satu sama lain :
* Kernel Linux
Kernel merupakan program inti dari Sistem Linux. Tugas yang dipegang oleh Kernel ini antara lain :
a. Mengendalikan akses terhadap komputer
b. Mengatur memori komputer
c. Memelihara sistem file
d. Mengalokasikan sumber daya komputer diantara pemakai.
* Shell
Shell merupakan program yang memungkinkan pemakai dapat berkomunikasi dengan komputer. Tugas shell adalah membaca perintah yang diberikan pemakai dan menerjemahkan perintah [command intepreter] tersebut sebagai suatu permintaan dan meneruskanya ke Kernel. Padaprompt shell, pemakai memberi perintah kepada shell dan kemudian shell akan langsung memberikan respon. Perintah-perintah tersebut dapat dirangkai serta dapat disimpan dalam sebuah file teks yang disebut dengan program shell atau shell scripting.
* Utilitas
Utilitas adalah program bantu diluar shell untuk melakukan tugas tertentu, misalnya saja untuk mengedit dokumen, memanipulasi file, menambah user, menghapus user dan lain sebagainya.
File System Linux
File sistem merupakan kumpulan file-file pada media penyimpanan dimana file-filetersebut diorganisasikan dengan suatu metode tertentu. File sistem Linux ataupun UNIX pada umumnya berbentuk pohon [tree]
Setiap direktory yang berada dibawah root-direktory mempunyai karakteristik sendiri-sendiri, meskipun hal ini tidak mengikat. Karakteristik direktory tersebut antara lain :
Direktory Karakteristik Standar
/root: biasanya merupakan direktory kerja bagi super user [root]
/sbin: biasanya berisi file-file executable yang hanya bisa dieksekusi oleh root
/bin: biasanya berisi file-file executable yang bisa dieksekusi oleh seluruh user
/home:biasanya merupakan direktory kerja bagi user
/var: biasanya berisi file Log [catatan system]
/dev: biasaya merupakan direktory bagi perangkat keras
/tmp: biasanya digunakan untuk menyimpan temporary file
/usr: biasanya merupakan tempat installasi program
Manajemen File dan Direktory
Sistem File di Linux mengadopsi sistem File di UNIX, sistem file ini mempunyai tiga buah jenis file yaitu :
- File Biasa [ordinary file / regular file]
File yang biasa digunakan untuk menyimpan data baik itu gambar, text, grafik dan lain sebagainya.
- Direktory
File yang berisi daftar nama file dan bilangan inode dari masing-masing file.
- File Spesial
File yang umumnya menyatakan suatu perangkat keras, misalnya CD-ROM, USB-DISK dan lain sebagainya.
Setiap file termasuk direktory memiliki “path” yang unik yang menyatakan letak file atau direktory tersebut.
Ada dua cara menyatakan nama “path” setiap file ataupun direktory yaitu :
* Absolute Path
Cara menyatakan file ataupun direktory yang dimulai dari root direktory [ "/" ]
Misal: /home/al3x/MyJava.java
* Relatif Path
Cara menyatakan file ataupun direktory berdasarkan direktory kerja saat itu misalnya saja jika direktory kerja saat itu ada di direktory /usr maka untuk menyatakan file MyJava.java yang terletak pada absolute direktory /home/al3x/myJava.java adalah ../home/al3x/MyJava.java
Catatan : .. [titik dua] merupakan tanda untuk turun satu tingkat dari direktory kerja saat ini.
Linux merupakan sistem operasi yang bekerja multi user sehingga setiap file maupun direktory
Dalam sistem operasi Linux memiliki identitas kepemilikan. Identitas kepemilikan tersebut dibagi menjadi tiga kelas :
* User [Owner]
Dimiliki oleh pengguna yang menciptakan file tersebut
* Group
Menyatakan kepemilikan kelompok
* Other
Pengguna lain dalam sistem operasi Linux diluar Owner dan Group
Selain identitas kepemilikan diatas, sebuah file juga mempunyai informasi untuk mengatur siapa yang berhak untuk membaca, menulis [mengubah] atau menjalankan file tersebut.
Model akses terhadap sebuah file dibedakan menjadi tiga yaitu Read [baca], Write [tulis] dan eXecute [eksekusi].
contoh :
al3x@TheMentor:~$ ls -la MyJava.java
-rwxrwxrwx 1 al3x al3x 0 2005-08-25 20:04 MyJava.java
al3x@TheMentor:~$
kolom pertama yang berisi -rwxrwxrwx
* 1 karakter awal [ "-" ] sebagai penanda antara file dan direktory
* 3 karakter berikutnya ["rwx"] menandakan akses permison buat user
* 3 karakter berikutnya ["rwx"] merupakan akses permision buat group
* 3 karakter berikutnya ["rwx"] menandakan akses permison buat other
kolom ke-3 dan ke-4 al3x al3x yang menandakan bahwa file tersebut adalah milik al3x dengan group al3x.
Angka 0 berikutnya menandakan ukuran dari file
10 keunggulan Linux
1. Di dalam distribusi Linux terdapat software-software berharga jutaan Rupiah yang gratis atau beberapa ribu rupiah untuk kemasan CDnya.
2. Dilengkapi dengan puluhan lingkungan pengembangan aplikasi, termasuk C, C++, Fortran, Ada, toolkit seperti Qt dan beberapa bahasa script semacam Perl, Python, Awk, dan sed. Kompiler C pada Windows harganya lebih dari 1000 Dolar Amerika
3. Fasilitas jaringan yang istimewa, memungkinkan untuk berbagi CPU
4. Lingkungan yang ideal untuk menjalankan server, seperti Web Server, FTP Server, Authentication Server dan sebagainya
5. Tersedia pula software komersial, jika kebutuhan tidak terpenuhi dengan software yang gratis
6. Sistem operasi yang mudah untuk diupgrade
7. Mendukung banyak prosesor sebagai standar
8. Multi-Tasking yang nyata; memungkinkan untuk menjalankan lebih dari satu program pada waktu yang sama
9. Sistem GUI (graphic user interface) yang disebut X yang istimewa, berbanding lurus dengan Windows namun sangat mudah untuk customize
10. Sistem operasi yang lengkap yang :
* Stabil – aplikasi yang crash tidak menyebabkan sistem operasi Down
* Reliable – Server Linux sudah biasa hidup dalam jangka waktu RATUSAN hari, dibanding Windows yang perlu diReboot secara berkala
* Secara Ekstrim Sangat Bermanfaat