|
|
1.1 ! root 1: .\" Copyright (c) 1986 The Regents of the University of California. ! 2: .\" All rights reserved. ! 3: .\" ! 4: .\" Redistribution and use in source and binary forms are permitted ! 5: .\" provided that the above copyright notice and this paragraph are ! 6: .\" duplicated in all such forms and that any documentation, ! 7: .\" advertising materials, and other materials related to such ! 8: .\" distribution and use acknowledge that the software was developed ! 9: .\" by the University of California, Berkeley. The name of the ! 10: .\" University may not be used to endorse or promote products derived ! 11: .\" from this software without specific prior written permission. ! 12: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ! 13: .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ! 14: .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ! 15: .\" ! 16: .\" @(#)1.t 6.2 (Berkeley) 3/7/89 ! 17: .\" ! 18: .ds RH Introduction ! 19: .NH ! 20: Introduction ! 21: .PP ! 22: This paper describes the changes from the original 512 byte UNIX file ! 23: system to the new one released with the 4.2 Berkeley Software Distribution. ! 24: It presents the motivations for the changes, ! 25: the methods used to effect these changes, ! 26: the rationale behind the design decisions, ! 27: and a description of the new implementation. ! 28: This discussion is followed by a summary of ! 29: the results that have been obtained, ! 30: directions for future work, ! 31: and the additions and changes ! 32: that have been made to the facilities that are ! 33: available to programmers. ! 34: .PP ! 35: The original UNIX system that runs on the PDP-11\(dg ! 36: .FS ! 37: \(dg DEC, PDP, VAX, MASSBUS, and UNIBUS are ! 38: trademarks of Digital Equipment Corporation. ! 39: .FE ! 40: has simple and elegant file system facilities. File system input/output ! 41: is buffered by the kernel; ! 42: there are no alignment constraints on ! 43: data transfers and all operations are made to appear synchronous. ! 44: All transfers to the disk are in 512 byte blocks, which can be placed ! 45: arbitrarily within the data area of the file system. Virtually ! 46: no constraints other than available disk space are placed on file growth ! 47: [Ritchie74], [Thompson78].* ! 48: .FS ! 49: * In practice, a file's size is constrained to be less than about ! 50: one gigabyte. ! 51: .FE ! 52: .PP ! 53: When used on the VAX-11 together with other UNIX enhancements, ! 54: the original 512 byte UNIX file ! 55: system is incapable of providing the data throughput rates ! 56: that many applications require. ! 57: For example, ! 58: applications ! 59: such as VLSI design and image processing ! 60: do a small amount of processing ! 61: on a large quantities of data and ! 62: need to have a high throughput from the file system. ! 63: High throughput rates are also needed by programs ! 64: that map files from the file system into large virtual ! 65: address spaces. ! 66: Paging data in and out of the file system is likely ! 67: to occur frequently [Ferrin82b]. ! 68: This requires a file system providing ! 69: higher bandwidth than the original 512 byte UNIX ! 70: one that provides only about ! 71: two percent of the maximum disk bandwidth or about ! 72: 20 kilobytes per second per arm [White80], [Smith81b]. ! 73: .PP ! 74: Modifications have been made to the UNIX file system to improve ! 75: its performance. ! 76: Since the UNIX file system interface ! 77: is well understood and not inherently slow, ! 78: this development retained the abstraction and simply changed ! 79: the underlying implementation to increase its throughput. ! 80: Consequently, users of the system have not been faced with ! 81: massive software conversion. ! 82: .PP ! 83: Problems with file system performance have been dealt with ! 84: extensively in the literature; see [Smith81a] for a survey. ! 85: Previous work to improve the UNIX file system performance has been ! 86: done by [Ferrin82a]. ! 87: The UNIX operating system drew many of its ideas from Multics, ! 88: a large, high performance operating system [Feiertag71]. ! 89: Other work includes Hydra [Almes78], ! 90: Spice [Thompson80], ! 91: and a file system for a LISP environment [Symbolics81]. ! 92: A good introduction to the physical latencies of disks is ! 93: described in [Pechura83]. ! 94: .ds RH Old file system ! 95: .sp 2 ! 96: .ne 1i
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.