digplanet beta 1: Athena
Share digplanet:


Applied sciences






















A virtual file system (VFS) or virtual filesystem switch is an abstraction layer on top of a more concrete file system. The purpose of a VFS is to allow client applications to access different types of concrete file systems in a uniform way. A VFS can, for example, be used to access local and network storage devices transparently without the client application noticing the difference. It can be used to bridge the differences in Windows, Mac OS and Unix filesystems, so that applications can access files on local file systems of those types without having to know what type of file system they are accessing.

A VFS specifies an interface (or a "contract") between the kernel and a concrete file system. Therefore, it is easy to add support for new file system types to the kernel simply by fulfilling the contract. The terms of the contract might change incompatibly from release to release, which would require that concrete file system support be recompiled, and possibly modified before recompilation, to allow it to work with a new release of the operating system; or the supplier of the operating system might make only backward-compatible changes to the contract, so that concrete file system support built for a given release of the operating system would work with future versions of the operating system.


The position of the VFS layer within various parts of the Linux kernel's I/O stack.[1]

One of the first virtual file system mechanisms on Unix-like systems was introduced by Sun Microsystems in SunOS 2.0 in 1985. It allowed Unix system calls to access local UFS file systems and remote NFS file systems transparently. For this reason, Unix vendors who licensed the NFS code from Sun often copied the design of Sun's VFS. Other file systems could be plugged into it also: there was an implementation of the MS-DOS FAT file system developed at Sun that plugged into the SunOS VFS, although it wasn't shipped as a product until SunOS 4.1. The SunOS implementation was the basis of the VFS mechanism in System V Release 4.

John Heidemann developed a stacking VFS under SunOS 4.0 for the experimental Ficus file system. This design provided for code reuse among file system types with differing but similar semantics (e.g., an encrypting file system could reuse all of the naming and storage-management code of a non-encrypting file system). Heidemann adapted this work for use in 4.4BSD as a part of his thesis research; descendants of this code underpin the file system implementations in modern BSD derivatives including Mac OS X.

Other Unix virtual file systems include the File System Switch in System V Release 3, the Generic File System in Ultrix, and the VFS in Linux. In OS/2 and Microsoft Windows, the virtual file system mechanism is called the Installable File System.

The Filesystem in Userspace (FUSE) mechanism allows userland code to plug into the virtual file system mechanism in Linux, NetBSD, FreeBSD, OpenSolaris, and Mac OS X.

In Microsoft Windows, virtual filesystems can also be implemented through userland Shell namespace extensions; however, they do not support the lowest-level file system access application programming interfaces in Windows, so not all applications will be able to access file systems that are implemented as namespace extensions. KIO and GVFS/GIO provide similar mechanisms in the KDE and GNOME desktop environments (respectively), with similar limitations, although they can be made to use FUSE techniques and therefore integrate smoothly into the system.

Single-file virtual file systems[edit]

Sometimes Virtual File System refers to a file or a group of files (not necessarily inside a concrete file system) that acts as a manageable container which should provide the functionality of a concrete file system through the usage of software. Examples of such containers are SolFS or a single-file virtual file system in an emulator like PCTask or so-called WinUAE, Oracle's VirtualBox, Microsoft's Virtual PC, VMware.

The primary benefit for this type of file system is that it is centralized and easy to remove. A single-file virtual file system may include all the basic features expected of any file system (virtual or otherwise), but access to the internal structure of these file systems is often limited to programs specifically written to make use of the single-file virtual file system (instead of implementation through a driver allowing universal access). Another major drawback is that performance is relatively low when compared to other virtual file systems. Low performance is mostly due to the cost of shuffling virtual files when data is written or deleted from the virtual file system.

Implementation of single-file virtual filesystems[edit]

Direct examples of single-file virtual file systems include emulators, such as PCTask and WinUAE, which encapsulate not only the filesystem data but also emulated disk layout. This makes it easy to treat an OS installation like any other piece of software—transferring it with removable media or over the network.


The Amiga emulator PCTask emulated an Intel PC 8088 based machine clocked at 4.77MHz (and later an 80486SX clocked at 25 MHz). Users of PCTask could create a file of large size on the Amiga filesystem, and this file would be virtually accessed from the emulator as if it were a real PC Hard Disk. The file could be formatted with the FAT16 filesystem to store normal MS-DOS or Windows files.[1][2]


The UAE for Windows, WinUAE, allows for large single files on Windows to be treated as Amiga file systems. In WinUAE this file is called a hardfile.[3]

UAE could also treat a directory on the host filesystem -- (Windows, Linux, Mac OS, AmigaOS) -- as an Amiga filesystem.[4]

See also[edit]


  1. ^ Emulation on Amiga Comparison between PCX and PCTask, Amiga PC emulators.
  2. ^ See also This article explaining how it works PCTask.
  3. ^ Help About WinUAE (See Hardfile section).
  4. ^ Help About WinUAE (See Add Directory section)


  1. ^ Evgeny Budilovsky (April 2013). "Kernel-Based Mechanisms for High-Performance I/O" (PDF). Tel Aviv University. p. 8. Retrieved 2014-12-28. 

External links[edit]

Original courtesy of Wikipedia: http://en.wikipedia.org/wiki/Virtual_file_system — Please support Wikipedia.
This page uses Creative Commons Licensed content from Wikipedia. A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia.
449409 videos foundNext > 


Linux FileSystem Management

Topic Covered 1:Virtual FileSystem Layer(VFS) 2:Journaling(Ordered,journal and writeback) 3:ext2 and ext3(Super Block,Data Block,Inode Table) 4:tuned.

Soft Sys HW12: Virtual File Systems

by Sean Lowen, Kyle Mcconnaughay, and Kevin O'Toole Start at 3:10...sorry.

The Linux File System - Explained

In Linux, everything is a file. All the files the kernel can understand are displayed. This can make for quite a scary file system for some, so I'm here to break it down. || Join the chat:...

Virtual File System in Operating Systems - VFS

Virtual File System in Operating Systems - VFS.

27 File System Architecture - 1

For More Video lectures from IIT Professors .......visit www.satishkashyap.com Video lectures and Lecture Notes on "Operating Systems" by Prof. P.K. Biswas sir, IITKGP 1 introduction...

Virtual File System

Implementation of a FUSE filesystem for content based searching of files.

Virtual File System with GTK based User Interface

This is a demo of virtual file system (VFS) developed using C and GTK library. It allows basic operations on files / directories like create, delete and search.

virtual filesystem over modems

now with 100% less dramatic music.

Explanation Of A Virtual File System

Save on Amazon using this link http://www.amazon.com/?tag=d6y6-20.

449409 videos foundNext > 

220 news items

Business Wire (press release)

Business Wire (press release)
Tue, 21 Apr 2015 05:00:00 -0700

IONU's Secure Virtual File System (SVFS) preserves user workflows by allowing native applications to be utilized securely without the need for plug-ins. SVFS also ensures that files are always encrypted on local storage, mapped network storage, remote ...
Tue, 31 Mar 2015 08:44:52 -0700

ComputerworldUK speaks to one of the labs providing data crunching power for the ongoing physics experiment responsible for discovering the Higgs boson particle - credited with unlocking some of the secrets of the universe. The newly upgraded Large ...

Mondaq News Alerts (registration)

Mondaq News Alerts (registration)
Thu, 02 Apr 2015 09:07:20 -0700

The district court similarly construed the phrase "simulating a virtual file system" in the '449 patent as "appearing to be a system of files, including a directory structure, that is not physically stored; rather, it is constructed or derived from ...

Ghacks Technology News

Ghacks Technology News
Mon, 09 Feb 2015 05:21:21 -0800

While that is useful in itself, the virtual file system makes it shine. It is unfortunately not available yet on Windows. The basic idea is to mount a virtual drive with all tagged files so that you can access them using the selected tag structure ...
Linux.com (blog)
Fri, 20 Dec 2013 11:41:15 -0800

Owens was one of 15 GSoC interns with The Linux Foundation, where he worked with Yongqiang Yang on efficient sparse file handling in the page cache of the Linux kernel Virtual File System (VFS). He developed a “sparse page deduplication” method to ...


Wed, 18 Feb 2015 17:45:53 -0800

It carves out its own virtual file system on your machine to store data for exfiltration. There are update mechanisms, dozens of plug-ins, a self-destruct function, massive code obfuscation, hundreds of fake websites to serve as command-and-control ...


Thu, 19 Feb 2015 09:37:30 -0800

Equation also used the Windows registry to steal files and store them in an encrypted virtual file system on the computer HDD. Other components in the Equation attack used infected USB sticks with a secret storage area to copy information onto the USB ...
Wed, 17 Oct 2007 04:48:13 -0700

Well, anyone that wants to offer an embedded virtual file system that offers the only Java client and server implementation of Microsoft Window's CIFS (Common Internet File System) protocol, allowing content, system administration information, and rows ...

Oops, we seem to be having trouble contacting Twitter

Support Wikipedia

A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia. Please add your support for Wikipedia!

Searchlight Group

Digplanet also receives support from Searchlight Group. Visit Searchlight