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

https://bitbucket.org/freebsd/freebsd-head/ · Raku · 112 lines · 112 code · 0 blank · 0 comment · 8 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
  36. Introduction
  37. .PP
  38. This paper describes the changes from the original 512 byte UNIX file
  39. system to the new one released with the 4.2 Berkeley Software Distribution.
  40. It presents the motivations for the changes,
  41. the methods used to effect these changes,
  42. the rationale behind the design decisions,
  43. and a description of the new implementation.
  44. This discussion is followed by a summary of
  45. the results that have been obtained,
  46. directions for future work,
  47. and the additions and changes
  48. that have been made to the facilities that are
  49. available to programmers.
  50. .PP
  51. The original UNIX system that runs on the PDP-11\(dg
  52. .FS
  53. \(dg DEC, PDP, VAX, MASSBUS, and UNIBUS are
  54. trademarks of Digital Equipment Corporation.
  55. .FE
  56. has simple and elegant file system facilities. File system input/output
  57. is buffered by the kernel;
  58. there are no alignment constraints on
  59. data transfers and all operations are made to appear synchronous.
  60. All transfers to the disk are in 512 byte blocks, which can be placed
  61. arbitrarily within the data area of the file system. Virtually
  62. no 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
  66. one gigabyte.
  67. .FE
  68. .PP
  69. When used on the VAX-11 together with other UNIX enhancements,
  70. the original 512 byte UNIX file
  71. system is incapable of providing the data throughput rates
  72. that many applications require.
  73. For example,
  74. applications
  75. such as VLSI design and image processing
  76. do a small amount of processing
  77. on a large quantities of data and
  78. need to have a high throughput from the file system.
  79. High throughput rates are also needed by programs
  80. that map files from the file system into large virtual
  81. address spaces.
  82. Paging data in and out of the file system is likely
  83. to occur frequently [Ferrin82b].
  84. This requires a file system providing
  85. higher bandwidth than the original 512 byte UNIX
  86. one that provides only about
  87. two percent of the maximum disk bandwidth or about
  88. 20 kilobytes per second per arm [White80], [Smith81b].
  89. .PP
  90. Modifications have been made to the UNIX file system to improve
  91. its performance.
  92. Since the UNIX file system interface
  93. is well understood and not inherently slow,
  94. this development retained the abstraction and simply changed
  95. the underlying implementation to increase its throughput.
  96. Consequently, users of the system have not been faced with
  97. massive software conversion.
  98. .PP
  99. Problems with file system performance have been dealt with
  100. extensively in the literature; see [Smith81a] for a survey.
  101. Previous work to improve the UNIX file system performance has been
  102. done by [Ferrin82a].
  103. The UNIX operating system drew many of its ideas from Multics,
  104. a large, high performance operating system [Feiertag71].
  105. Other work includes Hydra [Almes78],
  106. Spice [Thompson80],
  107. and a file system for a LISP environment [Symbolics81].
  108. A good introduction to the physical latencies of disks is
  109. described in [Pechura83].
  110. .ds RH Old file system
  111. .sp 2
  112. .ne 1i