File Systems

From LabAutopedia

Jump to: navigation, search
Invited-icon.jpgA LabAutopedia invited article

Authored by: Mark F. Russo

A file system is a tool provided by the operating system to store and organize files so that they can be quickly accessed. File systems are used on a variety of physical file storage devices like hard drives, CD-ROMs and flash drives. Most file systems organize files hierarchically; collections of files, sometimes called folders or directories, can themselves contain other folders or directories. This hierarchy is used as means to locate a file in a file system. The top level folder or disk drive name is followed by the recursive nested series of folders that lead to the file itself, the names of which are separated by predesignated characters, such as the forward slash (/) or backslash (\).

File systems provide a file with all of its properties. For example, file systems give a file its name and may associate other metadata, such as the file's type. File systems give users the ability to manipulate its contents, such as creating or deleting folders, adding new files, deleting existing files, and moving files between folders. File contents can be read and modified through file system commands. File systems may allow users to perform a variety of additional functions that are specific to the type of file system, such as locking files.

Early versions of the Microsoft Windows operating system used the FAT (File Allocation Table) file system. FAT limited filenames to the so-called 8.3 (pronounced eight-dot-three) notation; the base name of a file could be no longer than eight characters, followed by a dot and at most a three character extension. Later versions of Microsoft Windows changed to NTFS (New Technology File System) which lifted this and other limitations.

One unique aspect of Microsoft Windows is that it uses letters to distinguish between devices and disk partitions. For example, when attaching a new storage device Windows requires a unique letter to be assigned to the device. That unique letter will be used to access the device. The "C" drive is the most common letter assigned to the main disk drive.

The network file system is one of the most common technologies used for laboratory data storage and exchange. A network file system allows network accessible storage devices to be attached to a computer in a manner that makes it look as if the device was attached directly. A network file system acts as if it was a local disk drive, only its contents reside on a device that is separated from the computer by a network. With a network file system files can be manipulated locally or remotely using the same set of commands. Furthermore, multiple computers can attach simultaneously to the same network file system, allowing files to be shared, exchanged and backed up easily.

The process used for connecting a network file system is operating system specific. On Windows the process is called "mapping a drive." In the various flavors of the Unix operating system the process is called "mounting a device." In either case contents of the remotely attached device is accessed as files stored in a file system.

Most computers used as laboratory instrument controllers are connected to a network with attached network file system storage. Instrumentation control software may write data to the disk drive in data files. Because files stored on the network file system can be accessed as easily as if they were stored on a local storage device, it is tempting to ask the controller to write data directly to a remote file. This has been found to be a poor practice. The rule-of-thumb in the field that has been adopted for data files generated by long running automated systems is to write locally, copy remotely.

If something goes wrong with the instrument controller’s access to the network, an attempt to write to a remote data file may trigger a run time error, or at best, the controller will wait forever for data to be written to the remote storage device. As networks become more reliable, this becomes less of a problem. Still, the most reliable way to ensure that an automated run continues, even in the face of a poorly operating network file system, is to write data to a local drive and then copy to a remote drive when the remote drive is available.