VIRTUAL FILE SISTEM - POJOK PROGRAM

Post Top Ad

Your Ad Spot

Wednesday 27 March 2013

VIRTUAL FILE SISTEM

1. Pengertian file system :
File System merupakan metode penyimpanan dan pengorganisasian file atau media penyimpanan komputer dalam mengatur lokasi file tersebut. Ada beberapa media penyimpan, seperti : disket, CD-ROM, hard disk, flash disk. Setiap media penyimpan memiliki kapasitas tertentu agar dapat dibaca oleh sistem operasi yang kita pilih.
Dalam tulisan ini, file system yang akan dibahas adalah file system buatan Microsoft(MS-DOS, Win95/98, 2000, NT, XP, Vista). Kapasitas yang disediakan oleh masing-masing sistem operasi tentunya berbeda. Tentunya Anda pernah mengenal ada beberapa istilah berikut FAT/FAT16(File Allocation Table), VFAT(Virtual File Allocation Table), FAT32, NTFS(New Technology File System). File system di atas memiliki keunikan. Berikut ini uraian secara singkatnya(Windows):
 FAT(File Allocation Table) atau FAT16 digunakan pada MS DOS dan Win3x. hanya mampu menyimpan dan membaca file dengan kapasitas 2 Gigabyte(1 Gigabyte= 1024 Megabyte). Jumlah file yang mampu dibaca pada root directory: 512 file, sedangkan pada nondirektori sebesar 65.335, tidak mendukung long file names(hanya format 8.3) dan file security,
 VFAT(Virtual File Allocation Table) digunakan pada Win95, mampu menyimpan dan membaca file dengan kapasitas 4 gigabyte. Jumlah file yang mampu dibaca pada root directory: 512 file, sedangkan pada nondirektori tak terbatas, mendukung long file names dan belum memiliki file security,
 FAT32 digunakan pada Win98, mampu menyimpan dan membaca file dengan kapasitas 4 Terabyte(1 Terabyte= 1024 Gigabyte). Jumlah file yang mampu dibaca pada root directory dan nondirektori tak terbatas, untuk fasilitas long file names dan files security sama dengan VFAT, memiliki keunggulan perbaikan otomatis file.
 NTFS(New Technology File System) digunakan pada Win2000,XP, Vista, mampu menyimpan dan membaca file dengan kapasitas 16 Exabyte(1 Exabyte= 1024 Terabyte). Fasilitas jumlah file yang mampu dibaca pada root directory dan nondirektori, long file names sama dengan FAT, memiliki keunggulan perbaikan otomatis file, files security, files level compression, serta mendukung dual file fork(macintosh) dan POSIX. Teknologi File System yang dikembangkan Microsoft saat ini berbasis NTFS, karena kebutuhan sotware dan hardware saat ini yang kian hari kian pesat. NTFS merupakan file system yang cukup stabil.
2. 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.
3. Tujuan dari VFS yaitu agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam.
4. 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.
5. FUSE(Filesystem on USErspace)
Modul kernel yang mengijinkan user biasa menjalankan filesystem di ruang user. Dengan FUSE memungkinkan membuat filesystem dengan kemudahan:
Tidak perlu tahu bagaimana kernel bekerja
Mudah dalam implementasi
Cross platform
Multiple language programming support
Contoh :
Hardware-based: ext2, iso, ZFS
Network-based: NFS, smb, SSH
-Nontradtional: Gmail, MySQ
Loopback: compression, conversion, encryption, virus scanning, versioning
Synthetic: search results, application interaction, dynamic conf files
6. Struktur FUSE :
FUSE kernel modul dan library FUSE berkomunikasi dengan file deskriptor /dev/fuse
FUSE kernel modul meneruskan request ke aplikasi FUSE anda
Aplikasi anda memerintahkan FUSE cara menjawab request
7. truncate(path, len, fh): memotong panjang length
flush(path, fh): handle file jika sudah ditutup
release(path, fh): file handle is completely closed (no errors)
getattr(path): membaca metadata
readdir(path): yield directory entries for each file in the directory
mknod(path, mode, dev): membuat file (atau device)

No comments:

Post a Comment

Post Top Ad

Your Ad Spot