Virtual
File System
Sistem operasi modern harus mampu
mengimplementasikan berbagai sistem berkas dengan tipe yang berbeda dalam waktu
yang bersamaan. Salah satu teknik yang digunakan sebagai solusinya adalah
dengan menggunakan virtual file system (VFS). VFS saat ini banyak
digunakan oleh berbagai sistem operasi. Ide dari VFS adalah meletakkan
informasi di kernel untuk merepresentasikan keseluruhan tipe sistem berkas, dan
juga terdapat sebuah fungsi untuk setiap operasi yang dimiliki sistem berkas.
Sehingga, untuk setiap system call seperti fungsi read(), write(), open(), dan lainnya, kernel akan mensubstitusikannya menjadi
actual function yang dimiliki oleh setiap sitem berkas dengan berbagai tipe.
VFS menggunakan konsep object oriented dalam
mengimplementasikan sistem berkas. Di dalam VFS terdapat sebuah berkas
yang merepresentasikan seluruh tipe sistem berkas yang ada, berkas ini
dinamakan common file model. Berkas inilah yang menggunakan konsep object
oriented, yang di dalamnya terdapat struktur data dan method yang
diimplementasikan.
Terdapat empat objek di dalam common file model,
diantaranya :
- Superblock object. Objek ini menyimpan informasi tentang mounted file system atau sistem berkas secara keseluruhan.
- Inode object. Objek ini menyimpan informasi umum tentang file tertentu (individual file).
- File object. Objek ini menyimpan informasi tentang file yang sedang dibuka.
- Dentry object. Objek ini menyimpan informasi tentang link-link dari sebuah entry directory file.
Struktur data dan method yang
diimplementasikan, digunakan untuk menyembunyikan implementasi detail dari actual
function pada sistem berkas dengan system call yang mengaksesnya.
Oleh karena itu, dalam mengimplementasikan sistem berkas, terdapat tiga layer
utama, seperti pada Gambar dibawah :
|
|
Lapisan yang
pertama adalah file system interface. Contohnya adalah beberapa system
call seperti read(), write(), open() dan lainnya. System call ini tidak berhubungan
langsung dengan sistem, namun terhubung melalui sebuah lapisan abstrak yaitu virtual
file system.
Lapisan yang
Kedua adalah VFS Interface. Virtual file system memiliki dua
fungsi penting, yaitu:
- Memisahkan operasi-operasi file system generic dari implementasi detailnya, dengan cara mendefinisikan virtual file system interface.
- Virtual file system interface didasarkan pada struktur representasi berkas yang disebut vnode, yang memiliki numerical designator yang unik untuk setiap network file.
Lapisan yang
ketiga adalah sistem berkas dengan berbagai tipe. Secara umum, terdapat tiga
macam tipe sistem berkas, yaitu:
- Disk-based file system. Sistem berkas ini mengatur ruang memori yang tersedia di dalam partisi disk lokal. Misalnya, Ext2 (Second Extended file system), Ext3 (Third Extended file system), dan Reiser file system yang tedapat di Linux.
- Network file system. Sistem berkas ini terdapat di network, misalnya NFS.
- Special file system. Sistem berkas ini tidak terdapat di disk space, baik lokal maupun network, misalnya /proc file system.
Tidak ada komentar:
Posting Komentar