Perkenalan
Linux
Linux merupakan sebuah proyek hobi yang
dikerjakan oleh Linus Torvalds, remaja 21 Tahun yang kuliah di Universitas
Helsinki Finlandia. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991 yang
kemudian dikenalkan ke mailing list comp.os.minix, dengan maksud menawarkan
sumber kode dari apa yang telah dia buat dan mengundang para programmer lain
untuk berpartisipasi dalam proyek tersebut. Pada tanggal 5 Oktober 1991, Linus
mengumumkan versi resmi Linux yaitu versi 0.02 yang hanya dapat menjalankan GNU Bourne Again Shell dan GNU C Compiler.
GNU sendiri merupakan sebuah proyek yang didirikan
oleh Ricard M Stallman pada tahun 1984, yang bertujuan untuk membuat
sistem operasi lengkap bergaya UNIX yang bebas bagi masyarakat. Linux merupakan
trademark yang dimiliki oleh Linus Torvald, yang terdaftar sebagai “Program
sistem operasi komputer bagi penggunaan komputer dan operasi”. Pemberian
lisensi trademark Linux sekarang dibawah pengawasan Linux Mark Institute. Untuk
penggunaan sehari-hari, pengguna dapat memilih distro/distribusi Linux yang
telah banyak dikenal, seperti Debian, RedHat, Mandrake, SuSE, Gentoo,
Slackware, Ubuntu, Kubuntu dan ratusan distro lainnya yang masing-masing
mempunyai kekurangan dan kelebihan sendiri-sendiri. Perbedaan mendasar dari
sebuah distro adalah paket-paket yang disertakan ataupun manajemen paketnya
akan tetapi dari perbedaan tersebut masih tetap menggunakan kernel Linux yang
sama yang masih dipimpin oleh Linus Torvalds.
Linux
Desktop
Pengguna Linux, yang pada umumnya memasang dan
melakukan sendiri konfigurasi terhadap sistem, lebih cenderung mengerti
teknologi dibanding pengguna Microsoft Windows atau Mac OS. Mereka sering
disebut hacker atau geek. Namun stereotipe ini semakin berkurang dengan
peningkatan sifat ramah-pengguna Linux dan makin luasnya pengguna distribusi.
Linux telah membuat pencapaian yang cukup baik dalam pasaran komputer server
dan komputer tujuan khusus, seperti mesin render gambar dan server web. Linux
juga mulai populer dalam pasaran komputer desktop.
Linux merupakan asas kepada kombinasi program-server
LAMP, kependekan dari Linux, Apache, MySQL, Perl/PHP/Python. LAMP telah
mencapai popularitas yang luas di kalangan pengembang Web.
Biaya pengadaan Linux yang murah memungkinkan penggunaannya dalam
peralatan seperti simputer, yaitu komputer berbiaya rendah yang ditujukan pada
penduduk berpendapatan rendah di Negara-negara berkembang.
Dengan lingkungan desktop seperti KDE dan GNOME, Linux
menawarkan antarmuka pengguna yang lebih menyerupai Apple Macintosh atau
Microsoft Windows daripada antarmuka baris teks seperti Unix. Oleh karena itu,
lebih banyak program grafik dapat ditemui pada Linux yang menawarkan berbagai fungsi
yang ada pada utilitas komersial.
Perkenalan
Shell dan File System
Shell adalah program (penterjemah perintah) yang
menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem
operasi), umumnya shell menyediakan prompt sebagai user interface, tempat
dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah
internal shell (internal command), ataupun perintah eksekusi suatu file progam
(eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah
pada sebuah atau beberapa file untuk dieksekusi sebagai program. Dari
keterangan di atas dapat kita simpulkan shell adalah suatu program penterjemah
perintah yang kita ketikkan di dalam prompt linux kita. Dan dapat kita
simpulkan juga bahwa fungsi dari shell adalah sebagai penghubung antara
user/pengguna dengan mesin linux kita (dalam hal ini adalah kernel sebagai
pondasi sistem operasi).
Macam-macam shell yang sering digunakan dalam sistem
operasi Linux diantaranya adalah :
·
Bourne shell (sh)
·
C shell(csh)
· Bourne again shell (bash)
Setiap jenis shell tersebut memiliki kelebihan dan
kekurangan sesuai dengan kebutuhan user masing-masing. Berikut ini adalah
sedikit penjelasan mengenai beberapa macam-macam shell di Linux
·
Bourne Shell
Diciptakan oleh Steven Bourne. Shell pertama di Unix. Bourne shell merupakan
bahasa pemrograman shell yag cukup baik namun kurang nyaman dalam
interaktivitas karena tidak dilengkai fasilitas command line completion atau
auto complete. Sehingga penulisan script harus dilakukan secara manual.
·
C Shell
Bill Joy mengembangkan bahasa pemrograman shell yang lebih mirip dengan bahasa
pemrograman C bagi sebagaian orang dianggap lebih sulit. Kelebihan bahasa
pemrograman shell ini daripada Bourne shell adalah sudah tersedia fitur command
line completion atau auto complete. Untuk melengkapi perintah kita hanya perlu
menekan tombol Tab.
·
Bourne Again Shell
(Bash)
Merupakan bahasa pemrograman shell yang saat ini banyak dipakai pada sistem
operasi linux. memliki interaktivitas yang lebih sempurna daripada sebelumnya
serta gaya bahasa pemrograman yang lebih mudah untuk digunakan.
Sistem file (file system) atau sistem berkas merupakan
struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada
pada disk. Dengan kata lain, sistem file merupakan database khusus untuk
penyimpanan, pengelolaan, manipulasi dan pengambilan data, agar mudah ditemukan
dan diakses.
Hubungan antara sistem operasi dengan sistem file
adalah sistem file (file system) merupakan interface yang menghubungkan sistem
operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau
media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk
mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file
(file system) akan membuka dan membaca file tersebut, kemudian mengirimkan
informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.
Sistem File Linux
Sistem operasi Linux mendukung banyak File System yang berbeda, tapi pilihan
yang umum digunakan adalah keluarga Ext* (Ext2, Ext3 dan Ext4) dan ReiserFS.
Berikut sistem file yang umumnya digunakan pada sistem operasi Linux:
1.
Ext2 (2nd Extended)
Ext2 merupakan jenis sistem file Linux paling tua yang masih ada. Sistem file
ini pertama kali dikenalkan pada Januari 1993. File system ini ditulis oleh
Rémy Card, Theodore T. dan Stephen Tweedie. File system ini merupakan penulisan
ulang besar-besaran dari Extended file system. Ext2 adalah sistem file yang
paling ampuh di Linux dan menjadi dasar dari segala distribusi linux.
Pada sistem file Ext2, file data disimpan sebagai data blok. Data blok ini
mempunyai panjang yang sama dan meskipun panjangnya bervariasi di antara sistem
file Ext2, besar blok tersebut ditentukan pada saat sistem file dibuat dengan
mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes
akan memakai 2 blok. Ini berarti kita membuang setengah blok per file.
Sistem file Ext2 menyimpan data secara hirarki standar yang banyak digunakan
oleh sistem operasi. Data tersimpan di dalam file, file tersimpan di dalam
direktori. Sebuah direktori bisa mencakup file dan direktori lagi di dalamnya
yang disebut sub direktori.Ext2 mendefinisikan topologi sistem file dengan
memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur
data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak
akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam
sistem file Ext2 terdiri dari inode tunggal dan setiap inode mempunyai nomor
identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode.
Direktori dalam sistem file Ext2 adalah file khusus yang mengandung pointer ke
inode masing-masing isi direktori tersebut.Inode dalam Ext2
Inode adalah kerangka dasar yang membangun Ext2. Inode dari setiap kumpulan
blok disimpan dalam tabel inode bersama dengan peta bit yang menyebabkan sistem
dapat mengetahui inode mana yang telah teralokasi dana inode mana yang belum.
Inode juga dapat menunjuk pada device khusus dan dapat menangani program
sehingga program dapat mengakses ke device. Semua file device di dalam drektori
/dev dapat membantu program mengakses device. Superblok dalam Ext2
Superblok mengandung informasi tentang ukuran dasar dan bentuk file sistem.
Informasi di dalamnya memungkinkan file system manager untuk menggunakan dan
merawat sistem file. Biasanya, hanya superblok di blok group 0 saat file sistem
di-mount tetapi setiap blok grup mengandung duplikatnya untuk menjaga jika file
sistem menjadi rusak. Informasi yang dikandung adalah:
·
Magic Number,
meyakinkan software bahwa ini adalah superblok dari sistem file Ext2.
·
Revision Level,
menunjukkan revisi mayor dan minor dari sistem file.
·
Mount Count dan
Maximum Mount Count, menunjukkan pada sistem jika harus dilakukan pengecekan
dan maksimum mount yang diijikan sebelum e2fsck dijalankan.
·
Blocks per Size, besar
blok dalam file sistem, contohnya 1024 bytes.
·
Blocks per Group,
banyaknya blok per grup.
·
Block Group Number,
nomor blok grup yang mengadung copy dari superblok.
·
Free Blocks, banyaknya
blok yang kosong dalam file sistem.
·
Free Inode, banyak
inode kosong dalam file sistem.
·
First Inode, nomor
inode dalam inode pertama dalam file sistem, inode pertama dalam Ext2 root file
sistem adalah direktori “/”.
2.
Ext3 (3rd Extended)
Ext3 adalah peningkatan dari sistem file Ext2. Peningkatan ini memiliki
beberapa keuntungan, diantaranya:
·
Journaling,
dengan menggunakan journaling, maka waktu recovery pada shutdown mendadak tidak
akan selama pada Ext2. Namun ini menjadi kekurangan dari Ext3, karena dengan
adanya fitur journaling, maka membutuhkan memori yang lebih dan memperlambat
operasi I/O (Input/Output).
·
Integritas data,
Ext3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean
shut down. Ext3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
·
Kecepatan,
daripada menulis data lebih dari sekali, Ext3 mempunyai throughput yang lebih
besar daripada Ext2 karena Ext3 memaksimalkan pergerakan head hard disk. Kita
bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas
data tidak terjamin.
·
Mudah dilakukan
migrasi,
kita dapat berpindah dari sistem file Ext2 ke sistem file Ext3 tanpa melakukan
format ulang.
3.
Ext4 (4th Extended)
Ext4 merupakan peningkatan dari sistem file Ext3. Ext4 dirilis secara lengkap
dan stabil mulai dari kernel 2.6.28. Keuntungan menggunakan Ext4 adalah
mempunyai pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB =
1.048.576 TB. Ukuran maksimum sistem file 16 TB.
4.
JFS (Journalis File
System)
JFS atau dikenal juga dengan nama IBM Journal File System merupakan sistem file
pertama yang menawarkan journaling. JFS sudah bertahun-tahun digunakan dalam
IBM AIX® OS sebelum digunakan ke GNU/Linux. JFS saat ini menggunakan sumber
daya CPU paling sedikit dibandingkan sistem file GNU/Linux lainnya. JFS sangat
cepat diformat, mounting dan fsck, serta memiliki kinerja sangat baik, terutama
berkaitan dengan deadline I/O scheduler. Walaupun begitu, dukungan terhadap JFS
tidak seluas sistem file Ext atau Reiser FS.
5.
Reiser FS
Sistem file Reiser dibuat berdasarkan balance tree yang cepat dan unggul dalam
hal kinerja, dengan algoritma yang lebih rumit. Sistem file Reiser juga
memiliki jurnal yang cepat dan ciri-cirinya mirip sistem file Ext3. Sistem file
Reiser lebih efisien dalam pemanfaatan ruang disk, dimana dapat menghemat disk
sampai dengan 6 persen. Contohnya jika kita menulis file 100 bytes, hanya
ditempatkan dalam satu blok sementara sistem file lain menempatkannya dalam 100
blok. Reiser file system tidak memiliki pengalokasian yang tetap untuk inode.
0 komentar:
Posting Komentar