File System Yang Digunakan Pada Linux
Pada postingan saya kali ini akan membahas file sistem pada system operasi Linux, OS Linux dapat mendukung banyak File System yang berbeda, tapi pilihan yang umum yang biasa di pakai untuk sistem operasi ini adalah di antaranya keluarga ext* (seperti ext2, ext3 dan ext4) dan juga yang terbarunya kini adalah ReiserFS dan SWAP.
Sebelum membahas lebih jauh tentang File System yang sudah disebutkan tersebut, lebih baik kita mengetahui terlebih dahulu apa itu File System.
Sebelum membahas lebih jauh tentang File System yang sudah disebutkan tersebut, lebih baik kita mengetahui terlebih dahulu apa itu File System.
File System adalah metode untuk menyimpan dan mengatur file-file dan data yang tersimpan di dalamnya untuk membuatnya mudah ditemukan dan diakses. File System dapat menggunakan media penyimpan data seperti HardDisk atau CD Rom. File System juga dapat melibatkan perawatan lokasi fisik file, juga memberikan akses ke data pada file server dengan berlaku sebagai klien untuk protokol jaringan (mis. NFS atau SMB klien), atau dapat juga berlaku sebagai file system virtual dan hanya ada sebagai metode akses untuk data virtual.
Ok..sekarang kita mulai dengan pokok bahasannya (mudah-mudahan tidak membosankan hehehe).
1. EXT2
Ext2 pertama kali dirilis pada bulan Januari 1993. Filesystem ini ditulis oleh Rémy Card, Theodore T. dan Stephen Tweedie, file system ini merupakan penulisan ulang besar-besaran dari Extended file system. Hingga bulan April 2001, file system ini masih menjadi file system tama di Linux. File system ini juga di implementasikan di sistem operasi lain seperti: NetBSD, FreeBSD, GNU HURD, Windows 95/98/NT, OS/2, dan RISC OS. Ext2 memiliki banyak kemiripan dengan filesystem asli Unix. Ia memiliki konsep block, inode, dan directory. Serta memiliki ruang kosong untuk Access Control Lists (ACLs), fragment, undeletion, dan compression walaupun fungsi-fungsi tersebut belum diimplementasikan (terdapat melalui patch terpisah).
Terdapat juga mekanisme versioning yang mengizinkan fitur tambahan (seperti journaling) yang kompatibel. Pada file system EXT2, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file sistem, besar blok tersebut ditentukan pada saat file sistem dibuat dengan perintah 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. EXT2 mendefinisikan topologi file sistem 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 EXT2 file sistem terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut.
Adapun kelebihan dari file system ini, yaitu ketika proses boot, sistem pada umumnya menjalankan pemeriksaan rutin (e2fsck) terhadap filesystem. Terdapat beberapa field Superblock dari filesystem ext2 yang memberitahukan apakah fsck harus dijalankan (karena apabila memeriksa filesystem pada waktu boot akan memakan waktu yang sangat lama apabila ukurannya besar). Fsck akan dijalankan apabila filesystem tidak di unmount secara bersih, apabila jumlah mount maksimum telah dilampaui atau apabila jumlah waktu maksimum antara pemeriksaan telah dilampaui. Selain itu, Ekstensi journaling untuk kode ext2 dikembangkan oleh Stephen Tweedie. Dengan metode ini, resiko korupsi metadata dapat dihindari dan kebutuhan untuk menunggu e2fsck selesai setelah terjadi crash tanpa harus mengubah tatanan on-disk ext2. Singkat kata, journal adalah file biasa yang menyimpan seluruh block metadata (dan data tambahan) yang telah dimodifikasi, sebelum dituliskan kedalam filesystem. Ini berarti mungkin untuk menambahkan journal kedalam filesystem ext2 yang telah ada tanpa harus menkonversi data yang sudah ada. Ketika melakukan perubahan terhadap filesystem (perubahan nama file), data disimpan pada transaksi di dalam journal dan bisa sempurna ataupun tidak sempurna ketika terjadi crash. Ketika transaksi sempurna ketika terjadi crash (atau keadaan normal ketika sistem tidak crash), maka setiap block di dalam transaksi tersebut akan menunjukkan keadaan filesystem yang valid, dan dikopikan kedalam filesystem. Apabila transaksi tidak sempurna ketika terjadi crash, maka tidak ada jaminan bahwa block tersebut konsisten dan transaksi akan diabaikan (yang berarti perubahan terhadap filesystem akan hilang).
2. EXT3
EXT3 file sistem EXT3 adalah peningkatan dari EXT2 file sistem. Peningkatan ini memiliki beberapa keuntungan, diantaranya:
1. Setelah kegagalan sumber daya, "unclean shutdown", atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses. Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi "unclean shutdown" tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware.
2. Integritas data EXT3 menjamin adanya integritas data setelah terjadikerusakan atau "unclean shutdown". EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
3. Kecepatan Dari pada 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.
4. Mudah dilakukan migrasi Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.
3. EXT4
Filesystem Ext4, generasi baru, pengembangan lebih lanjut dari filesystem Ext3. Filesystem Ext4 didesain untuk memberikan performance yang lebih baik dan peningkatan kemampuan. Filesystem Ext4 juga meningkatkan daya tampung maksimal filesystem ke 1 exabyte dan mengurangi wktu yang diperlukan untuk melakukan pengecekan hardisk (fsck yang mana pada Filesystem Ext3, setiap 20-30 kali mount). Berdasarkan test benchmark yang dilakukan oleh beberapa benchmarker, Filesystem Ext4 memiliki keunggulan performance yang significant dalam menulis dan membaca file berukuran besar.
Filesystem Ext4 menyisihkan filesystem lain seperti xfs, jfs, Reiserfs dan ext3.
4. ReiserFS
Reiser file sistem memiliki jurnal yang cepat. Ciri-cirinya mirip EXT3 file sistem. Reiser file sistem dibuat berdasarkan balance tree yang cepat. Balance tree unggul dalam hal kinerja, dengan algoritma yang lebih rumit tentunya. Reiser file sistem lebih efisien dalam pemenfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. File sistem lain menempatkannya dalam 100 blok. Reiser file sistem tidak memiliki pengalokasian yang tetap untuk inode. Resier file sistem dapat menghemat disk sampai dengan 6 persen.
5. SWAP
Swap merupakan partition yang boleh dibuat pada hard disk dan digunakan sebagai virtual memory. Dengan maksud, swap ini digunakan apabila (fizikal memory) yang ada pada komputer telah digunakan secara maksimun, maka swap akan digunakan untuk menampung memori tambahan. Swap tidak boleh digunakan untuk data.
Comments
Post a Comment