Selasa, 26 Maret 2013

Virtual File System


Virtual File System

Pengertian Virtual File System :
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. 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.
Tujuan dari VFS yaitu agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam.
Dentry atau Directory Entry merupakan suatu struktur data yang bertugas sebagai penerjemah dari suatu nama berkas ke inode-nya. Dentry disimpan dalam chace di VFS (dchace). Beberapa informasi yang disimpan dalam dentry adalah name, pointer to inode, pointer to parent dentry, list head of children, chains for lots of lists, dan use count. Beberapa operasi dalam VFS dentry antara lain D_compare, D_delete, dan D_release.
Inode abstraksi VFS untuk berkas. Setiap berkas, directory, dan data lainnya pada VFS direpresentasikan oleh satu dan hanya satu VFS inode. VFS inode hanya terdapat di memori kernel dan disimpan di inode chace selama masih dibutuhkan oleh sistem. Beberapa informasi yang disimpan oleh VFS inode yaitu:
• Device : Menunjukan device identifier dari suatu device yang menyimpan berkas, ataupun directory.
• Inode Number : Merupakan nomor inode yang unik dalam sistem berkas.
• Mode : Menggambarkan apa yang direpresentasikan oleh VFS inode.
• User ID : Merupakan identifier bagi pemilik berkas.
• Time : Menunjukkan kapan pembuatan, modifikasi, dan penulisan suatu berkas.
• Blocksize : Menunjukkan ukuran dari block yang digunakan oleh berkas.
• Inode operations: Merupakan pointer ke suatu routine yang melakukan berbagai operasi pada inode.
• Count : Menunjukkan berapa kali suatu sistem telah menggunakan suatu inode.
• Lock : Digunakan untuk mengunci VFS inode.
• Dirty : Mengindikasikan bahwa telah terjadi penulisan pada VFS inode, sehingga perubahan yang terjadi juga harus dituliskan ke sistem berkas yang sesungguhnya.
• File system specific information : Menunjukkan informasi khusus yang dibutuhkan oleh suatu inode.
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 /dev/hda1 adalah harddisk pertama yang terdapat pada sistem memiliki device identifier 0×300.
• 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.
• File System type : Menunjukkan tipe dari sistem berkas, contohnya EXT2, FAT, NTFS.
• File System specific : Merupakan suatu pointer ke informasi yang dibutuhkan oleh sistem berkas.
File adalah unit penyimpan logika yang berisi sekumpulan informasi yang
berhubungan. Sistem file berada pada penyimpan sekunder (disk). Sistem file
diorganisasi ke dalam layer-layer seperti Gambar 10-1.





Gambar 10-1 : Layersistem file

Pada level terendah, I/O control berisi device driver dan interrupt handler untuk
mengirim informasi antara memori dan sistem disk. Basic file system berisi perintah
bagi device driver untuk membaca dan menulis blok fisik pada disk. File organization
module berisi modul untuk mengetahui blok logika pada blok fisik. Logical file system
menggunakan struktur direktori untuk memberikan ke file organization module
informasi tentang kebutuhan terakhir.
Informasi mengenai sebuah file disimpan pada struktur penyimpan yang disebut
file control block seperti Gambar 10-2.

Gambar 10-2 : File control block

Gambar 10-3 : (a) membuka file (b) membaca file
Virtual File Systems (VFS) merupakan implementasi sistem file yang
berorientasi obyek. VFS memungkinkan antarmuka system call (API) yang sama
digunakan untuk sistem file yang berbeda. API adalah lebih sebagai antarmuka VFS
dan bukan untuk tipe sistem file tertentu. Skema VFS dapat dilihat pada Gambar 10-4.

Gambar 10-3 mengilustrasikan pentingnya struktur sistem file disediakan oleh
sistem operasi. Pada saat membuka file (dengan menjalankan perintah open) blok-blok
dari struktur direktori disimpan pada struktur direktori di memori dan mengubah file
control block. Pada saat membaca file (dengan menjalankan perintah read), indeks
yang dibaca di cari lokasi blok pada disk melalui tabel open file yang berada di memori.



Salah satu mekanisme sistem file virtual pertama di Unix-seperti sistem diperkenalkan oleh Sun Microsystems di SunOS 2.0 pada tahun 1985. Ini memungkinkan sistem Unix untuk mengakses panggilan lokal UFS sistem file dan remote NFS file sistem transparan. Untuk alasan ini, vendor Unix yang berlisensi kode NFS dari Sun sering disalin desain VFS Sun. Sistem file lain bisa terhubung ke dalamnya juga: ada sebuah implementasi dari MS-DOS FAT file system yang dikembangkan di Sun yang dicolokkan ke VFS SunOS, meskipun tidak dikirim sebagai produk sampai SunOS 4.1. Pelaksanaan SunOS adalah dasar dari mekanisme VFS di Rilis V Sistem 4 .
John Heidemann mengembangkan VFS susun bawah SunOS 4.0 untuk eksperimen sistem file Ficus . Desain ini disediakan untuk penggunaan kembali kode antara jenis sistem file yang berbeda namun dengan semantik yang sama (misalnya, sebuah sistem file enkripsi dapat menggunakan kembali semua penamaan dan penyimpanan-manajemen kode sistem file non-enkripsi). Heidemann diadaptasi karya ini untuk digunakan dalam 4.4BSD sebagai bagian dari nya tesis penelitian, keturunan kode ini mendukung implementasi sistem file derivatif BSD modern termasuk Mac OS X .
Lainnya Unix file sistem virtual termasuk Switch File System di System V Release 3 , File System Generik di ULTRIX , dan VFS di Linux . Dalam OS / 2 dan Microsoft Windows , mekanisme sistem file virtual disebut File System Installable .
The Filesystem di Userspace (FUSE) mekanisme memungkinkan userland kode untuk plug ke mekanisme sistem file virtual di Linux, NetBSD , FreeBSD , OpenSolaris , dan Mac OS X.
Pada Microsoft Windows, sistem berkas virtual juga dapat diimplementasikan melalui userland ekstensi namespace Shell , namun, mereka tidak mendukung terendah-tingkat file sistem akses antarmuka pemrograman aplikasi di Windows, sehingga tidak semua aplikasi akan dapat mengakses sistem file yang diimplementasikan sebagai namespace ekstensi. KIO dan gvfs / GIO menyediakan mekanisme serupa di KDE dan GNOME lingkungan desktop (masing-masing), dengan keterbatasan yang sama, meskipun mereka dapat dibuat menggunakan teknik FUSE dan karena itu mengintegrasikan dengan lancar ke dalam sistem.
Single-file sistem file virtual
Terkadang Virtual File System merujuk ke file atau kelompok file (tidak harus di dalam sistem file beton) yang bertindak sebagai wadah dikelola yang harus menyediakan fungsionalitas dari sistem file beton melalui penggunaan perangkat lunak. Contoh kontainer tersebut SolFS atau sistem file tunggal-file virtual dalam emulator seperti PCTask atau disebut WinUAE , Oracle VirtualBox , Microsoft Virtual PC , VMware .
Manfaat utama untuk jenis sistem file adalah bahwa hal itu terpusat dan mudah untuk menghapus. Sebuah sistem file tunggal-file virtual dapat mencakup semua fitur dasar yang diharapkan dari setiap sistem file (virtual atau sebaliknya), tetapi akses ke struktur internal dari sistem file ini sering terbatas pada program-program khusus ditulis untuk memanfaatkan file-tunggal virtual file system (bukan pelaksanaan melalui sopir yang memungkinkan akses universal). Kelemahan lain utama adalah bahwa kinerja relatif rendah bila dibandingkan dengan sistem file virtual. Kinerja rendah sebagian besar karena biaya menyeret file virtual saat data ditulis atau dihapus dari sistem file virtual.
Implementasi tunggal-file filesystem maya
Contoh langsung dari file tunggal sistem file virtual termasuk emulator, seperti PCTask dan WinUAE, yang merangkum tidak hanya data filesystem tapi juga layout disk ditiru. Hal ini membuat mudah untuk mengobati instalasi OS seperti bagian lain dari software-mentransfer dengan removable media atau melalui jaringan.
PCTask



Tidak ada komentar:

Posting Komentar