FACTOID # 15: The majority of people in most African countries live in poverty.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS   

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Unix File System

The UNIX file system (UFS) is a file system used by many Unix and Unix-like operating systems. It is also called the Berkeley Fast File System, the BSD Fast File System or FFS. It is a distant descendant of the original filesystem used by Version 7 Unix. In computing, a file system is a method for storing and organizing computer files and the data they contain to make it easy to find and access them. ... Unix (officially trademarked as UNIX) is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. ... A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... The University of California, Berkeley (also known as UC Berkeley, Berkeley, Cal, and by other names, see below) is the oldest and flagship campus of the ten-campus University of California system. ... BSD redirects here; for other uses see BSD (disambiguation). ... Seventh Edition Unix, also called Version 7 Unix, Version 7 or just V7, was an important early release of the Unix operating system. ...

Contents

Design

A UFS volume is composed of the following parts:

  • a few blocks at the beginning of the partition reserved for boot blocks (which must be initialized separately from the filesystem)
  • a superblock, containing a magic number identifying this as a UFS filesystem, and some other vital numbers describing this filesystem's geometry and statistics and behavioral tuning parameters
  • a collection of cylinder groups. Each cylinder group has the following components:
    • a backup copy of the superblock
    • a cylinder group header, with statistics, free lists, etc, about this cylinder group, similar to those in the superblock
    • a number of inodes, each containing file attributes
    • a number of data blocks

Inodes are numbered sequentially. The first several inodes are reserved for historical reasons, followed by the inode for the root directory. In computing, Bootstrapping refers to a process where a simple system activates another more complicated system that serves the same purpose. ... In computer programming, a magic number is a special constant used for some specific purpose. ... In computing, an inode is a data structure on a traditional Unix-style file system such as ext2. ... In computer file systems, the root directory is the first or top-most directory in a hierarchy. ...


Directory files contain only the list of filenames in the directory and the inode associated with each file. All file metadata is kept in the inode. Metadata is data about data. ...


History and evolution

Early versions of Unix used filesystems referred to simply as FS. FS only included the boot block, superblock, a clump of inodes, and the data blocks. This worked well for the small disks early Unixes were designed for, but as technology advanced and disks got larger, moving the head back and forth between the clump of inodes and the data blocks they referred to caused thrashing. BSD optimized this in FFS by inventing cylinder groups, breaking the disk up into smaller chunks, each with its own inode clump and data blocks. In computer science, thrash is the poor performance of a virtual memory (or paging) system, when the same pages are being loaded repeatedly due to a lack of main memory. ...


The intent of BSD FFS is to try to localize associated data blocks and metadata in the same cylinder group, and ideally, all of the contents of a directory (both data and metadata for all the files) in the same or nearby cylinder group, thus reducing fragmentation caused by scattering a directory's contents over a whole disk. In computing, file system fragmentation, sometimes called file system aging, is the inability of a file system to lay out related data sequentially (contiguously), an inherent phenomenon in storage-backed file systems that allow in-place modification of their contents. ...


Some of the performance parameters in the superblock included number of tracks and sectors, disk rotation speed, head speed, and alignment of the sectors between tracks. In a fully optimized system, the head could be moved between close tracks to read scattered sectors off of alternating tracks while waiting for the platter to spin around.


As disks grew larger and larger, sector level optimization became obsolete (especially with disks that used linear sector numbering and variable sectors per track). With larger disks and larger files, fragmented reads became more of a problem. To combat this, BSD originally increased the filesystem block size from one sector to 1k in 4.0BSD, and, in FFS, increased the filesystem block size from 1k to 8k. This has several effects. The chances of a file's sectors being contiguous is much greater. The amount of overhead to list the file's blocks is reduced. The number of blocks representable in a fixed bit width block number is increased (allowing for larger disks).


With larger block sizes, disks with many small files would waste a lot of space, so BSD added block level fragmentation, where the last partial block of data from several files may be stored in a single "fragment" block instead of multiple mostly empty blocks.


Implementations

Vendors of some commercial Unix systems, such as SunOS/Solaris, System V Release 4, HP-UX, and Tru64 UNIX, have adopted UFS. Most of them adapted UFS to their own uses, adding proprietary extensions that may not be recognized by other vendors' versions of Unix. Surprisingly, many have continued to use the original block size and data field widths as the original UFS, so some degree of (read) compatibility remains across platforms. SunOS was the version of the UNIX operating system developed by Sun Microsystems for their workstations and server systems until the early 1990s. ... Solaris is a computer operating system developed by Sun Microsystems. ... System V, previously known as AT&T System V, was one of the versions of the Unix computer operating system. ... HP-UX (Hewlett Packard UniX) is Hewlett-Packards proprietary implementation of the Unix operating system, based on System V (initially System III). ... Tru64 UNIX is HPs (formerly Compaq; formerly DEC) 64-bit Unix operating system for the DEC Alpha AXP platform. ...


As of Solaris 7, Sun Microsystems included UFS Logging, which brought filesystem journaling to UFS. Solaris UFS also has extensions for large files and large disks and other features. Sun Microsystems, Inc. ...


In 4.4BSD and BSD Unix systems derived from it, such as FreeBSD, NetBSD, OpenBSD, and DragonFlyBSD, the implementation of UFS1 and UFS2 is split into two layers - an upper layer that provides the directory structure and supports metadata (permissions, ownership, etc.) in the inode structure, and lower layers that provide data containers implemented as inodes. This was done to support both the traditional FFS and the LFS log-structured file system with common code for common functions. The upper layer is called "UFS", and the lower layers are called "FFS" and "LFS". In some of those systems, the term "FFS" is used for the combination of the FFS lower layer and the UFS upper layer, and the term "LFS" is used for the combination of the LFS lower layer and the UFS upper layer. Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Unix derivative distributed by the University of California, Berkeley, starting in the 1970s. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... NetBSD is a freely redistributable, open source version of the Unix-like BSD computer operating system. ... OpenBSD is a freely available Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. ... The DragonFly BSD Logo In computing, the DragonFly BSD operating system is a fork of FreeBSD. Matt Dillon, a long-time FreeBSD and Amiga developer, started work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003. ... The Log-Structured Filesystem (or LFS) is an implementation of a log-structured file system for NetBSD. It appears to be no longer completely functional as of NetBSD 2. ... The Log-Structured Filesystem (or LFS) is an implementation of a log-structured file system for NetBSD. It appears to be no longer completely functional as of NetBSD 2. ...


FreeBSD extended the FFS and UFS layers to support a new variant, called UFS2, which adds 64-bit block pointers (allowing volumes larger than 1TB), variable-sized blocks (similar to extents), extended flag fields and extended attribute support. FreeBSD also introduced soft updates and the ability to make file system snapshots for both UFS1 and UFS2. These have since been ported to NetBSD. Note that OpenBSD does not currently support UFS2, but it does support soft updates. An extent is a contiguous area of storage in a computer file system, reserved for a file. ... In computer file systems, soft updates are an approach to maintaining disk integrity after a crash or power outage. ... In computer file systems, a snapshot is a copy of a set of files and directories as they were at a particular point in the past. ...


Linux includes a UFS implementation for binary compatibility at the read level with other Unixes, but since there is no standard implementation for the vendor extensions to UFS, Linux does not have full support for writing to UFS. The native Linux ext2 filesystem is inspired by UFS. (In fact, in some 4.4BSD-derived systems, the UFS layer can use an ext2 layer as a container layer, just as it can use FFS and LFS.) Linux (also known as GNU/Linux) is a Unix-like computer operating system. ... The ext2 or second extended file system is a file system for the Linux kernel. ...


NeXTStep, which was BSD-derived, also used a version of UFS. In Mac OS X it is available as an alternative to HFS+. NEXTSTEP is the original object-oriented, multitasking operating system that NeXT Computer, Inc. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Computer, the latest of which is pre-loaded on all currently shipping Macintosh computers. ... HFS Plus or HFS+ is a file system developed by Apple Computer to replace their Hierarchical File System (HFS) as the primary file system used on Macintosh computers. ...


See also

The following tables compare general and technical information for a number of file systems. ...

References

Marshall Kirk McKusick (b. ... William N. Joy (born 1954), commonly known as Bill Joy, co-founded Sun Microsystems in 1982 along with Vinod Khosla, Scott McNealy and Andy Bechtolsheim, and served as chief scientist at the company until 2003. ... The University of California, Berkeley (also known as UC Berkeley, Berkeley, Cal, and by other names, see below) is the oldest and flagship campus of the ten-campus University of California system. ... Pearson can mean Pearson PLC the media conglomerate. ...

External links


  Results from FactBites:
 
Unix File System - Wikipedia, the free encyclopedia (744 words)
UNIX file system (UFS) is a file system used by many Unix and Unix-like operating systems.
It is derived from the Berkeley Fast File System (FFS), which itself was originally developed from FS in the first versions of UNIX developed at Bell Labs.
This worked well for the small disks early unixes were designed for, but as technology advanced and disks got larger, moving the head back and forth between the clump of inodes and the data blocks they referred to caused thrashing.
Unix Internals (1019 words)
Size of the file system represents the actual no of blocks (used + unused) present in the file system.
Each file will be having nine access permissions for read, write and execute, for the owner, group and others in rwx rwx rwx format.
If the file needs more than 10 blocks, it uses single indirect indexing, means this is an index to the a block which contains an array of disk block numbers which in turn represent the actual disk block.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.