Pendahuluan Struktur Sistem Berkas

mount table structure.

16.5. 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 : 1. Superblock object. Objek ini menyimpan informasi tentang mounted file system atau sistem berkas secara keseluruhan. 2. Inode object. Objek ini menyimpan informasi umum tentang file tertentu individual file. 3. File object. Objek ini menyimpan informasi tentang file yang sedang dibuka.

4. 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 16.5, “Virtual File System Layer”. Gambar 16.5. Virtual File System Layer 127 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: 1. Memisahkan operasi-operasi file system generic dari implementasi detailnya, dengan cara mendefinisikan virtual file system interface. 2. 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: 1. 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. 2. Network file system. Sistem berkas ini terdapat di network, misalnya NFS. 3. Special file system. Sistem berkas ini tidak terdapat di disk space, baik lokal maupun network, misalnya proc file system.

16.6. Implementasi Direktori Linier

Pemilihan algoritma untuk pencarian sebuah direktori merupakan salah satu penentu tingkat efisiensi dan performance suatu sistem berkas. Salah satu algoritma itu adalah implementasi direktori linier. Algoritma ini merupakan algoritma yang paling sederhana dalam pembuatan program yang mengimplementasikan linier list dari nama-nama berkas yang memiliki pointer ke blok-blok data. Namun, algoritma ini tidak efisien apabila digunakan pada suatu direktori yang 128