Home About us Products Services Contact us Bookmark
:: wikimiki.org ::
Berkeley File System

Berkeley file system

In computing, the Berkeley Fast File System (or FFS) is a file system used mostly by BSD-derivative Unix variants. It is a distant descendant of the original filesystem used by Unix System V (called just 'FS'). FFS sits on top of UFS (1 or 2) and provides directory structure information, and a variety of disk access optimizations. UFS (and UFS2) define on-disk data layout.

See also


- Comparison of file systems

External links


- Marshall Kirk McKusick, William N. Joy, Samuel J. Leffler and Robert S. Fabry. [http://citeseer.ist.psu.edu/mckusick84fast.html A Fast File System for UNIX.] Transactions on Computer Systems, vol. 2, num. 3, Aug. 1984, pp. 181-197.
- The Linux Documentation Project's [http://www.tldp.org/HOWTO/Filesystems-HOWTO-9.html#ffs Filesystems HOWTO: FFS].
- [http://sixshooter.v6.thrupoint.net/jeroen/faq.html#UFS-DIFF-FFS Little UFS2 FAQ: What is the difference between UFS and FFS?] Category:Disk file systems



File system

: See Filing system for this term as it is used in libraries and offices 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. File systems may use a storage device such as a hard disk or CD-ROM and involve maintaining the physical location of the files, or they may be virtual and exist only as an access method for virtual data or for data over a network (e.g. NFS). More formally, a file system is a set of abstract data types that are implemented for the storage, hierarchical organization, manipulation, navigation, access, and retrieval of data.

Aspects of file systems

The most familiar file systems make use of an underlying data storage device that offers access to an array of fixed-size blocks, sometimes called sectors, generally 512 bytes each. The file system software is responsible for organizing these sectors into files and directories, and keeping track of which sectors belong to which file and which are not being used. However, file systems need not make use of a storage device at all. A file system can be used to organize and represent access to any data, whether it be stored or dynamically generated (eg, from a network connection). Whether the file system has an underlying storage device or not, file systems typically have directories which associate file names with files, usually by connecting the file name to an index into a file allocation table of some sort, such as the FAT in an MS-DOS file system, or an inode in a UNIX-like filesystem. Directory structures may be flat, or allow hierarchies where directories may contain subdirectories. In some file systems, file names are structured, with special syntax for filename extensions and version numbers. In others, file names are simple strings, and per-file metadata is stored elsewhere. The hierarchical filesystem was an early research interest of Dennis Ritchie of Unix fame; previous implementations were restricted to only a few levels, notably the IBM implementations, even of their early databases like IMS. After the success of Unix, Ritchie extended the filesystem concept to every object in his later operating system developments, such as Plan 9. Traditional filesystems offer facilities to create, move and delete both files and directories. They lack facilities to create additional links to a directory (hard links in Unix), rename parent links (".." in Unix-like OS), and create bidirectional links to files. Traditional filesystems also offer facilities to truncate, append to, create, move, delete and in-place modify files. They do not offer facilities to prepend to or truncate from the beginning of a file, let alone arbitrary insertion into or deletion from a file. The operations provided are highly asymmetric and lack the generality to be useful in unexpected contexts. For example, interprocess pipes in Unix have to be implemented outside of the filesystem because it does not offer truncation from the beginning of files. Secure access to basic file system operations can be based on a scheme of access control lists or capabilities. Research has shown access control lists to be difficult to secure properly, which is why research operating systems tend to use capabilities. Commercial file systems still use access control lists. see: secure computing

Types of file systems

File system types can be classified into disk file systems, network file systems and special purpose file systems.

Disk file systems

A disk file system is a file system designed for the storage of files on a data storage device, most commonly a disk drive, which might be directly or indirectly connected to the computer. Examples of disk file systems include FAT, NTFS, HFS, ext2, ISO 9660, ODS-5, and UDF. Some disk file systems are also journaling file systems or versioning file systems.

Database file systems

New concepts for file management are database-based file systems. Instead of hierarchical structured management, files are identified by their characteristics, like type of file, topic, author, or similar metadata. Therefore a file search can be formulated in SQL or in natural speech. Examples include Gnome VFS, BFS, and WinFS.

Transactional file systems

This is a special kind of file system in that it logs events or transactions to files. Each operation that you do may involve changes to a number of different files and disk structures. In many cases, these changes are related, meaning that it is important that they all be executed at the same time. Take for example a bank sending another bank some money electronically. The bank's computer will "send" the transfer instruction to the other bank and also update its own records to indicate the transfer has occurred. If for some reason the computer crashes before it's had a chance to update its own records, then on reset, there will be no record of the transfer but the bank will be missing some money.

Special purpose file systems

A special purpose file system is basically any file system that is not a disk file system or network file system. This includes systems where the files are arranged dynamically by software, intended for such purposes as communication between computer processes or temporary file space. Special purpose file systems are most commonly used by file-centric operating systems such as Unix. Examples include the '/proc' filesystem used by some Unix variants, which grants access to information about processes and other operating system features. Deep space science exploration craft, like Voyager I & II used digital tape based special file systems. Most modern space exploration craft like Cassini-Huygens used Real-time operating system file systems or RTOS influenced file systems. The Mars Rovers are one such example of a RTOS file system, important in this case because they are implemented in flash memory.

File systems and operating systems

Most operating systems provide a file system, as a file system is an integral part of any modern operating system. Early microcomputer operating systems' only real task was file management - a fact reflected in their names (see DOS and QDOS). Some early operating systems had a separate component for handling file systems which was called a disk operating system. On some microcomputers, the disk operating system was loaded separately from the rest of the operating system. Because of this, there needs to be an interface provided by the operating system software between the user and the file system. This interface can be textual (such as provided by a command line interface, such as the Unix shell, or OpenVMS DCL) or graphical (such as provided by a graphical user interface, such as file browsers). If graphical, the metaphor of the folder, containing documents, other files, and nested folders is often used (see also: directory and folder).

File systems under Unix

Unix and Unix-like operating systems assign a device name to each device, but this is not how the files on that device are accessed. Instead, Unix creates a virtual file system, which makes all the files on all the devices appear to exist under one hierarchy. This means, in Unix, there is one root directory, and every file existing on the system is located under it somewhere. Furthermore, the Unix root directory does not have to be in any physical place. It might not be on your first hard drive - it might not even be on your computer. Unix can use a network shared resource as its root directory. To gain access to files on another device, you must first inform the operating system where in the directory tree you would like those files to appear. This process is called mounting a file system. For example, to access the files on a CD-ROM, informally, one must tell the operating system "Take the file system from this CD-ROM and make it appear under the directory /mnt". The directory given to the operating system is called the mount point - in this case it is /mnt. The /mnt directory exists on all Unix systems (as specified in the Filesystem Hierarchy Standard) and is intended specifically for use as a mount point for temporary media like floppy disks or CDs. It may be empty, or it may contain subdirectories for mounting individual devices. Generally, only the administrator (i.e. root user) may authorize the mounting of file systems. Unix-like operating systems often include software and tools that assist in the mounting process and provide it new functionality. Some of these strategies have been coined "auto-mounting" as a reflection of their purpose. #In many situations, filesystems other than the root need to be available as soon as the operating system has booted. All Unix-like systems therefore provide a facility for mounting filesystems at boot time. System administrators define these filesystems in the configuration file fstab, which also indicates options and mount points. #In some situations, there is no need to mount certain filesystems at boot time, although their use may be desired thereafter. There are some utilities for Unix-like systems that allow the mounting of predefined filesystems upon demand. #Removable media have become very common with microcomputer platforms. They allow programs and data to be transferred between machines without a physical connection. Two common examples include CD-ROMs and DVDs. Utilities have therefore been developed to detect the presence and availability of a medium and then mount that medium without any user intervention. #Progressive Unix-like systems have also introduced a concept called supermounting. For example, a floppy disk that has been supermounted can be physically removed from the system. Under normal circumstances, the disk should have been synchronised and then unmounted before its removal. Provided synchronisation has occurred, a different disk can be inserted into the drive. The system automatically notices that the disk has changed and updates the mount point contents to reflect the new medium.

File systems under Mac OS X

Mac OS X uses a file system that it inherited from Mac OS called HFS Plus. HFS Plus is a metadata-rich and case preserving but case insensitive file system. Due to the Unix roots of Mac OS X, Unix permissions were added to HFS Plus. Later versions of HFS Plus added a journal to prevent corruption of the file system structure and introduced a number of optimisations to the allocation algorithms in an attempt to defragment files automatically without requiring an external defragmenter. Filenames can be up to 255 characters. HFS Plus uses Unicode to store filenames. On Mac OS X, the filetype can come from the Type code stored in file's metadata or the filename. HFS Plus has three kinds of links: Hard links, Symbolic links and Aliases. Aliases are designed to maintain a link to their original file even if they are moved or renamed.

File systems under Plan 9

Plan 9 was originally designed to extend some of Unix's good points, and to introduce some new ideas of its own. With respect to file systems, the Unix system of treating things as files was continued, but in Plan 9, everything is treated as a file, and accessed as a file would be. Secondly, the underlying 9P protocol was used to ensure that the difference between a file existing on a remote system and a file existing on a local system was basically nil (apart from a possible difference in latency). This had the advantage that a device or devices, represented by files, on a remote computer, could be used as though it were the local computer's own device(s). This means that under Plan 9, multiple file servers provide access to devices, classing them as special file systems. Everything on a Plan 9 system has, then, an abstraction as a file. For example, FTP connections are not handled by a dedicated program, but instead the ftpfs server mounts the remote hierarchy as part of the local filesystem hierarchy, and is accessed as if the remote files were local. Another example, the mail system uses file servers that synthesize virtual files and directories to represent your mailbox as /mail/fs/mbox.

File systems under Microsoft Windows

Microsoft Windows developed out of an earlier operating system (MS-DOS which in turn was based on CP/M-80, which took many ideas from still earlier operating systems, notably several from DEC), and has added both file system and user interface ideas from several other sources since its first release (Unix, OS/2, etc). As such, Windows makes use of the File Allocation Table and NTFS filesystems. Older versions of the FAT file system had file name length limits, plus had restrictions on the maximum size of FAT-formatted disks or partitions. NTFS, introduced with the Windows NT operating system, allowed ACL-based permission control. Hard links, multiple file streams, attribute indexing, quota tracking, compression and mount-points for other file systems (called "junctions") are also supported, though not all well-documented. Unlike many other operating systems, Windows uses a drive letter abstraction at the user level to distinguish one disk or partition from another. For example, the path C:\WINDOWS\ represents a directory WINDOWS on the partition represented by the letter C. The C drive is most commonly used for the primary hard disk partition, on which Windows is installed and from which it boots. This "tradition" has become so firmly ingrained that bugs came about in older versions of Windows which made assumptions that the drive that the operating system was installed on was C. The tradition of using "C" for the drive letter can be traced to MS-DOS, where the letters A and B were reserved for up to two floppy disk drives; in a common configuration, A would be the 3½-inch floppy drive, and B the 5¼-inch one. Network drives may also be mapped to drive letters. Since Windows interacts with the user via a graphical user interface, its documentation refers to directories as a folder which contains files, and is represented graphically with a folder icon.

File systems under OpenVMS

This topic is discussed here: Files-11

File systems under MVS [IBM Mainframe]

This topic is discussed here: MVS#MVS filesystem

See also


- List of file systems
- Comparison of file systems
- Filename extension
- Virtual file system
- Filesystem API

External links


- [http://www.forensics.nl/filesystems Filesystem Specifications and Technical Whitepapers]
- [http://filesystems.org/all-projects.html Interesting File System Projects]
-
Computer file system ja:ファイルシステム

Unix

Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. Today's Unix systems are split into various branches, developed over time by AT&T, several other commercial vendors, as well as several non-profit organizations. Unix was designed to be portable, multi-tasking and multi-user. The Unix systems are characterized by various concepts: plain text files, command line interpreter, hierarchical file system, treating devices and certain types of inter-process communication as files, etc. In software engineering, Unix is mainly noted for its use of the C programming language and for the Unix philosophy. The present owner of the UNIX trademark is The Open Group, while the present claimants on the rights to the UNIX source code are The SCO Group and Novell. Only systems fully compliant with and certified to the Single UNIX Specification qualify as "UNIX" (others are called "UNIX system-like" or Unix-like). During the late 1970s and early 1980s, Unix's influence in academic circles led to massive adoption (particularly of the BSD variant, originating from the University of California, Berkeley) of Unix by commercial startups, the most notable of which is Sun Microsystems. Sun Microsystems

History

1960s and 1970s

In the 1960s, the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric worked on an experimental operating system called Multics (Multiplexed Information and Computing Service), which was designed to run on the GE-645 mainframe computer. The aim was the creation of an interactive operating system with many novel capabilities, including enhanced security. The project did develop production releases, but initially these releases turned out to have poor performance. AT&T Bell Labs pulled out and deployed its resources elsewhere. One of the developers on the Bell Labs team, Ken Thompson, continued to develop for the GE-645 mainframe, and wrote a game for that computer called Space Travel. However, he found that the game was slow on the GE machine and was costly, apparently costing $75 per go in scarce computing time. Thompson thus re-wrote the game in DEC PDP-7 Assembly language with help from Dennis Ritchie. This experience, combined with his work on the Multics project, led Thompson to start a new operating system for the DEC PDP-7. Thompson and Ritchie led a team of developers, including Rudd Canaday, at Bell Labs developing a file system as well as the new multi-tasking operating system itself. They included a command interpreter and some small utility programs as well. This project was called Unics, short for Uniplexed Information and Computing System, and could support two simultaneous users. The name has been attributed to Brian Kernighan, and was a hack on Multics. Following bad puns of Unics (homophone of eunuchs) being a castrated Multics, the name was later changed to Unix, and thus a legacy was born. The name is also a criticism of the overly general and bloated Multics system - Unix would do one thing, and do it well. Up until this point there had been no financial support from Bell Labs, when the Computer Science Research Group wanted to use Unix on a much larger machine than the PDP-7. Thompson and Ritchie managed to trade the promise of adding text processing capabilities to Unix for a PDP-11/20 machine, and this itself led to some financial support from Bell. For the first time in 1970, the Unix Operating System was officially named and ran on the PDP-11/20. It added a text formatting program called roff and a text editor. All three were written in PDP-11/20 assembly language. This initial "text processing system", made up of Unix, roff, and the editor, was used by Bell Labs for text processing of patent applications at Bell. Runoff soon evolved into troff, the first electronic publishing program with a full typesetting capability. The UNIX Programmer's Manual was published on November 3, 1971. In 1973, the decision was made to re-write Unix in the C programming language. The change meant that Unix could later easily be modified to work on other machines (thus becoming portable), and other variations could be created by other developers. The code was now more concise and compact, leading to an acceleration in the development of Unix. AT&T made Unix available to universities and commercial firms, as well as the United States government under licenses. The licenses included all source code except for the machine-dependent kernel, which was written in PDP-11 assembly code. However, bootleg copies of the annotated Unix machine-dependent kernel circulated widely in the late 1970's in the form of a much-copied book by John Lions of the University of New South Wales in Australia (the Lions' Commentary on UNIX 6th Edition, with Source Code), which led to considerable adoption of Unix as an educational operating system. Development expanded, with Versions 4, 5 and 6 being released by 1975. These versions added pipes, leading to the development of a more modular code-base, increasing development speed still further. V5 and especially V6 led to a plethora of different Unix versions both inside and outside Bell Labs, including PWB/UNIX, IS/1 (the first commercial Unix), and the University of Wollongong's port to the Interdata 7/32 (the first non-PDP Unix). In 1978, UNIX/32V, for the VAX, was released. By this time, over 600 machines were running Unix in some form. Version 7 Unix, the last version of Research Unix to be released widely, was released in 1979. Versions 8, 9 and 10 were developed through the 1980s but were only ever released to a few universities, though they did generate papers describing the new work. This research led to the development of Plan 9, a new portable distributed system.

1980s

AT&T now developed UNIX System III, based on Version 7, as a commercial version and sold the product directly, the first version launching in 1982. However its subsidiary, Western Electric, continued to sell older Unix versions, based on the UNIX System (Versions 1 to 7). To end the confusion between all the differing versions, AT&T combined various versions developed at other universities and companies into UNIX System V Release 1. This introduced features such as the vi editor and curses from the Berkeley Software Distribution of Unix developed at the University of California, Berkeley (UCB). This also included support for the DEC VAX machine. The new commercial Unix releases however no longer included the source code and so UCB continued to develop BSD Unix as an alternative to UNIX System III and V, originally on the PDP-11 architecture (the BSD 2.x releases, ending with 2.10). Perhaps the most important aspect of the BSD development effort was the addition of TCP/IP network code to the mainstream Unix kernel. The BSD effort produced eight significant releases that contained network code: 4.1c, 4.2, 4.3, 4.3-Tahoe ("Tahoe" being the nickname of the CCI Power 6/32 architecture that was the first non-DEC port of the BSD kernel), 4.3-Reno (to match the "Tahoe" naming, and that the release was something of a gamble), Net2, 4.4, and 4.4-lite. The network code found in these releases is the ancestor of almost all TCP/IP network code in use today, including code that was later released in AT&T System V UNIX and Microsoft Windows. The accompanying Berkeley Sockets API is a de facto standard for networking APIs and has been copied on many platforms. Other companies began to offer commercial versions of the UNIX System for their own mini-computers and workstations. Most of these new Unix flavors were developed from the System V base under a license from AT&T. Others chose BSD instead. One of the leading developers of BSD, Bill Joy, went on to co-found Sun Microsystems in 1982 and create SunOS (now Solaris) for their workstation computers. In 1980, Microsoft announced its first Unix for 16-bit microcomputers called Xenix, which the Santa Cruz Operation (SCO) ported to the Intel 8086 processor in 1983, and eventually branched Xenix into SCO UNIX in 1989. In 1984, an industry group called X/Open was formed, with the aim of forming compatible open systems, that is, standardize the UNIX systems. AT&T added various features into UNIX System V, such as file locking, system administration, job control (modelled on ITS), streams, the Remote File System and TLI. AT&T cooperated with Sun Microsystems and between 1987 and 1989 merged Xenix, BSD, SunOS, and System V into System V Release 4 (SVR4), independently of X/Open. This new release consolidated all the previous features into one package, and threatened the end of competing versions. It also greatly increased licensing fees.

1990s

In 1990, the Open Software Foundation released OSF/1, their standard Unix implementation, and it was more closely based on BSD than on SVR4. The Foundation was started in 1988 and was funded by several Unix-related companies that wished to counteract the collaboration of AT&T and Sun on SVR4. Subsequently, AT&T and another group of licensees formed the group "UNIX International" in order to counteract OSF. This escalation of conflict between competing vendors gave rise to the syntagma "Unix wars". In 1991, a group of BSD developers (Donn Seeley, Mike Karels, Bill Jolitz, and Trent Hein) left the University of California to found Berkeley Software Design, Inc (BSDI). BSDI was the first company to produce a fully-functional commercial version of BSD Unix for the inexpensive and ubiquitous Intel platform, which started a wave of interest in the use of inexpensive hardware for production computing. Shortly after it was founded, Bill Jolitz left BSDI to pursue distribution of 386BSD, commonly identified as the free software ancestor of FreeBSD, OpenBSD, and NetBSD. By 1993 most of the commercial vendors of Unix had changed their commercial variants of Unix to be based upon SVR4, and many BSD features were added on top. In 1994, OSF stopped the development of OSF/1, as the only vendor using it was DEC, who branded it Digital UNIX. Shortly after UNIX System V Release 4 was produced, AT&T sold all its rights to UNIX to Novell. Dennis Ritchie, one of the creators of Unix, likened this to the Biblical story of Esau selling his birthright for some lentils [http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=7379%40ucsbcsl.ucsb.edu&rnum=1&prev=/groups%3Fq%3Ddennis%2Britchie%2Blentil%2Bbirthright%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D7379%2540ucsbcsl.ucsb.edu%26rnum%3D1]. Novell developed its own version, UnixWare, merging its Netware with UNIX System V Release 4. Novell tried to use this to battle against Windows NT, but their core markets suffered considerably. In 1994, Novell decided to split the bundle of UNIX-related assets and sell parts of them. The UNIX trademark and the certification rights were sold to the X/Open Consortium. In 1996, X/Open merged with OSF, creating the Open Group. Various standards by the Open Group now define what is and what is not a "UNIX" operating system, notably the post-1998 Single UNIX Specification. In 1995, the business of administration and support of the existing UNIX licenses plus rights to further develop the SystemV code base were transferred to the Santa Cruz Operation. Whether Novell also sold the copyrights is currently the subject of litigation (see below).

2000s

In 2000, the Santa Cruz Operation sold its entire UNIX business and assets to Caldera Systems, which later on changed its name to The SCO Group. This new player then started a huge legal campaign against various users and vendors of Linux. The SCO Group has offered various legal theories over the course of several cases. Some of these allege that Linux contains copyrighted Unix code now owned by The SCO Group. Others allege trade-secret violations by IBM, or contract violations by former Santa Cruz customers who since converted to Linux. The most far-reaching theory is that development work that IBM did for AIX is considered a derivative work and therefore also owned by SCO. If this is upheld it would affect all Unix licensees. Under a program called SCOsource, the SCO Group is now offering licenses to all companies and individuals wishing to use operating systems with code based on UNIX System V Release 4 (and their own release, UNIX System V, Release 5). However, Novell disputed the SCO group's claim to hold copyright on the UNIX source base. According to Novell, SCO (and hence the SCO group) are effectively franchise operators for Novell, which also retained the core copyrights, veto rights over future licensing activities of SCO, and 95% of the licensing revenue. The SCO Group disagreed with this, and the dispute had resulted in the SCO v. Novell lawsuit. In 2005, Sun Microsystems also released an open source version of Solaris, called OpenSolaris. The OpenSolaris codebase is intended to take advantage of outside contributions to provide the next versions of Solaris; in addition, it has spawned at least one non-Sun distribution in the form of Jörg Schilling's SchilliX. The dot-com crash has led to significant consolidation of Unix users as well. Of the many commercial flavors of Unix that were born in the 1980s, only Hewlett-Packard's HP-UX, IBM's AIX, NeXT's NEXTSTEP (later OPENSTEP, now Mac OS X) and Sun's Solaris operating systems are still doing relatively well in the market; players such as Digital Equipment Corporation, Data General, and the original Santa Cruz Operation (now known as Tarantella) have been bought out or gone out of business. The rise of Linux and the open-source BSD implementations as a dominating force in the Unix space has also dealt a damaging blow to commercial Unix development, as some companies opt for open source over closed.

Standards

Beginning in the late 1980s, an open operating system standardization effort known as POSIX provided a common baseline for all operating systems; IEEE based POSIX around the structure of the Unix system. At around the same time a separate but very similar standard, the Single UNIX Specification, was also produced by the Open Group. Starting in 1998 these two standards bodies began work on merging the two standards, and the latest revisions of both are in fact identical. In an effort towards compatibility, several Unix system vendors agreed on SVR4's ELF format as standard for binary and object code files. The common format allows substantial binary compatibility among Unix systems operating on the same CPU architecture. The directory layout of some systems, particularly on Linux, is defined by the Filesystem Hierarchy Standard. This type of standard however is controversial among many, and even within the Linux community adoption is far from universal.

List of Unixes

This is a list of Unixes (sing. Unix). Each version of the UNIX Time-Sharing System evolved from the version before, with version one evolving from the prototypal Unics. Not all variants and descendants are displayed.

Research Unix


- Unics (⇢Unix) (1969)
- UNIX Time-Sharing System v1 (1971)
- UNIX Time-Sharing System v2 (1972)
- UNIX Time-Sharing System v3 (1973)
- UNIX Time-Sharing System v4 (1973)
- UNIX Time-Sharing System v5 (1974)
  - UNSW 01 (1978)
- UNIX Time-Sharing System v6 (1974)
  - MINI-UNIX (1977)
  - PWB/UNIX 1.0 (1977)
    - USG 1.0
      - CB Unix 1
  - UCLA Secure UNIX (1979)
- UNIX Time-Sharing System v7 (1979)
  - Unix System III (1981)
- UNIX Time-Sharing System v8 (1985)
- UNIX Time-Sharing System v9 (1986)
- UNIX Time-Sharing System v10 (1989)
- Plan 9 from Bell Labs(1993)

AT&T UNIX Systems & descendants

Each of the systems in this list is evolved from the version before, with Unix System III evolving from both the UNIX Time-Sharing System v7 and the descendants of the UNIX Time-Sharing System v6.
- Unix System III (1981)
- Unix System IV (1982)
- Unix System V (1983)
- Unix System V Release 2 (1984)
- Unix System V Release 3.0 (1986)
- Unix System V Release 3.2 (1987)
- Unix System V Release 4 (1988)
- Unix System V Release 4.2 (1992)
- UnixWare 1.1 (1993)
- UnixWare 1.1.1 (1994)
- UnixWare 2.0 (1995)
- UnixWare 2.1 (1996)
- UnixWare 2.1.2 (1996)
- UnixWare 7 (1998)
- UnixWare 7.0.1 (1998)
- UnixWare 7.1 (1999)
- UnixWare 7.1.1 (1999)
- UnixWare NSC 7.1+IP (2000)
- UnixWare NSC 7.1+LKP (2000)
- UnixWare NSC 7.1DCFS (2000)
- Open Unix 8 (2001)
- Open Unix 8MP1 (2001)
- Open Unix 8MP2 (2001)
- Open Unix 8MP3 (2002)
- Open Unix 8MP4 (2002)
- SCO UnixWare 7.1.3 (2002)
- SCO UnixWare 7.1.3 Update Pack 1 (2003)

Free Unix-like operating systems

In 1983, Richard Stallman announced the GNU project, an ambitious effort to create a free software Unix-like system; "free" in that everyone who received a copy would be free to use, study, modify, and redistribute it. GNU's goal was achieved in 1992. Its own kernel development project, GNU Hurd, had not produced a working kernel, but a compatible kernel called Linux was released as free software in 1992 (under the GNU General Public License). These "GNU/Linux" systems are commonly referred to as just Linux. Work on GNU Hurd continues still, although very slowly. In addition to their use in the GNU/Linux operating system, many GNU packages — such as the GNU Compiler Collection (and the rest of the GNU toolchain), the GNU C library and the GNU core utilities — have gone on to play central roles in other free Unix systems as well. Distributions, comprising the GNU/Linux operating system plus large collections of compatible software have become popular both with hobbyists and in business. Two major distributions are Red Hat Linux and Debian GNU/Linux. Yet GNU/Linux is not alone. With the 1994 settlement of a lawsuit UNIX Systems Laboratories brought against the University of California and Berkeley Software Design Inc. (USL v. BSDi), BSD Unix experienced a renewal. The lawsuit clarified that Berkeley had the right to distribute BSD Unix — for free, if it so desired. Soon, the BSD release was being developed in several different directions, becoming the projects now known as FreeBSD, NetBSD, OpenBSD and DragonFlyBSD. GNU/Linux and the BSD kin are now rapidly occupying the market traditionally occupied by proprietary UNIX operating systems, as well as expanding into new markets such as the consumer desktop and mobile and embedded devices. A measure of this success may be seen when Apple sought out a new foundation for its Macintosh operating system: it chose NEXTSTEP, an operating system developed by NeXT with a freely redistributable core operating system, renamed Darwin after Apple's acquisition. It was based on the BSD family and the Mach kernel. The deployment of Darwin BSD Unix in Mac OS X makes it one of the most widely-used Unix based systems on the market.

Impact

The Unix system had a great impact on the surrounding community. Some consider it the most influential operating system in changing other proprietary operating systems, leading Unix to be called "the most important operating system you may never use." Following the lead of Multics, it was written in high level language as opposed to assembler (assembler was in vogue at the time). It had a drastically simplified file model compared to many contemporary operating systems. The file system hierarchy contained machine services and devices (such as printers, terminals, or disk drives), providing a superficially uniform interface, but at the expense of requiring indirect mechanisms such as IOCTL and mode flags to access features of the hardware that did not fit the simple "stream of bytes" model. Unix also popularized the hierarchical file system with arbitrarily nested subdirectories, originally introduced by Multics. Other common operating systems of the era had ways to divide a storage device into multiple directories or sections, but they were a fixed number of levels and often only one level. The major proprietary operating systems all added recursive subdirectory capabilities also patterned after Multics. DEC's RSTS programmer/project hierarchy evolved into VMS directories, CP/M's volumes evolved into MS-DOS 2.0+ subdirectories, and HP's MPE group.account hierarchy and IBM's System 36 and OS/400 library systems were folded into broader POSIX file systems. Making the command interpreter an ordinary user-level program, with additional commands provided as separate programs, was another Multics innovation popularized by Unix. The Unix shell used the same language for interactive commands as for scripting (shell scripts -- there was no separate job control language, like IBM's JCL for example). Since the shell and OS commands were "just another program", the user could choose (or even write) his/her own shell. Finally, new commands could be added without recompiling the shell. Unix's innovative command-line syntax for creating chains of producer-consumer processes (pipes) made a powerful programming technique (coroutines) widely available. A fundamental simplifying assumption of Unix was its focus on ASCII text for 100% of its I/O package and the assumption that the machine word was a multiple of 8 bits in size. There were no "binary" editors in the original version of Unix - the entire system was configured using text shell commands and the least and greatest common denominator in the I/O system is the text byte - unlike "record-based" file systems in other computers. The focus on text for representing "everything" made Unix pipes useful. The focus on text and 8-bit bytes made the system far more scalable and portable than other systems. Over time text-based applications have also won in application areas, such as printing languages (PostScript - not Interpress - an earlier effort by the same people), and when feasible, at the application layer of the Internet Protocols, i.e. Telnet, FTP, SMTP, HTTP, SIP, XML, etc. Unix popularised a syntax for regular expressions that found much wider use. The Unix programming interface became the basis for a standard operating system interface (POSIX, see above). The C programming language, now ubiquitous in systems and applications programming, originated under Unix, and spread more quickly than Unix. The C language was the first agnostic language that did not attempt to force a coding style upon the programmer (e.g. support for 3 types of loops and all types of parameter passing.) The C language was the first programming languages to access a computer's full instruction set (e.g. masking, shifting, auto increment, auto decrement, jump tables, pointers.) However, the unsafeness of C leads to problems such as buffer overflows from C library functions such as gets() and scanf(), which are behind many notorious bugs, including one exploited by the Morris worm. Early Unix developers were important in bringing the theory of software modularity and re-use into engineering practice. Unix provided the TCP/IP networking protocol on relatively inexpensive computers, which later resulted in the Internet explosion of world-wide real-time connectivity. This quickly exposed several major security holes in the Unix architecture, kernel, and system utilities. Over time, the leading developers of Unix (and programs that ran on it) developed a set of cultural norms for developing software, norms which became as important and influential as the technology of Unix itself. See Unix philosophy for more information.

Branding

In 1994, Novell, the company that owned the rights to the Unix System V source at the time, sold the trademarks of Unix to the X/Open Company (now The Open Group), and sold the related business operations to Santa Cruz Operation. Whether Novell also sold the copyrights to the actual software is currently the subject of litigation in SCO v. Novell. By decree of The Open Group, the term "UNIX" refers more to a class of operating systems than to a specific implementation of an operating system; those operating systems which meet The Open Group's Single UNIX Specification should be able to bear the "UNIX" and UNIX98 trademarks today, after the operating system's vendor pays a fee to The Open Group. Systems licensed to use the UNIX® trademark include AIX, HP-UX, IRIX, Solaris, Tru64, A/UX and a part of z/OS. In practice, the term, especially when written as "UN
- X
", "
- NIX", or "
- N?X" is applied to a number of other multiuser POSIX-based systems such as GNU/Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD that do not seek UNIX branding because the royalties would be too expensive for a product marketed to consumers or freely available over the Internet; such systems claim that the term has now become a genericized trademark. To avoid this, The Open Group requests that "UNIX" is always used as an adjective followed by a generic term such as "system". The term "Unix" is also used, and in fact was the original capitalisation, but the name UNIX stuck because, in the words of Dennis Ritchie "when presenting the original Unix paper to the third Operating Systems Symposium of the American Association for Computing Machinery, we had just acquired a new typesetter and were intoxicated by being able to produce small caps" (quoted from the Jargon File, version 4.3.3, 20 September 2002). Additionally, it should be noted that many of the operating system's predecessors and contemporaries used all-uppercase lettering, because many computer terminals of the time could not produce lower-case letters, so many people wrote the name in upper case due to force of habit. Several plural forms of Unix are used to refer to multiple brands of Unix and Unix-like systems. Most common is the conventional "Unixes", but the culture that created Unix has a penchant for playful use of language, and "Unices" (treating Unix as Latin word) is also popular. The Anglo-Saxon plural form "Unixen" is not common, although occasionally seen.

Canonical Unix Commands

The most basic Unix commands and utilities are:
- Directory and file creation and navigation: ls cd pwd mkdir rm rmdir cp find
- File viewing and editing: touch more ed vi emacs ex
- Text processing: echo cat grep sort uniq sed awk tail tee head cut tr split printf
- File comparison: comm cmp diff patch
- Misc shell tools: yes test xargs
- System administration: chmod chown ps su w who
- Communication: mail telnet ftp finger ssh
- Shells: sh bash csh ksh tcsh These are the 60 user commands from section 1 of the First Edition: ar as b bas bcd boot cat chdir check chmod chown cmp cp date db dbppt dc df dsw dtf du ed find for form hup lbppt ld ln ls mail mesg mkdir mkfs mount mv nm od pr rew rkd rkf rkl rm rmdir roff sdate sh stat strip su sum tap tm tty type un wc who write For a more complete and modern list, see the list of Unix programs.

Sources


- Salus, Peter H.: A Quarter Century of UNIX, Addison Wesley, June 1, 1994; ISBN 0201547775
-
-

See also


- Plan 9 - the successor of Unix developed at Bell Labs by Ken Thompson and others.
- BSD license
- Lions' Commentary on UNIX 6th Edition, with Source Code documents the 6th edition of Unix.
- Unix pipes
  - Filter (Unix)
  - Pipeline (Unix)
- Rare mode
- Single UNIX Specification
- UNIX-HATERS Handbook
- Unix devices
  - /dev/null - the 'bit bucket'
  - /dev/urandom and /dev/random - hardware random number generators
  - /dev/zero - a zero generator
- Unix-like
  - GNU
  - GNU Hurd
  - Cygwin
  - MinGW
  - Minix
  - further BSD descendants
- List of Unix daemons
- Unix manual
- Unix wars
- Computer term origins
- Comparison of file systems
- Open system
- Open standard
- Open format
- Opendocument
- Vendor lock-in
- Embrace, extend and extinguish
- Network effect

External links


- [http://www.bell-labs.com/history/unix/ The Creation of the UNIX Operating System]
- [http://www.tuhs.org/ Unix heritage (more links)]
- [http://www.collyer.net/who/geoff/history.html UNIX Evolution]([http://www.collyer.net/who/geoff/history.ps PostScript]) by Ian F. Darwin and Geoffrey Collyer
- [http://dmoz.org/Computers/Software/Operating_Systems/Unix/ Unix @ dmoz.org]
- http://www.UNIX-systems.org/ -- The Open Group UNIX System Homepage
- [http://www.softpanorama.org/History/Unix/index.shtml Unix History with Some Emphasis on Scripting] Softpanorama Unix history page
- http://www.roesler-ac.de/wolfram/acro/index.htm -- The Unix Acronym List
- [http://minnie.tuhs.org/UnixTree/ The Unix Tree]
- [http://public.planetmirror.com/pub/ancient-unix/ Ancient UNIX]
- [http://www.thomasscoville.com/PCarticle.html Unix As Literature]
- [http://www.levenez.com/unix/history.html Large graphical family tree of Unices] Category:Operating systems Category:Unix ko:유닉스 ms:UNIX ja:UNIX simple:Unix th:ยูนิกซ์

Unix File System

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. Nearly all BSD unix derivatives including FreeBSD, NetBSD, OpenBSD, NeXTStep, and Solaris use a variant of UFS. In Mac OS X it is available as an alternative to HFS. In Linux, partial UFS support is available and the native Linux ext2 filesystem is inspired by UFS.

Design

A UFS 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. 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.

History and evolution

Early versions of unix used a filesystem they 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. 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 near by cylinder group, thus reducing fragmentation caused by scattering a directory's contents over a whole disk. 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 increased the filesystem block size from one sector 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

Most vendors 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. FreeBSD 5.0 introduced 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. Linux includes a UFS implementation for binary compatibility at the read level with other unices, but since there is no standard implementation for the vendor extensions to UFS, Linux does not have full support for writing to UFS. As of Solaris 7, Sun Microsystems included UFS Logging in the Solaris Operating Environment, which brought filesystem journaling to UFS. Solaris UFS also has extensions for large files and large disks and other features.

See also


- Comparison of file systems

References


- McKusick, M. (2002). [http://www.usenix.org/publications/library/proceedings/bsdcon02/mckusick/mckusick_html/index.html Running "fsck" in the Background]." Proceedings of the BSDCon 2002. 55-64.
- McKusick, M. and Ganger, G. (1999). "[http://www.usenix.org/publications/library/proceedings/usenix99/full_papers/mckusick/mckusick.pdf Soft Updates: A Technique for Eliminating Most Synchronous Writes in the Fast Filesystem]." USENIX Annual Technical Conference. 1-18.

External links


- [http://lists.freebsd.org/pipermail/freebsd-current/2003-April/001444.html Little UFS2 FAQ]
- Linux [http://ufs-linux.sourceforge.net userspace UFS2 tools]. Category:BSD Category:Disk file systems ja:UFS

Comparison of file systems

The following tables compare general and technical information for a number of file systems. Please see the individual file system articles for further information.

General Information

Limits

Metadata

Features

Allocation and layout policies

Notes

HFS, an older version of HFS+, only supported 31 character filenames; some older applications don't work well with names longer than this.
HFS+ mandates support for an escape sequence to allow arbitrary Unicode. Users of older software might see the escape sequences instead of the desired characters.
Varies wildly according to block size and fragmentation of block allocation groups.
For filesystems that have variable allocation unit (block/cluster) sizes, a range of size are given, indicating the maximum volume sizes for the minimum and the maximum possible allocation unit sizes of the filesystem (e.g. 512 bytes and 128KiB for FAT — which is the cluster size range allowed by the on-disc data structures, although some Installable File System drivers and operating systems do not support cluster sizes larger than 32KiB).
NTFS access control lists can express essentially any access policy possible using simple POSIX file permissions, but use of a POSIX-like interface is not supported without an add-on such as Services for UNIX or Cygwin.
The file change logs, last entry change timestamps, and other filesystem metadata, are all part of the extensive suite of auditing capabilities built into NDS/eDirectory called NSure Audit. ([http://www.novell.com/documentation/nsureaudit/html/netware_event_data.htm Filesystem Events tracked by NSure])
While FAT32 partitions this large work fine once created, some software won't allow creation of FAT32 partitions larger than 32GiB. This includes, notoriously, the Windows XP installation program.
ReiserFS has a theoretical maximum file size of 1EiB, but "page cache limits this to 8 Ti on architectures with 32 bit int"[http://www.namesys.com/faq.html#reiserfsspecs]
XFS has a limitation under Linux 2.4 of 64TiB file size and 2TiB file system size. This limitation is not present under IRIX.
Microsoft first introduced FAT32 in Windows 95 OSR2 (OEM Service Release 2) and then later in Windows 98.
IBM introduced JFS with the initial release of AIX Version 3.1 in 1990. This file system now called JFS1. The new JFS (sometimes called JFS2), on which the Linux port was based, was first shipped in OS/2 Warp Server for e-Business in 1999.
The on-disc structures have no inherent limit. Particular Installable File System drivers and operating systems may impose limits of their own, however. MS-DOS does not support full pathnames longer than 260 bytes for FAT12 and FAT16. Windows NT does not support full pathnames longer than 32767 bytes for NTFS.
This is the limit of the on-disc structures. The HPFS Installable File System driver for OS/2 uses the top 5 bits of the volume sector number for its own use, limiting the volume size that it can handle to 64GiB.
The f-node contains a field for a user identifier. This is not used except by OS/2 Warp Server, however.
Maximum combined filename/filetype length is 236 bytes; each component has an individual maximum length of 255 byes.
Maximum pathname length is 4096 bytes, but quoted limits on individual components add up to 1664 bytes.
Record Management Services (RMS) attributes include record type and size, among many others.
These are referred to as "aliases".
Novell calls this feature "multiple data streams". Published specifications say that NWFS allows for 16 attributes and 10 data streams, and NSS allows for unlimited quantities of both.
Case-sensitivity/Preservation depends on client. Windows, DOS, and OS/2 clients don't see/keep case differences, whereas clients accessing via NFS or AFP may.
Published specs say that the 128-bit file system provides for up to 264 bytes to describe the file system, file size, directory entries, etc, with a theoretical max of 2128 bytes total to describe all storage on such a machine.
Particular Installable File System drivers and operating systems may not support extended attributes on FAT12, FAT16, and FAT32. The OS/2 and Windows NT filesystem drivers for FAT12, FAT16, and FAT32 support extended attributes (using a "EA DATA. SF" pseudo-file to reserve the clusters allocated to them). Other filesystem drivers for other operating systems do not.
Some Installable File System drivers and operating systems may not support extended attributes, access control lists or security labels on these filesystems. Linux kernels prior to 2.6.x may either be missing support for these altogether or require a patch.
Depends on whether the FAT12, FAT16, and FAT32 implementation has support for LFNs. Where it does not, as in OS/2, MS-DOS, Windows 95, Windows 98 in DOS-only mode and the Linux "msdos" driver, file names are limited to 11 8-bit characters (space padded in both the basename and extension parts) and may not contain NUL (end-of-directory marker) or character 229 (deleted-file marker). Short names also do not normally contain lowercase letters.
These are the restrictions imposed by the on-disc directory entry structures themselves. Particular Installable File System drivers may place restrictions of their own on file and directory names; and particular and operating systems may also place restrictions of their own, across all filesystems. MS-DOS, Microsoft Windows, and OS/2 disallow the characters \ / : ?
- " > < | and NUL in file and directory names across all filesystems. Unices and Linux disallow the characters / and NUL in file and directory names across all filesystems.
In these filesystems the directory entries named "." and ".." have special status. Directory entries with these names are not prohibited, and indeed exist as normal directory entries in the on-disc data structures. However, they are mandatory directory entries, with mandatory values, that are automatically created in each directory when it is created; and directories without them are considered corrupt.
The "." and ".." directory entries in HPFS that are seen by applications programs are a partial fiction created by the Installable File System drivers. The on-disc data structure for a directory does not contain entries by those names, but instead contains a special "start" entry. Whilst on-disc directory entries by those names are not physically prohibited, they cannot be created in normal operation, and a directory containing such entries is corrupt.
NSS allows files to have multiple names, in separate namespaces.
Some file and directory metadata is stored on the Netware server irrespective of whether Directory Services is installed or not, like date/time of creation, file size, purge status, etc; and some file and directory metadata is stored in NDS/eDirectory, like file/object permissions, ownership, etc.
Particular Installable File System drivers and operating systems may not support case sensitivity for JFS. OS/2 does not, and Linux has a mount option for disabling case sensitivity.
The local time, timezone/UTC offset, and date are derived from the time settings of the reference/single timesync source in the NDS tree.
Some operating systems implemented extended attributes as a layer over UFS1 with a parallel backing file (e.g., FreeBSD 4.x).
Access-control lists and MAC labels are layered on top of extended attributes.
NTFS 5.0 and higher can create junctions, which allow entire directories (but not individual files) to be mapped to elsewhere in the directory tree of a locally managed drive. These are implemented through reparse points, which allow the normal process of filename resolution to be extended in a flexible manner.
Turned off by default.
While NTFS itself supports case sensitivity, the Windows standard file system drivers cannot create files whose names differ only by case, for compatibility reasons.
NTFS stores everything, even the file data, as meta-data, so its log is closer to block journaling.
UDF and LFS are log-structured file systems and behave as if the entire file system were a journal.
In "extents" mode.
Optionally no on IRIX.
Variable block size refers to systems which support different block sizes on a per-file basis. (This is similar to extents but a slightly different implementational choice.) The current implementation in UFS2 is read-only.
Block suballocation divides storage into blocks of 4KiB to 64KiB (usually 8KiB), and if all of the block is not used, the remainder is subdivided into 512-byte blocks for other files, usually smaller files, to use.
This restriction might be lifted in newer versions.
Full block journaling for ReiserFS was added to Linux 2.6.8.
Other block:fragment size ratios supported; 8:1 is typical and recommended by most implementations.
Depends on UDF implementation.
Fragments were planned, but never actually implemented on ext2 and ext3.
Metadata-only journaling was introduced in the Mac OS 10.2.2 HFS+ driver; journaling is enabled by default on Mac OS 10.3 and later.
e2compr, a set of patches providing block-based compression for ext2, has been available since 1997, but has never been merged into the mainline Linux kernel.
Reiser4 implements data compression, but has not provided an VFS API for it.
DoubleSpace in DOS 6, and DriveSpace in Windows 95 and Windows 98 were data compression schemes for FAT, but are no longer supported by Microsoft.
Some namespaces had lower name length limits. "LONG" had an 80-byte limit, "NTFS" 80 bytes, "NFS" 40 bytes and "DOS" imposed 8.3-style names.
Available only in the "NFS" namespace.
Metacomco released a so called "evolution" version of original file system for Amiga realizied by engineers of first Amiga Corporation (Formerly Hi-Toro) in 1982-83/85. To be true, Metacomco made a huge mess of early FS ruining its simple and easy structure. Originally OFS it was simply Amiga File System. Name changed since the release of the "new" Fast File System, born in 1987 for the same platform.

See also


- List of file systems
- Comparison of operating systems
- Comparison of Linux distributions

References


-
-
-
-
-

External links


- [http://osdev.berlios.de/osd-fs.html Overview of common filesystems]
- [http://www.suse.de/~aj/linux_lfs.html Linux large file support]
- [http://www.lrdev.com/lr/unix/sparsefile.html Sparse files support]
- [http://www.microsoft.com/whdc/device/storage/LocFileSys.mspx Local Filesystems for Windows]
- [http://www.winnetmag.com/Article/ArticleID/38803/38803.html Understanding File-Size Limits on NTFS and FAT]
- [http://www.sun.com/software/solaris/ds/zfs.jsp Description of Solaris' ZFS system]
- [http://linuxgazette.net/102/piszcz.html Benchmarking Filesystems], Linux Gazette 102, May 2004
- [http://www.open-mag.com/features/Vol_18/filesystems/filesystems.htm Journal File System Performance]: ReiserFS, JFS, and Ext3FS show their merits on a fast RAID appliance.
- [http://staff.osuosl.org/~kveton/fs/ Journaled Filesystem Benchmarks]: A comparison of ReiserFS, XFS, JFS, ext3 & ext2.
- [http://www.osnews.com/story.php?news_id=69 Interview With the People Behind JFS, ReiserFS & XFS]
- Compz
Category:Computing comparison

Marshall Kirk McKusick

Marshall Kirk McKusick (b. January 19, 1954) is a computer scientist, famous for his extensive work on BSD, from the 1980s to FreeBSD in the present day. He was president of the USENIX Association from 1990 to 1992 and again from 2002 to 2004, and still serves on the board. He is also on the editorial board of [http://www.acmqueue.com ACM Queue Magazine]. He is known to friends and colleagues as "Kirk". McKusick received his B.S. in electrical engineering from Cornell University, and his Master's degree in business administration and Ph.D. in computer science from the University of California, Berkeley. He lives in California with Eric Allman, his domestic partner since graduate school. McKusick is an avid wine collector and the temperature and vital statistics of his house and wine cellar are available on the web from his homepage.

BSD

Some of McKusick's largest contributions to BSD have been to the file system. He helped design the original Berkeley Fast File System (FFS). More recently, he implemented soft updates, a new approach to maintaining disk integrity after a crash or power outage, in FFS, and a revised version of UFS known as "UFS2". He was also primarily responsible for creating the complementary features of filesystem snapshots and background fsck (file system check and repair), which both integrate closely with soft updates. After the filesystem snapshot, the filesystem can be brought up immediately after a power outage, and fsck can run as a background process. The Design and Implementation series of books are regarded as very high quality works in computer science. They have been strongly influential in the development of the BSD descendants and have contributed to their cohesive and well-thought-out nature.

Bibliography


- S. Leffler, M. McKusick, M. Karels, J. Quarterman: The Design and Implementation of the 4.3BSD UNIX Operating System, Addison-Wesley, January 1989, ISBN 0-201-06196-1. German translation published June 1990, ISBN 3-89319-239-5. Japanese translation published June 1991, ISBN 4-621-03607-6 (out of print).
- S. Leffler, M. McKusick: The Design and Implementation of the 4.3BSD UNIX Operating System Answer Book, Addison-Wesley, April 1991, ISBN 0-201-54629-9. Japanese translation published January 1992, ISBN 4-8081-8039-5 (out of print).
- M. McKusick, K. Bostic, M. Karels, J. Quarterman: The Design and Implementation of the 4.4BSD Operating System, Addison-Wesley, April 1996, ISBN 0-201-54979-4. French translation published 1997, International Thomson Publishing, Paris, France, ISBN 2-84180-142-X.
- M. McKusick, George Neville-Neil: The Design and Implementation of the FreeBSD Operating System, Addison-Wesley, July 2004, ISBN 0-201-70245-2

External links


- [http://www.mckusick.com/ McKusick's home page]
- McKusick, 1999 [http://www.oreilly.com/catalog/opensources/book/kirkmck.html Twenty Years of Berkeley Unix] (from the book Open Sources: Voices from the Open Source Revolution ISBN 1-56592-582-3) BSD McKusick, Marshall Kirk McKusick, Marshall Kirk McKusick, Marshall Kirk McKusick, Marshall Kirk

Category:Disk file systems

In computing, disk file systems are file systems which manage data on permanent storage devices. As magnetic disks are the most common of such devices, most disk file systems are designed to perform well in spite of the seek latencies inherent in such media. Category:Computer file systems

Cinder Block

Female vocalist CINDER BLOCK is formerly from the world renowned punk band TILT, among many others since 1983. She also sang in FABULOUS DISASTER for a 6 month stint in 2003. Cinder currently sings for hardcore band RETCHING RED. She has been an influence to many and is most known for her thoughtful and intellectually engaging lyrics. Block, Cinder

Reklama tablice tablice albergue en madrid Praga appartamenti










































:: RELATED NEWS ::
Jan Lechon
Leszek Józef Serafinowicz (13 June, 1899 - 8 June, 1956) who usually went by the pseudonym Jan Lechoń was a Polish poet and diplomat. He was also a journalist, literary critic, and theater critic. In 1916 Serafinowicz started studies in his hometown, at the University of Warsaw,
Usa-chan peace
Sayumi Michishige is a sixth generation member Morning Musume along with Eri Kamei, Miki Fujimoto and Reina Tanaka. She is also mentor to 7th generation member Koharu Kusumi. Sayumi is also a member of the Hello! Project unit
Template:Simulation-cvg-stub
Read More...
Ralph Lauren Polo
Ralph Lauren (born October 14, 1939) is an American fashion designer. Ralph Lipschitz as he was born, in the Bronx, New York, to Jewish immigrants Frank and Frida Lipschitz. His father was a house painter. There are many parallels with the late George W. Bush ranch in Crawford, Texas during his five-week summer vacation there in 2005, named after Iraq War casualty US Army Specialist Casey Sheehan. Casey Sheehan It
Dehydration (food)
Drying is a method of food preservation that works by removing water from the food, which prevents the growth of microorganisms and decay. Drying food using the sun and wind to prevent spoilage has been known since ancient times. Water is usually removed by evaporation (air drying, sun drying, smoking or wind drying) but, in the case of 8th century) was a hymn-writer of the Greek Church and the foster-brother of St. John of Damascus. The teacher of the two boys was an elderly Sicilian, also named Cosmas, who had been freed from slavery by St. John's father. St. John and Cosmas went from Damascus to
Trust/Juke Joint Jezebel
Trust/Juke Joint Jezebel is an import-only KMFDM single from their 1995 album Nihil. It contains the album version of "Trust" and several previously-released remixes from Nihil and Angst. The cover art is a red-colored version of the Brute artwork. Trust/Juke Joint
All Rights Reserved 2005 wikimiki.org