Wednesday, February 13, 2013

The Unix File System

The Unix file system is a hierarchical, tree- structured name space that is designed to help users organize and access files.The namespace consists of directories that hold files.The tree-structure consists of a root directory and branching subdirectories. Each subdirectory can have its own directories. Each directory may contain its own files. Every type of data in Unix is arranged in files , therefore it is essential to understand the Unix file system ;first on a logical level and then as its structure on the physical device. Unix treats everything it knows and understands as a file. A file to Unix is an array of bytes and its size is simply equal to the number of bytes present in it. Unix treats even directories and devices as files. A file can contain text , object code or a directory structure. The dominant file type is text which contains a series of bytes, sometimes with a suitable delimiter to separate fields. In Unix, all files have places and are collectively arranged as a top-down tree structure.The Unix file system provides a logical method of organising , retrieving and managing information.

Features of a Unix file System:

  • Hierarchical Structure:The Unix system groups all files under another type of files called directories.The whole structure is organized as an upside down hierarchical tree structure. Thus, all files always have a parent file apart from one directory file called the root directory. The root directory is the parent of all the files on the system. The greatest advantage of arranging files in a hierarchical structure is the dynamic flexibility of adding and deleting files at any level. It also improves access time. It was the Unix operating system which introduced the hierarchical file structure.
  • Structureless/ featureless files: Unix imposes no format or structure on the contents of a file.Any format imposed is by the utility that creates the files and not the Unix operating system. The Unix operating system treats all files simply as an array of bytes. A Unix file does not contain an extension . for e.g. A C program written on Unix does not contain a .c extension. The .c extension is added later due to the requirements imposed by the C compiler.
  • Dynamic File Expansion:The size of a file is not restricted by any rule other than amount of disk-storage space available. The sizes of the files and the number of files can be dynamically modified.
  • Security: Unix provides security at various levels. Files are protected using file ownership mechanisms. All users are divided into three groups and each group is granted access or denied access in terms of read, write and execute permissions for each file separately.
  • Device Independence: As devices and directories are both treated as files in Unix, therefore, a user is protected from knowing the details of device related operations and procedures.
In the next post we shall continue with the discussion of the Unix file system.Specifically we will discuss the three types of files supported in the logical view of the Unix file system.

No comments:

Post a Comment