Synthetic file system

Synthetic file system

A synthetic file system is a model in computer science to provide a file system interface to objects, which are not really file systems in the classical manner.

This way, the well approved file system semantics can be reused for a universal and easy to implement approach to interprocess communication. Clients just have to work with simple file operations and do not have to care about things like message encoding/passing and other aspects of protocol engineering. For most operations, common file utilities can be used, so even scripting is quite easy.

Examples

/proc filesystem

In the Unix-world, there is commonly a special filesystem mounted at /proc. This filesystem is implemented within the kernel and publishes a lot of information about running processes. For each running process, there's a directory (named by the process ID), containing detailed information about the process: status, open files, memory maps, mounts, etc.

Linux /sys filesystem

The /sys filesystem on Linux is a counterpart to /proc, which provides a lot of (non-process related) detailed information about the in-kernel status to userspace, eg. devices, busses and loaded modules.

ObexFS

This FUSE-based filesystem provides access to OBEX objects via a filesystem. So applications can work on remote objects via the OBEX protocol as they were simply (local) files.

Plan9 fileservers

On the Plan9 operating system family, the concept of synthetic filesystem is used as a generic IPC method. Contrary to most other operating systems, Plan9's design is heavily distributed: while in other OS worlds, there are many (and often large) libraries and frameworks for common things, Plan9 encapsulates them into fileservers. The most important benefit is that applications can much simpler and services run network and platform agnostic - they can reside on virtually any host and platform in the network, and virtually any kind of network, as long the fileserver can be mounted by the application.

Plan9 drives this concept very excessively: even most operating system services, eg. hardware access and networking stack are presented as fileservers. This way it's trivial to use these resources remotely (eg. one host directly accessing another host's block devices or network interfaces) without the need of additional protocols.

Embedded-Systems / System-On-Chip

Debugging Embedded Systems or even SoC devices is widely known to be a hard job. Several protocols have been implemented to provide direct access to in-chip devices, but they tend to be proprietary, complex and hard to handle.

Based on 9P, Plan9's network filesystem, studies suggest using synthetic filesystems as universal access scheme to those information. The major benefit is that 9P is very simple and so quite easy to implement in hardware and can be easily used and over virtually any kind of network (from a serial link up to the internet).

9forge project

The [http://oss-qm.metux.de/index.php/9forge 9forge] project develops service interfaces for many kind of common applications (eg. Browsers, Mail-Clients, Office suites) based on 9P-speaking synthetic filesystems and also ports some applications to use them.

One current point of work is the Mozilla suite, which shall do things like message storage and profile handling via fileservers. At time of writing this article, the project is still in an early stage.

Arguments for using synthetic filesystems

The major point might be flexibility and easy access to service oriented architectures. Once a noticeable number of applications use this scheme, the overall overhead (code, resource consumption, maintenance work) can be reduced significantly

Many general arguments for SOAs also apply here.

Arguments against synthetic filesystems

Not everything fits well into filesystem schemes. For example complex RPCs with lots of parameters tend to be hard to map to filesystem schemes.Although it should be doable most times, it often implies the need for major redesigns.

External links

* BROWN, Geoffrey: [http://www.metux.de/download/soc-filesystem.pdf On-Chip Filesystems to support Complex Embedded Systems]
* PISUPATI, Bhani N.: [http://www.cs.indiana.edu/pub/techreports/TR647.pdf A virtual filesystem framework to support embedded software development]
* PATIL, Ameet; FREEMAN, Michael; GAO, Rui; BAILEY: [http://www-users.cs.york.ac.uk/~mjf/publications/12.pdf Implementing the Styx network protocol in hardware]
* MINNICH, Ron: [http://www.cs.unm.edu/~fastos/05meeting/PLAN9NOTDEADYET.pdf Why Plan9 is not dead and we can learn from it]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • The Honor System — Infobox Musical artist Name = The Honor System Background = group or band Origin = Chicago, Illinois, United States Genre = Punk rock Years active = 1999–present (hiatus) Label = Asian Man Records Double Zero Grey Flight Suburban Home Associated… …   Wikipedia

  • 100% Synthetic — Infobox Album Name = 100% Synthetic Type = ep Artist = The Honor System Released = Start date|2001|05|22 Recorded = Start date|2001|02 Genre = Punk rock Length = 38:34 Label = Double Zero Records Grey Flight Records Producer = Reviews = Last… …   Wikipedia

  • Single File (album) — Infobox Album Name = Single File Type = studio Artist = The Honor System Released = Start date|2000|04|18 Recorded = Start date|2000|01 Genre = Punk rock Length = 38:34 Label = Asian Man Records Producer = Matt Allison Reviews = Last album = This …   Wikipedia

  • Reiser4 — Developer Namesys Full name Reiser4 Introduced 2004 (Linux) Partition identifier Apple UNIX SVR2 (Apple Partition Map) 0x83 (MBR) Basic data partition (GPT) …   Wikipedia

  • Incremental backup — An incremental backup preserves data by not creating multiple copies that are based on the differences in those data: a successive copy of the data contains only that portion which has changed since the preceding copy has been created. Contents 1 …   Wikipedia

  • Tom Knight (scientist) — Tom Knight is a senior research scientist in the MIT Computer Science and Artificial Intelligence Laboratory, or CSAIL, part of the MIT EECS department. Tom Knight arrived at MIT when he was fourteen. He built early hardware such as ARPANET… …   Wikipedia

  • 9P — (or the Plan 9 Filesystem Protocol or Styx), is a network protocol developed for the Plan 9 from Bell Labs distributed operating systemas the means of connecting the components of a Plan 9 system.Files are key objects in Plan 9. They represent… …   Wikipedia

  • Windows Vista editions — This article is part of a series on Windows Vista New features Overview Technical and core system Security and safety Networking technologies I/O technologies Management and administration Removed features …   Wikipedia

  • NetBackup — Veritas NetBackup The NetBackup 6.5 Administration Console. Development status Active Platform Cross platform …   Wikipedia

  • Fusion — can refer to combining two or more distinct things *Cell fusion *Freezing, a chemistry term for a liquid undergoing a phase change into a solid *Gene fusion, a genetic event and molecular biology technique *Nuclear fusion, the process by which… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”