Berbagai generasi File System sudah di telurkan dari ext, ext2, ext3, sampai pada generasi sekarang ext4 (dan masih banyak lagi File System yang ada). Di tahun 2006, Theodore Ts'o seorang "Pejantan" lulusan MIT pada tahun 1990 yang juga sebagai developer Linux Kernel memulai pengembangan ext4. Berbeda dengan ext3 yang hanya mendapat penambahan fitur dari ext2 dengan tetap menyamakan format dari ext2, ext4 menjadi revolusi dari ext3 banyak perubahan terjadi pada ext4, membawa ext3 menuju era 64-bits membiarkan sebuah file yang berukuran 16 TB sebaik 1 Exabyte file system dengan menggunakan 48-bits data structures.

Salah satu fitur yang ditawarkan ext4 backware compatible atau kompetibel dengan File System sebelumnya, ext2 dan ext3. Anda dapat menggunakan ext2 atau ext3, mengubah beberapa settings lalu me-mount file system tersebut sebagai ext4, tak ada data yang akan hilang dan ext4 akan menggunakan structure file baru-nya hanya pada file baru, bukan pada file yang lama (mantep g? buat gw sih mantep). Bisa juga di-upgrade ke ext4 tanpa kehilangan data, tapi mem-backup data menjadi pilihan bijak.

Kerja keras para pengembangnya pun membuahkan fitur seperti extents, journaling checksumming, block allocation, delayed allocation, faster fsck, on-line defragmentation, and larger directory sizes (up to 64,000 files). Let’s rock!

Extents :
Extents adalah fitur yang mendeskripsikan bagamana setiap block file di letakkan pada sebuah drive yang akan menyimpan file tersebut

Ext3 dan ext2 menggunakan metode tidak langsung untuk menyimpan track-track dari block. Ini berarti ext3 atau ext2 harus menyimpan track dari setiap block. Sebagai contoh, untuk file 100MB, anda mempunyai 25,600 4KB blocks. Jadi untuk file tersebut, ext3 harus menyimpan 25,600 blocks dan bagaimana mereka tersusun

Ext4 membiarkan blocks untuk file khusus untuk di simpan sebagai extent. Sebuah extent hanya sebuah block yang bersebelahan. Jadi File System hanya menyimpan 2 bits informasi, permulaan block, dan berapa banyak block yang bersebelahan didalam extent. Extents juga membantu dalam penghapusan file karena hanya membutuhkan informasi metadata yang kecil untuk dirubah.

Journaling Checksumming :
Salah satu pengembangan yang besar dalam ext3 adalah implementasi system journal. Journal adalah daftar perubahan yang harus diselesaikan oleh file system, seperti reads, writes, deletes, dll. Jadi file system hanya "bermain" di Journal untuk melakuka perubahan pada file system, jika terjadi crash, sang Journal, akan bisa mengembalikannya

Journaling Checksumming membuat sebuah Checksum pada data Journal, jadi ext4 dapat mengatakan area pada disk dimana Si Journal yang tersimpan akan gagal atau rusak. Ini dapat meningkatkan kepercayan dan juga meningkatkan performa.

Multi-block Allocation :
Ext3 mengalokasikan blocks untuk sebuah file, biasanya menggunakan 4KB blocks. Untuk setiap file besar, fungsi penghubungan harus memanggil alokasi file ribuan kali. Ext4 menggunakan "multi-block allocation" yang membiarkan multiple blocks untuk mengalokasikan selaman 1 fungsi panggilan

Delayed Allocation :
Ext3 dan saudaranya, blocks di alokasikan secepat yang dibutuhkan oleh fungsi tulis atau write function. Tapi, pada kenyataanya itu tidak dibutuhkan secara cepat, karena mungkin data masih ada dalam cache untuk saat tertentu. Jadi Delayed Allocation membiarkan blocks untuk di alokasikan hanya pada saat merekan membutuhkan untuk write sebuah data. Ini menjadi peningkatan baik pada ext4, karena selama waktu si allocator dapat mengoptimasikan alokasi dari block-blocks to mengecilkan fragmentation dan meningkatkan performa

Online Defragmentation :
Banyak permintaan unuk melakukan Online Defragmentation, tapi dukungan ini belum di implementasikan pada "jalur utama" Kernel. Bahkan beberapa teknik digunakan untuk menghindari fragmentattion, file system yang berumur panjang tidak harus di fragmentasi berkali-kali. Ext4 akan mempunyai tool yang dapat mendefrag per-individual file atau seluruh file system.

Faster File System Checking :
Sudah pasti pengecekan untuk file system akan menjadi cepat, karena pengecekan block yang tidak teralokasikan akan dilewati, fitur ini di implementasikan di Kernel 2.6.24.

Artikel ini gw copas dari Linux Magazine yang di tulis oleh Jeffrey B. Layton gw cuman sebagai jasa pernerjemah sangat amatir, mohon maaf jika anda bingung dengan hasilnya.

Segala bentuk makian dan hinaan dapat anda sampaikan ke e-mail saya atau melalui jasa komen.

Gambar diatas milik dari Zombio.com

Postingan pertama gw, akhirnya dapet Pertamax juga!