censhare uses a Virtual File System (VFS) to access assets and their storage items. 


Overview

The VFS creates a storage hierarchy and access paths to assets and storage items from the censhare Server on a local HDD. Operating systems are usually divided into two fundamental layers. The "user space" and the "kernel space".

User space

Within the user space the normal applications, such as Adobe InDesign, Apple Safari, and the Apple Finder as well as the censhare Client are running.

Kernel space

The kernel space provides access to mass storage devices, the network, etc. There are several so-called kernel extensions, such as HFS, NTFS, or WebDAV which represent the bits and bytes of mass storage as real usable data (files and folders). The kernel space provides an abstract interface to access data, wherever they are stored. Mounted volumes on your computer use exactly this abstract interface to display your files and folders within e.g. the Finder.

The censhare VFS uses this technology, too. It is divided into a kernel extension and a userspace API.

Kernel Extension (KEXT)

The KEXT is loaded into the kernel and is available when your computer is running. It is the heart of the virtual filesystem and implements several functions that are triggered by the kernel and/or applications from userspace. These are functions such as "mount", "unmount", "give me the content of directory w", "does file x exist", "open file y", "read n bytes of file z starting at position m", and so on. For example, Finder uses these functions to crawl through the mounted filesystem and to present its content to the user.

Userspace API

The userspace API provides several methods to control the virtual filesystem and to check its health (mount & unmount it, configure it, is it mounted, ...). It also mirrors the most significant requests to the KEXT into the application, which uses the API - the censhare Client.

The censhare Client defines the content of the filesystem and how it is accessed. That is why the mounted device does not show any kind of information if you try to access it with the Finder. If you know the complete path, you could access the content of any asset you're authorized to.