Kehandalan. Removable magnetic disk tidak begitu dapat diandalkan dibandingkan dengan

21.2. VFS

Virtual File System atau Virtual File System Switch adalah suatu lapisan abstrak di atas sistem berkas yang sesungguhnya, yang menangani semua system call yang berhubungan dengan suatu sistem berkas di bawahnya. Tujuan dari VFS yaitu agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam. Gambar 21.1 menunjukkan hubungan antara Linux VFS dengan sistem berkas yang sesungguhnya. Virtual File System menyediakan antarmuka antara system call dengan sistem berkas yang sesungguhnya. Keberadaan VFS tentu dapat mengatasi perbedaan berbagai sistem berkas yang digunakan oleh berbagai sistem operasi saat ini seperti Windows, Mac OS, Linux, dan sebagainya, sehingga suatu aplikasi dapat mengakses berkas dari sistem berkas yang berbeda tanpa perlu mengetahui jenis sistem berkas yang digunakan dan detil implementasi dari masing-masing sistem berkas tersebut. Sistem Berkas yang didukung oleh Linux VFS dapat dibagi menjadi tiga kategori: 1. Disk-based Filesystem . Contohnya EXTFS, iso9660, FAT, dan sebagainya. 2. Network-based Filesystem . Contohnya NFS, Coda, AFS, CIFS, dan sebagainya. 3. Sistem berkas khusus. Contohnya proc, RAMFS, dan DEVFS Sistem berkas biasanya diimplementasikan secara object-oriented. Jadi, sistem berkas dapat dipandang sebagai sekumpulan objek yang terbentuk dari suatu struktur data dengan beberapa methodfunction yang berkaitan. Ide dibalik implementasi VFS yaitu suatu konsep yang disebut common file model. Singkatnya, setiap sistem berkas yang didukung oleh Linux harus dapat menerjemahkan physical organization yang diimplementasikannya ke dalam VFS common file model. Linux VFS common file model terdiri dari beberapa objek, yaitu superblock, inode, file, dan dentry. Gambar 21.2. Interaksi antara proses dengan objek VFS VFS Superblock Setiap sistem berkas yang di-mount akan direpresentasikan oleh sebuah VFS Superblock. Superblock digunakan untuk menyimpan informasi mengenai partisi tersebut. Pada dasarnya superblock merupakan suatu struktur data yang menyimpan beberapa informasi sebagai berikut: • Device. Merupakan suatu device identifier, contohnya devhda1 adalah harddisk pertama yang terdapat pada sistem memiliki device identifier 0x300 . • Inode Pointer. Merupakan suatu pointer yang menunjuk ke inode pertama pada sistem berkas. • Blocksize. Menunjukkan ukuran suatu block dari sistem berkas, contohnya 1024 bytes. • Superblock operation. Merupakan suatu pointer ke sekumpulan superblock routine fungsi dari sistem berkas, contohnya read, write, dan sebagainya. 174