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