Jumat, 27 November 2015

FUSE

  1. File system adalah struktur pokok dari komputer yang digunakan untuk mengorganisir data.
  2. Tipe dari file system:
  • Disk file system
                        File system yang digunakan pada disk.
                        Contoh: FAT, Ext, NTFS.
  • Flash file system
                        File system yang digunakan pada flash memory.
                        Contoh: JFFS, YAFFS.
  • Network file system
                        File system yang bekerja sebagai client.
                        Contoh: client untuk ASF, NFS, SMB protocol.
  • Database file system
            File sistem untuk menyimpan file sebagai database.
                        Contoh: IBM DB2.
  • Tape file system
                        File system yang digunakan pada tape.
                        Contoh: LTFS.
3. Virtual file system adalah suatu lapisan perangkat lunak dalam kernel yang menyediakan interface sistem berkas untuk program userspace dan menangani semua system call yang berhubungan dengan suatu system berkas di bawahnya. Fungsi dari VFS adalah me-mediasi dari perbedaan sistem berkas yang digunakan oleh beberapa sistem berkas, misal windows, mac os, linux. Dengan VFS, suatu aplikasi dapat mengakses berkas dari sistem berkas yang berbeda.

4.
  • Dentry atau Directory Entry merupakan suatu struktur data yang bertugas sebagai penerjemah dari suatu nama berkas ke inode-nya. disimpan dalam cache di vfs. isi dari dentry adalah name, use of count,chains for lots of list, pointer to parent dentry, list head of childre, pointer to inode. Operasi pada dentry d_compare, d_release, dan d_delete.
           
  • inode : it stands for index node. semua objek yang ada di dalam file system diwakili oleh sebuah index (inode). Inode merupakan identifier dari file dan atribut. Inode berisi struktur data pada file system yang menyimpan informasi dasar tentang sebuah file, direktori, atau obke file system yang lain.

  • superblock : berisi informasi tentang file system seperti file system type, status, size, dan informasi tentang struktu metadata. jikalau inode berisi file attribute, superblock berisi file system attribute. superblock merepresentasikan setiap sistem berkas yang di-mount.

5. Fuse (Filesystem in Userspace) adalah sebuah kerangka sistem berkas pada area pengguna. Fuse terdiri dari modul kernel, pustaka pada area pengguna, dan sebuah utilitas untuk melakukan proses mount (fusermount). fuse memungkinkan pengguna untuk membuat filesystemnya sendiri tanpa mengubah kernel [to make their filesystem theirselves without change the kernel].


6.  Cara Kerja FUSE:
·         fuse_main() (lib/helper.c) = program user memanggil fungsi fuse_main() kemudian fungsi fuse_mount() dipanggil. Lalu memanggil fuse_new() untuk memesan ruang untuk fuse file system data. lalu fuse_loop dipanggil untuk memproses session.
·         fuse_mount() (lib/mount.c) = menciptakan UNIX domain socket, lalu membuat child process yang menjalankan fusermount.
·         fusermount() (util/fusermount.c) = untuk mengecek apakah modul FUSE sudah di load. then open /dev/fuse dan mengirim file handle melalu UNIX domain socket kembali ke fungsi fuse_mount()
·         fuse_new() (lib/fuse.c) = create struktur data yang besiri ruang yang digunakan untuk menyimpan data file system
·         fuse_loop() (lib/fuse.c) = membaca file system calls dari /dev/fuse

7. Keuntungan menggunakan FUSE:
  • Pengguna biasa dapat menciptakan file system mereka sendiri dan memodifikasi tanpa mengubah mode kernel.
  • Kernel tidak akan berpengaruh saat terjadi crash.
  • Dapat dilakukan load dan mount dengan user biasa.
  • Dapat menggunakan lebih banyak library.
  • Kode dari filesystem yang mengalami hang dapat dimatikan dengan mudah.


Tidak ada komentar:

Posting Komentar