Kali ini saya akan menerangkan serba sedikit tentang sistem fail atau filesystem. Berikut adalah maksud filesystem yang diambil dari Wikipedia.
A file system (filesystem) is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device(s) which contain it. A file system organizes data in an efficient manner and is tuned to the specific characteristics of the device. There is usually a tight coupling between the operating system and the file system. Some filesystems provide mechanisms to control access to the data and metadata. Ensuring reliability is a major responsibility of a filesystem. Some filesystems provide a means for multiple programs to update data in the same file at nearly the same time.
Filesystem adalah satu cara untuk menyusun data apabila satu program dihentikan. Proses untuk menyimpan, mencari semula dan mengemaskini data adalah berbeza-beza bagi setiap filesystem yang berlainan. Oleh itu, cara yang digunakan oleh filesystem berformatkan NTFS adalah jauh berbeza dengan filesystem yang berformatkan Ext2. Begitu juga dengan filesystem berformat ReiserFS dan lain-lain filesystem.
Filesystem dan Sistem Operasi(OS) adalah berkait rapat dimana setiap OS dari kategori berlainan menggunakan filesystem yang berbeza. Microfost Windows menggunakan filesystem NTFS dan FAT32 manakala Ubuntu Linux pula menggunakan Ext4. Terdapat juga distro Linux lain yang menggunakan filesystem lain selain Ext4 Journaling filesystem seperti Knoppix 6.4 yang menggunakan filesystem ReiserFS sebagai installation partition.
Berikut adalah jadual yang membezakan beberapa filesystem dan apakah yang berbeza antara mereka:
Jadi dapat kita lihat di sini bahawa setiap filesystem bukan sahaja berbeza dari segi cara mereka menyimpan, mencari atau mengemaskini data malahan juga berbeza dari segi kemampuan untuk menampung saiz maksimum sesebuah file dan juga kebolehan untuk memiliki saiz yang besar sebagai saiz maksimum sesuatu partition itu. Selain itu, ia juga boleh diklasifikasikan samada ianya adalah bersifat journaling ataupun tidak.
Sekiranya sesebuah filesystem itu bersifat journaling (ape benda nie dalam bahasa melayu?) maka ianya dikatakan lebih baik dan meyakinkan. Tetapi, walaupun sesebuah filesystem itu sendiri diklasifikasikan sebagai journaling fiilesystem, ia tidaklah semestinya berupaya menghalang daripada masalah file corrupt. Ia hanya menghalang ketidaklarasan (inconsistency) dan lebih laju semasa filesystem checks.
Jika terjadi masalah terputusnya bekalan kuasa semasa anda sedang menyimpan sesebuah file (Save), proses pemyimpanan tidak akan selesai dengan sempurna dan ini akan mengakibatkan ketidakselarasan (inconsistency) pada filesystem tersebut.
Dalam journaling filesystem, data tidak ditulis secara terus ke tempat file tersebut diletakkan namun ia menulis ke bahagian lain dalam cakera keras (HDD) dan mengingati segala perubahan yang dilakukan kepada file tersebut dalam sebuah daftar (log file) dan file yang di edit tadi akan complete setelah backgroud process selesai menulis segala perubahan kedalam file tersebut apabila segala apa yang ada dalam file log dan file sementara tadi di implement kepada file sebenar. Maka dengan ini file system tersebut akan sentiasa berada dalam keadaan yang consistent (the file got saved, the journal reports it as not
completely saved, or the journal is inconsistent (but can be rebuilt
from the file system).
Meminda fail atau editing fiile. Bagi yang sudah terbiasa dengan filesystem FAT dan NTFS yang digunakan oleh Microsoft Windows Operating Systems, semestinya anda sudah sedia maklum bahawa adalah hampir mustahil untuk memadam (delete) ataupun meminda (edit) file apabila ianya sedang digunakan oleh sesuatu proses terutamanya file khas yang diperlukan untuk sesebuah OS itu berfingsi. Situasi ini amat berbeza dalam OS Linux yang tidak menggunakan filesystem berjenis NTFS dan FAT dimana segala pindaan yang dibuat kepada segala file termasuk system punya file boleh dilakukan pada bila-bila masa dengan syarat mendapat keizinan (permission) sebagai root user.
Satu lagi kelemahan filesystem yang digunakan oleh Windows ialah dimana ia meletakkan cebisan-cebisan file (known as blocks) secara berjauhan dan ini membuatkan file-file bertaburan dalam cakera keras. Oleh itu, proses penyusunan file (defragmenting) adalah amat penting untuk dijalankan sekali sekala untuk menjaga prestasi cakera keras. Berbeza dengan Linux, proses defragment adalah tidak perlu sama sekali kerana apabila filesystem Ext3 pada mulanya diperkenalkan, ia telah direka untuk meletakkan cebisan-cebisan atau blok fail bersama ataupun berdekatan.
Sources:
http://en.wikipedia.org/wiki/File_system
https://help.ubuntu.com/community/LinuxFilesystemsExplained
**Some journaling file systems can prevent corruption as well by writing data twice.