.\" Copyright (c) 1985 The Regents of the University of California.
.\" %sccs.include.redist.man%
.\" @(#)0.t 5.1 (Berkeley) %G%
Measuring and Improving the Performance of Berkeley UNIX*
Computer Systems Research Group
Computer Science Division
Department of Electrical Engineering and Computer Science
University of California, Berkeley
* UNIX is a trademark of AT&T Bell Laboratories.
\(dg Samuel J. Leffler is currently employed by:
This work was done under grants from
the National Science Foundation under grant MCS80-05144,
and the Defense Advance Research Projects Agency (DoD) under
ARPA Order No. 4031 monitored by Naval Electronic System Command under
Contract No. N00039-82-C-0235.
The 4.2 Berkeley Software Distribution of
\(dd VAX, MASSBUS, UNIBUS, and DEC are trademarks of
Digital Equipment Corporation.
had several problems that could severely affect the overall
performance of the system.
These problems were identified with
kernel profiling and system tracing during day to day use.
Once potential problem areas had been identified
benchmark programs were devised to highlight the bottlenecks.
These benchmarks verified that the problems existed and provided
a metric against which to validate proposed solutions.
the performance problems encountered and describes
modifications that have been made
to the system since the initial distribution.
The changes to the system have consisted of improvements to the
performance of the existing facilities,
as well as enhancements to the current facilities.
Performance improvements in the kernel include cacheing of path name
translations, reductions in clock handling and scheduling overhead,
and improved throughput of the network subsystem.
Performance improvements in the libraries and utilities include replacement of
linear searches of system databases with indexed lookup,
merging of most network services into a single daemon,
and conversion of system utilities to use the more efficient
facilities available in 4.2BSD.
Enhancements in the kernel include the addition of subnets and gateways,
increases in many kernel limits,
cleanup of the signal and autoconfiguration implementations,
and support for windows and system logging.
Functional extensions in the libraries and utilities include
the addition of an Internet name server,
new system management tools,
and extensions to \fIdbx\fP to work with Pascal.
The paper concludes with a brief discussion of changes made to
the system to enhance security.
All of these enhancements are present in Berkeley UNIX 4.3BSD.
CR Categories and Subject Descriptors:
.B "[Operating Systems]":
File Systems Management \-
.I "file organization, directory structures, access methods";
.B "[Operating Systems]":
.I "measurements, operational analysis";
Additional Keywords and Phrases:
application program interface.
.tl '\\*(LH'\\*(CH'\\*(RH'
.if t .ds RF McKusick, et. al.
.B "2. Observation techniques
\0.1. System maintenance tools
.B "3. Results of our observations
\0.2.1. Micro-operation benchmarks
\0.2.2. Path name translation
\0.2.4. Terminal multiplexors
\0.2.5. Process table management
\0.2.6. File system buffer cache
\0.2.7. Network subsystem
\0.2.8. Virtual memory subsystem
.B "4. Performance Improvements
\0.1. Performance Improvements in the Kernel
\0.1.2. Intelligent Auto Siloing
\0.1.3. Process Table Management
\0.1.9. Context Switching
\0.1.10. Setjmp and Longjmp
\0.1.11. Compensating for Lack of Compiler Technology
\0.2. Improvements to Libraries and Utilities
\0.2.5. The C Run-time Library
.B "5. Functional Extensions
\0.1.1. Subnets, Broadcasts, and Gateways
\0.1.2. Interface Addressing
\0.1.3. User Control of Network Buffering
\0.1.4. Number of File Descriptors
\0.1.6. Memory Management
\0.1.10. Configuration of UNIBUS Devices
\0.1.11. Disk Recovery from Errors
\0.2. Functional Extensions to Libraries and Utilities
\0.2.2. System Management
.B "6. Security Tightening
\0.2. Security Problems in Utilities
.B "Appendix \- Benchmark Programs"
.\" 2.94 went to 2.6, 3.64 to 3.30
.if n .ta .84i 2.6i 3.30i