The Universal File System (UFS) supports hierarchichal storage and access of files and system resources (located in /dev and /devices), dynamic modification of existing files, tracks ownership and access permissions, maintains file modification and access times and supports the concept of locked files. All system resources are considered part of the filesystem including devices

The first UNIX filesystem that we can find evidence of being widely used is sVfs (System V File System). This predates InetDaemon's tenure as a UNIX administrator. An improved file system called the Fast File System (FFS) was later developed to overcome Vfs' small block size, fixed number of inodes and the maximum file system size limitations of Vfs. UFS was derived from FFS and many versions of UNIX utilize UFS including Solaris and HP-UX. Berkeley's FreeBSD still uses FFS/UFS. All FFS-based filesystems suffer from a significant drawback; it can take a very long time to perform a filesystem check (fsck).

Universal File System Components


    A block is the basic unit of storage in UFS. In the modern version of UFS, block sizes can vary. When data is stored to disk, a file takes up one or more blocks. If a file that requires more than one block but less than two is stored to disk, the remainder of the second block is still consumed by the file. File systems created for use with small files should use a smaller block size to more efficiently utilize disk space and larger block sizes if the majority of files will be very large. A block can be divided into a 2^n (where n<4) fragments.
    Fragments are smaller than blocks. Originally implemented as part of FFS, fragments reduced the waste produced by filesystems that could only allocate blocks on the hard drives. A file stored to disk will use one or more blocks. If the last part of the data will not consume a full block, a fragment is used instead.
    Contains information on how that filesystem is allocated and a table of the free disk space available on the file system. The superblock designates the block size, the number of inodes and the physical location of blocks. The superblock points to inodes and blocks that are free.
    inodes are pointers to blocks of information and more specifically, to individual files.
    1. Device name information
    2. File locking
    3. Access mode (permissions)
    4. User and Group ownership information
    5. Byte size of the file
    6. Last access time
    7. Last modified time
    8. Inode last modified time
    9. Adress of the first block of the file on disk
    Journalling is a process of recording data and the changes that are to be made to the file system before actually modifying the file system. By using journalling, a system can track the individual changes made to the filesystem and can reverse changes and recover from errors more easilly. Systems using journalling rarely need to run fsck and more generally, usually do not require administrator intervention to recover from disk errors at bootstrap.


Bookmark this page and SHARE:  


Support InetDaemon.Com

Get Tutorials in your INBOX!

Free Training

Free Training