Windows Filesystems: File Object Relationships

One of the challenges of developing file systems in Windows is related to the complex relationships that exist between various data structures in the operating system that are part of the file systems domain. In this post I want to discuss one aspect of this complex relationship because it leads to behavior that makes sense […]

Continue Reading →

To FUSE or Not to FUSE: Performance of User-Space File Systems

To FUSE or Not to FUSE: Performance of User-Space File SystemsBharath Kumar Reddy Vangoor, Vasily Tarasov, and Erez Zadok,in The 15th USENIX Conference on File and Storage Technologies (FAST ’17),February 27 – March 2, 2017, Santa Clara, CA, USA. Previously, I discussed some of the rationale behind FUSE and a basic introduction to why we […]

Continue Reading →

FUSE: File Systems in User Space

File systems are notoriously difficult to implement: of all the pieces that appear in an operating system, they have the highest quality bar and are often called upon more than almost any other part of the operating system; virtual memory management may be called upon more. Of course, the fact that modern operating systems tend […]

Continue Reading →

File System Driver: Create

The usual place to start when building a file system is to think about the Create operation. This may also be referred to as an open operation, but that conflates the object with the handle. I think of Create as being “create a handle to the object”. The creation of the object itself can be […]

Continue Reading →

What About POSIX?

The POSIX specification was originally written to codify existing practice in UNIX. While it was called the PORTABLE Operating Systems Interface, it really set out to create that interface by documenting existing UNIX practice. While POSIX has certainly evolved, it has done so slowly. But I’m not trying to dive into another polemic on the […]

Continue Reading →

What is a File System?

I don’t know if I’ve discussed this previously, but if so, feel free to skip it. I had a meeting with one of my supervisors this morning and he observed that something I pointed out “would make a great HotOS paper…” I’m pretty much off the hook on that one, since there won’t be another […]

Continue Reading →

File System Driver: Structure

I thought I would discuss the structure of my driver and why I chose to structure it the way that I have done. Of course, I could change the structure of the driver again, but I will need to see a compelling reason to do so. First, I will note that the driver has changed […]

Continue Reading →

Visualization

Last post I discussed relationships. But relationships really are not enough. Another key to this puzzle is visualization. In other words, how do we present the information to users so that it is useful. But first, let me step back and point to a larger problem: information overload. If we present users with a list […]

Continue Reading →

Relationships

I recently described two file systems (QMDS and GFS) that attempted to capture additional context for files to improve their usability. At Eurosys, I argued (somewhat successfully) that a distinguishing characteristic of my proposed work is to capture relationships between files, something that goes beyond mere isolated analysis of such files. Index servers, which are […]

Continue Reading →