GVFS and Friends

Discussion in 'Filesystem' started by DevynCJohnson, Jun 22, 2014.

  1. DevynCJohnson

    DevynCJohnson Well-Known Member Staff Member Staff Writer

    Messages:
    1,214
    Likes Received:
    1,019
    Trophy Points:
    113
    Sometimes, an application may need to access a remote file. It is better for the programmer and the computer's performance if there is a standard method of access remote files. Thankfully, Linux distros do have ways of standardizing a method for accessing files.

    GNOME Virtual FileSystem (GVFS) is a pseudo/virtual filesystem that is owned by the user. The GNOME and Unity desktop environments both use GVFS. The mount-point (~/.gvfs/) allows a user's processes to access remote data using regular system calls as if the files were local. Alternatively, the data can be accessed via a web-browser (using a URI).

    GnomeVFS is not the same as GVFS, even though their abbreviations are a shortened form of the same text. GnomeVFS was developed first, but then GVFS was developed and is the new standard. GnomeVFS is now deprecated. GnomeVFS was used to access remote filesystems as if they were local.

    GIO is a library for accessing virtual filesystems when using a GNOME-based system. GIO is a lot like GVFS or GnomeVFS. GIO and GVFS can be installed on the same system and work together.

    KDE-based systems use "KDE Input/Output" (KIO) instead of the virtual filesystem compatibility layers mentioned above for GNOME. KIO allows KDE applications to manipulate files on remote storage without the software noticing that the file is not local.

    ThunarVFS is a lot like GVFS, but for the Thunar file manager was once used in XFCE. However, ThunarVFS is now deprecated and GVFS is used instead.


    All of the above virtual filesystems allow the system's applications to think the files are local. This concept is known as network-transparency. This means that the application cannot notice the difference between remote and local files. This is beneficial because programs can then have a uniform standard for accessing and manipulating files.

    GIO and KIO are libraries while GVFS and GnomeVFS are virtual filesystems (VFS) inside of FUSE. FUSE (Filesystem in Userspace) is a high-level framework that allows user's to make and use their own filesystems without modifying the kernel or needing Root privileges. The code for FUSE itself is in the kernel, but virtual filesystems running in FUSE are in the userspace.

    It is important to know that not all virtual filesystems run in FUSE. Apache servers can use a VFS called Commons Virtual File System (Commons-VFS), but it does so inside of Java. Commons-VFS allows Apache to access remote files as local ones or files inside a compressed file (zip, tar, gzip, and others) as if the files were not compressed.

    FUSE and Commons-VFS work by “translating” regular I/O system calls to code that is usable by a network protocol that allows users to manipulate remote data.


    NOTE: If you enjoy reading about filesystems, then you may like this link - http://www.linux.org/threads/filesystem-article-index.6028/

    Attached Files:

    • slide.jpg
      slide.jpg
      File size:
      40.7 KB
      Views:
      139,864
    Last edited: Jul 1, 2014

Share This Page