PageRenderTime 65ms CodeModel.GetById 10ms app.highlight 52ms RepoModel.GetById 1ms app.codeStats 0ms

/share/doc/smm/05.fastfs/1.t

https://bitbucket.org/freebsd/freebsd-head/
Unknown | 112 lines | 112 code | 0 blank | 0 comment | 0 complexity | 344396509df0a4ea440c854e50ff68fe MD5 | raw file
  1.\" Copyright (c) 1986, 1993
  2.\"	The Regents of the University of California.  All rights reserved.
  3.\"
  4.\" Redistribution and use in source and binary forms, with or without
  5.\" modification, are permitted provided that the following conditions
  6.\" are met:
  7.\" 1. Redistributions of source code must retain the above copyright
  8.\"    notice, this list of conditions and the following disclaimer.
  9.\" 2. Redistributions in binary form must reproduce the above copyright
 10.\"    notice, this list of conditions and the following disclaimer in the
 11.\"    documentation and/or other materials provided with the distribution.
 12.\" 3. All advertising materials mentioning features or use of this software
 13.\"    must display the following acknowledgement:
 14.\"	This product includes software developed by the University of
 15.\"	California, Berkeley and its contributors.
 16.\" 4. Neither the name of the University nor the names of its contributors
 17.\"    may be used to endorse or promote products derived from this software
 18.\"    without specific prior written permission.
 19.\"
 20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 30.\" SUCH DAMAGE.
 31.\"
 32.\"	@(#)1.t	8.1 (Berkeley) 6/8/93
 33.\"
 34.ds RH Introduction
 35.NH
 36Introduction
 37.PP
 38This paper describes the changes from the original 512 byte UNIX file
 39system to the new one released with the 4.2 Berkeley Software Distribution.
 40It presents the motivations for the changes,
 41the methods used to effect these changes,
 42the rationale behind the design decisions,
 43and a description of the new implementation.
 44This discussion is followed by a summary of
 45the results that have been obtained,
 46directions for future work,
 47and the additions and changes
 48that have been made to the facilities that are
 49available to programmers.
 50.PP
 51The original UNIX system that runs on the PDP-11\(dg
 52.FS
 53\(dg DEC, PDP, VAX, MASSBUS, and UNIBUS are
 54trademarks of Digital Equipment Corporation.
 55.FE
 56has simple and elegant file system facilities.  File system input/output
 57is buffered by the kernel;
 58there are no alignment constraints on
 59data transfers and all operations are made to appear synchronous.
 60All transfers to the disk are in 512 byte blocks, which can be placed
 61arbitrarily within the data area of the file system.  Virtually
 62no constraints other than available disk space are placed on file growth
 63[Ritchie74], [Thompson78].*
 64.FS
 65* In practice, a file's size is constrained to be less than about
 66one gigabyte.
 67.FE
 68.PP
 69When used on the VAX-11 together with other UNIX enhancements,
 70the original 512 byte UNIX file
 71system is incapable of providing the data throughput rates
 72that many applications require.
 73For example, 
 74applications
 75such as VLSI design and image processing
 76do a small amount of processing
 77on a large quantities of data and
 78need to have a high throughput from the file system.
 79High throughput rates are also needed by programs
 80that map files from the file system into large virtual
 81address spaces.
 82Paging data in and out of the file system is likely
 83to occur frequently [Ferrin82b].
 84This requires a file system providing
 85higher bandwidth than the original 512 byte UNIX
 86one that provides only about
 87two percent of the maximum disk bandwidth or about
 8820 kilobytes per second per arm [White80], [Smith81b].
 89.PP
 90Modifications have been made to the UNIX file system to improve
 91its performance.
 92Since the UNIX file system interface
 93is well understood and not inherently slow,
 94this development retained the abstraction and simply changed
 95the underlying implementation to increase its throughput.
 96Consequently, users of the system have not been faced with
 97massive software conversion.
 98.PP
 99Problems with file system performance have been dealt with
100extensively in the literature; see [Smith81a] for a survey.
101Previous work to improve the UNIX file system performance has been
102done by [Ferrin82a].
103The UNIX operating system drew many of its ideas from Multics,
104a large, high performance operating system [Feiertag71].
105Other work includes Hydra [Almes78],
106Spice [Thompson80],
107and a file system for a LISP environment [Symbolics81].
108A good introduction to the physical latencies of disks is
109described in [Pechura83].
110.ds RH Old file system
111.sp 2
112.ne 1i