Seperti apa wujud sistem file ext4?
- Saat menjalankan perintah
mkfs.ext4 pada drive kosong, sistem file ext4 akan dibangun di drive tersebut.
- Dalam proses ini, kondisi "tidak ada apa-apa" yang terdiri dari 0x00 berubah menjadi susunan byte bermakna milik sistem file ext4.
- Eksperimen disederhanakan dengan menambahkan drive sekunder kecil ke mesin virtual, atau bekerja dengan file biasa yang dikonfigurasi sebagai loop device.
Bereksperimen menggunakan loop device
- Penggunaan loop device kini lebih sederhana: tanpa
losetup, cukup dengan mount -o loop <foo_file> <bar_dir> dan umount <bar_dir> untuk mount dan unmount.
- Menggunakan perintah
dd untuk membaca data dari /dev/zero dan membuat file yang memiliki 8 blok berukuran 64x1024 byte.
Perubahan setelah membuat sistem file ext4
- Setelah menjalankan
mkfs.ext4, struktur file blok dapat diperiksa melalui output perintah od.
- Dari output ini, karakteristik struktural sistem file ext4 dapat terlihat.
Memahami struktur ext4 melalui visualisasi
- Dibuat gambar visualisasi dengan setiap blok berukuran 1024x64 piksel, dan setiap piksel merepresentasikan satu byte.
- Pada gambar setelah pembuatan sistem file ext4, dapat dilihat struktur dan lokasi data yang ditambahkan oleh
mkfs.ext4.
- Untuk membedakan data ext4 dan data "pengguna", file 1024 byte yang dibuat dari
/dev/urandom disalin ke loop device, lalu kode visualisasi membedakannya dengan kode warna.
Visualisasi setelah menambahkan data pengguna
- Pada gambar setelah data pengguna disalin ke drive, perbedaan antara data ext4 dan data pengguna dapat dikenali.
- Selain itu, file data pengguna disalin tiga kali ke drive untuk membuat GIF animasi.
Perbandingan ext4 dan ext2
- Selain animasi sistem file ext4, juga dibuat animasi untuk sistem file ext2 sebagai perbandingan.
Pendapat GN⁺
- Tulisan ini membantu memahami secara visual bagaimana sistem file ext4 benar-benar disusun di dalam drive.
- Metode visualisasi yang membedakan data pengguna dan data sistem sangat bermanfaat untuk mempelajari cara kerja sistem file.
- Perbandingan ext4 dan ext2 memberi kesempatan untuk memahami perbedaan antar sistem file secara intuitif.
1 komentar
Opini Hacker News
Beberapa tahun lalu di FOSDEM ada visualisasi grafis nyata dari sistem berkas ext4. Visualisasinya ada dalam video yang dimulai sekitar menit ke-20. Proyektor gagal menampilkan warna biru muda yang digunakan dengan benar sehingga bisa membingungkan, tetapi ada video dengan render yang benar di blog.
Tujuan banyak orang yang berusaha menyederhanakan penggunaan komputer menghasilkan hal-hal yang bisa punya nilai edukatif. Misalnya, lampu merah yang menandakan aktivitas hard drive dapat memicu rasa ingin tahu pengguna sekaligus memberi informasi. Menyembunyikan tampilan lanjutan, tetapi tetap membiarkannya ada bagi orang yang penasaran, bisa menjadi kompromi yang baik.
Utilitas baris perintah bernama
pixdmenyediakan visualisasi data serupa, tetapi tidak semenarik GIF animasi yang menunjukkan perubahan sistem berkas dari waktu ke waktu. Menggunakan kurva Hilbert untuk menyusun piksel mungkin lebih membantu daripada menggambar piksel per baris.Demo nbdkit yang memvisualisasikan IO sistem berkas menarik untuk ditonton.
Ada eksperimen untuk memvisualisasikan sistem berkas. Hasilnya,
a.png, dapat dikonversi balik sehingga file.ext4yang valid bisa diperoleh lagi.Visualisasi data bisa membantu memahami kerumitan bagaimana format disk benar-benar menempatkan data di disk. Misalnya, ada metadata yang sudah dialokasikan sebelumnya untuk penggunaan minimal. Saya penasaran apa yang akan terjadi saat ruang mulai habis, tetapi animasinya berhenti sebelum itu.
Jika penulis melihat komentar ini, GIF bisa dikonversi menjadi video untuk menghemat byte yang dikirim dan memberi pengguna kontrol video (jeda, scrub, pengaturan kecepatan, dan sebagainya).
ffmpeg -i ext4.gif -pix_fmt yuv420p -c:v libx264 ext4.mp4Sekumpulan alat bernama
innodb_rubysangat berguna untuk memvisualisasikan dan mempelajari struktur InnoDB.Dengan Kaitai IDE, berbagai format biner dapat divisualisasikan per byte (atau bit). Saya ingat ada file definisi untuk ext4.
Saat melihat diagram ini, saya jadi bertanya-tanya apakah ada sistem berkas yang bisa menyimpan metadata di perangkat terpisah. Misalnya, data disimpan di HDD, sementara metadata di drive SSD yang terkait. Mungkin karena metadata mudah di-cache di memori, manfaatnya tidak cukup besar dibanding penambahan kompleksitas.