1 .\" $NetBSD: title.cdrom,v 1.5 2003/08/07 10:30:59 agc Exp $
3 .\" Copyright (c) 1994 Regents of the University of California.
4 .\" All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)title.cdrom 8.3 (Berkeley) 8/8/94
52 Now in its twentieth year, the USENIX Association,
53 the UNIX and Advanced Computing Systems professional and technical organization,
54 is a not-for-profit membership association of individuals and
55 institutions with an interest in UNIX and UNIX-like systems,
56 and, by extension, C++, X windows, and other advanced tools and technologies.
58 USENIX and its members are dedicated to:
60 fostering innovation and communicating research and technological developments,
62 sharing ideas and experience relevant to UNIX,
63 UNIX-related, and advanced computing systems, and
65 providing a neutral forum for the exercise of critical
66 thought and airing of technical issues.
68 USENIX publishes a journal (\fBComputing Systems\fP),
69 a newsletter (\fI;login:\fP),
70 Proceedings from its frequent Conferences and Symposia,
73 SAGE, The Systems Administrators Guild, a Special Technical Group with
74 the USENIX Association, is dedicated to the advancement of system
75 administration as a profession.
77 SAGE brings together systems managers and administrators to:
79 propagate knowledge of good professional practice,
81 recruit talented individuals to the profession,
83 recognize individuals who attain professional excellence,
85 foster technical development and share solutions to technical
88 communicate in an organized voice with users, management, and vendors
89 on system administration topics.
106 Berkeley Software Distribution
119 Computer Systems Research Group
120 University of California at Berkeley
127 A USENIX Association Book
128 O'Reilly & Associates, Inc.
129 103 Morris Street, Suite A
138 Second Printing, 1995
141 Copyright 1979, 1980, 1983, 1986, 1993, 1994
142 The Regents of the University of California. All rights reserved.
145 Redistribution and use of this manual and its accompanying CD-ROM
146 in source and binary forms,
147 with or without modification, are permitted provided that the
148 following conditions are met:
150 Redistributions of this manual must retain the copyright
151 notices on this page, this list of conditions and the following disclaimer.
153 Software or documentation that incorporates part of this manual must
154 reproduce the copyright notices on this page, this list of conditions and
155 the following disclaimer in the documentation and/or other materials
156 provided with the distribution.
158 All advertising materials mentioning features or use of this software
159 must display the following acknowledgement:
160 ``This product includes software developed by the University of
161 California, Berkeley and its contributors.''
163 Neither the name of the University nor the names of its contributors
164 may be used to endorse or promote products derived from this software
165 without specific prior written permission.
167 \fB\s-1THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
168 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
169 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
170 ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
171 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
172 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
173 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
174 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
175 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
176 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
180 The Institute of Electrical and Electronics Engineers and the American
181 National Standards Committee X3, on Information Processing Systems have
182 given us permission to reprint portions of their documentation.
185 In the following statement, the phrase ``this text'' refers to portions
186 of the system documentation.
188 ``Portions of this text are reprinted and reproduced in
189 electronic form in 4.4BSD from IEEE Std 1003.1-1988, IEEE
190 Standard Portable Operating System Interface for Computer Environments
191 (POSIX), copyright 1988 by the Institute of Electrical and Electronics
192 Engineers, Inc. In the event of any discrepancy between these versions
193 and the original IEEE Standard, the original IEEE Standard is the referee
197 In the following statement, the phrase ``This material'' refers to portions
198 of the system documentation.
200 ``This material is reproduced with permission from American National
201 Standards Committee X3, on Information Processing Systems. Computer and
202 Business Equipment Manufacturers Association (CBEMA), 311 First St., NW,
203 Suite 500, Washington, DC 20001-2178. The developmental work of
204 Programming Language C was completed by the X3J11 Technical Committee.''
207 The views and conclusions contained in this manual are those of the
208 authors and should not be interpreted as representing official policies,
209 either expressed or implied, of the Regents of the University of California.
212 The 4.4BSD Daemon used on the cover is
213 copyright 1994 by Marshall Kirk McKusick
214 and is reproduced with permission.
216 This book was printed and bound in the United States of America.
218 Distributed by O'Reilly & Associates, Inc.
220 .IP "[recycle logo]" 16
221 This book is printed on acid-free paper with 50% recycled content,
222 10-13% post-consumer waste. O'Reilly & Associates is committed to
223 using paper with the highest recycled content available consistent
227 ISBN: 1-56592-081-3 (Domestic)
229 ISBN: 1-56592-092-9 (International)
245 The Computer Systems Research Group, 1979\-1993 7
247 CD-ROM Source Hierarchy 15
249 List of Manual Pages 23
256 .\" The contributor list below is derived from the file that resides in
257 .\" vangogh:~admin/contrib/contrib:
259 .\" @(#)contrib 5.55 (Berkeley) 4/18/94
261 .\" This file should not be editted, rather the original contrib file
262 .\" should be used to recrete this one following the directions at its top.
263 .\" Contrib starts here and continues to the comment `END OF CONTRIB'.
270 \fBThe Computer Systems Research Group
278 \fBCSRG Technical Staff\fP
288 Marshall Kirk McKusick
295 \fBCSRG Administration and Support\fP
311 \fBOrganizations that funded the CSRG with grants,
312 gifts, personnel, and/or hardware.\fP
316 Center for Advanced Aviation System Development, The MITRE Corp.
317 Compaq Computer Corporation
319 Department of Defense Advance Research Projects Agency (DARPA)
320 Digital Equipment Corporation
321 The Hewlett-Packard Company
322 NASA Ames Research Center
323 The National Science Foundation
324 The Open Software Foundation
325 UUNET Technologies Inc.
328 .OH '\s10CSRG, 1979 \- 1993''- % -\s0'
329 .EH '\s10- % -''CSRG, 1979 \- 1993\s0'
334 \fBThe following are people and organizations that provided a
335 large subsystem for the BSD releases.\fP
339 ANSI C library Chris Torek
340 ANSI C prototypes Donn Seeley and John Kohl
341 Autoconfiguration Robert Elz
342 C library documentation American National Standards Committee X3
343 CCI 6/32 support Computer Consoles Inc.
344 DEC 3000/5000 support Ralph Campbell
345 Disklabels Symmetric Computer Systems
346 Documentation Cynthia Livingston and The USENIX Association
347 Franz Lisp Richard Fateman, John Foderaro, Keith Sklower, Kevin Layer
348 GCC, GDB The Free Software Foundation
349 Groff James Clark (The FSF)
350 HP300 support Jeff Forys, Mike Hibler, Jay Lepreau, Donn Seeley and the Systems
351 Programming Group; University of Utah Computer Science Department
353 Ingres Mike Stonebraker, Gene Wong, and the Berkeley Ingres Research Group
354 Intel 386/486 support Bill Jolitz and TeleMuse
356 Kerberos Project Athena and MIT
357 Kernel support Bill Shannon and Sun Microsystems Inc.
358 LFS Margo Seltzer, Mendel Rosenblum, Carl Staelin
359 MIPS support Trent Hein
360 Math library K.C. Ng, Zhishun Alex Liu, S. McDonald, P. Tang and W. Kahan
362 NFS automounter Jan-Simon Pendry
363 Network device drivers Micom-Interlan and Excelan
364 Omron Luna support Akito Fujita and Shigeto Mochida
366 RPC support Sun Microsystems Inc.
367 Shared library support Rob Gingell and Sun Microsystems Inc.
368 Sony News 3400 support Kazumasa Utashiro
369 Sparc I/II support Computer Systems Engineering Group, Lawrence Berkeley Laboratory
370 Stackable file systems John Heidemann
372 System documentation The Institute of Electrical and Electronics Engineers, Inc.
373 TCP/IP Rob Gurwitz and Bolt Beranek and Newman Inc.
374 Timezone support Arthur David Olson
375 Transport/Network OSI layers IBM Corporation and the University of Wisconsin
376 Kernel XNS assistance William Nesheim, J. Q. Johnson, Chris Torek, and James O'Toole
377 User level XNS Cornell University
378 VAX 3000 support Mt. Xinu and Tom Ferrin
379 VAX BI support Chris Torek
380 VAX device support Digital Equipment Corporation and Helge Skrivervik
381 Versatec printer/plotter support University of Toronto
382 Virtual memory implementation Avadis Tevanian, Jr., Michael Wayne Young,
383 and the Carnegie-Mellon University Mach project
384 X25 University of British Columbia
388 \fBThe following are people and organizations that provided a specific
389 item, program, library routine or program maintenance for the BSD system.
390 (Their contribution may not be part of the final 4.4BSD release.)\fP
397 386 device drivers Carnegie-Mellon University Mach project
398 386 device drivers Don Ahn, Sean Fagan and Tim Tucker
399 HCX device drivers Harris Corporation
400 Kernel enhancements Robert Elz, Peter Ivanov, Ian Johnstone, Piers Lauder,
401 John Lions, Tim Long, Chris Maltby, Greg Rose and John Wainwright
402 ISO-9660 filesystem Pace Willisson, Atsushi Murai
407 adventure(6) Don Woods log(3) Peter McIlroy
408 adventure(6) Jim Gillogly look(1) David Hitz
409 adventure(6) Will Crowther ls(1) Elan Amir
410 apply(1) Rob Pike ls(1) Michael Fischbein
411 apply(1) Jan-Simon Pendry lsearch(3) Roger L. Snyder
412 ar(1) Hugh A. Smith m4(1) Ozan Yigit
413 arithmetic(6) Eamonn McManus mail(1) Kurt Schoens
414 arp(8) Sun Microsystems Inc. make(1) Adam de Boor
415 at(1) Steve Wall me(7) Eric Allman
416 atc(6) Ed James mergesort(3) Peter McIlroy
417 awk(1) Arnold Robbins mh(1) Marshall Rose
418 awk(1) David Trueman mh(1) The Rand Corporation
419 backgammon(6) Alan Char mille(6) Ken Arnold
420 banner(1) Mark Horton mknod(8) Kevin Fall
421 battlestar(6) David Riggle monop(6) Ken Arnold
422 bcd(6) Steve Hayman more(1) Eric Shienbrood
423 bdes(1) Matt Bishop more(1) Mark Nudelman
424 berknet(1) Eric Schmidt mountd(8) Herb Hasler
425 bib(1) Dain Samples mprof(1) Ben Zorn
426 bib(1) Gary M. Levin msgs(1) David Wasley
427 bib(1) Timothy A. Budd multicast Stephen Deering
428 bitstring(3) Paul Vixie mv(1) Ken Smith
429 boggle(6) Barry Brachman named/bind(8) Douglas Terry
430 bpf(4) Steven McCanne named/bind(8) Kevin Dunlap
431 btree(3) Mike Olson news(1) Rick Adams (and a cast of thousands)
432 byte-range locking Scooter Morris nm(1) Hans Huebner
433 caesar(6) John Eldridge pascal(1) Kirk McKusick
434 caesar(6) Stan King pascal(1) Peter Kessler
435 cal(1) Kim Letkeman paste(1) Adam S. Moskowitz
436 cat(1) Kevin Fall patch(1) Larry Wall
437 chess(6) Stuart Cracraft (The FSF) pax(1) Keith Muller
438 ching(6) Guy Harris phantasia(6) C. Robertson
439 cksum(1) James W. Williams phantasia(6) Edward A. Estes
440 clri(8) Rich $alz ping(8) Mike Muuss
441 col(1) Michael Rendell pom(6) Keith E. Brandt
442 comm(1) Case Larsen pr(1) Keith Muller
443 compact(1) Colin L. McMaster primes(6) Landon Curt Noll
444 compress(1) James A. Woods qsort(3) Doug McIlroy
445 compress(1) Joseph Orost qsort(3) Earl Cohen
446 compress(1) Spencer Thomas qsort(3) Jon Bentley
447 courier(1) Eric Cooper quad(3) Chris Torek
448 cp(1) David Hitz quiz(6) Jim R. Oldroyd
449 cpio(1) AT&T quiz(6) Keith Gabryelski
450 crypt(3) Tom Truscott radixsort(3) Dan Bernstein
451 csh(1) Christos Zoulas radixsort(3) Peter McIlroy
452 csh(1) Len Shar rain(6) Eric P. Scott
453 curses(3) Elan Amir ranlib(1) Hugh A. Smith
454 curses(3) Ken Arnold rcs(1) Walter F. Tichy
455 cut(1) Adam S. Moskowitz rdist(1) Michael Cooper
456 cut(1) Marciano Pitargue regex(3) Henry Spencer
457 dbx(1) Mark Linton robots(6) Ken Arnold
458 dd(1) Keith Muller rogue(6) Timothy C. Stoehr
459 dd(1) Lance Visser rs(1) John Kunze
460 des(1) Jim Gillogly sail(6) David Riggle
461 des(1) Phil Karn sail(6) Edward Wang
462 des(1) Richard Outerbridge sccs(1) Eric Allman
463 dipress(1) Xerox Corporation scsiformat(1) Lawrence Berkeley Laboratory
464 disklabel(8) Symmetric Computer Systems sdb(1) Howard Katseff
465 du(1) Chris Newcomb sed(1) Diomidis Spinellis
466 dungeon(6) R.M. Supnik sendmail(8) Eric Allman
467 ed(1) Rodney Ruddock setmode(3) Dave Borman
468 emacs(1) Richard Stallman sh(1) Kenneth Almquist
469 erf(3) Peter McIlroy, K.C. Ng slattach(8) Rick Adams
470 error(1) Robert R. Henry slip(8) Rick Adams
471 ex(1) Mark Horton spms(1) Peter J. Nicklin
472 factor(6) Landon Curt Noll strtod(3) David M. Gay
473 file(1) Ian Darwin swab(3) Jeffrey Mogul
474 find(1) Cimarron Taylor sysconf(3) Sean Eric Fagan
475 finger(1) Tony Nardo sysline(1) J.K. Foderaro
476 fish(6) Muffy Barkocy syslog(3) Eric Allman
477 fmt(1) Kurt Schoens systat(1) Bill Reeves
478 fnmatch(3) Guido van Rossum systat(1) Robert Elz
479 fold(1) Kevin Ruddy tail(1) Edward Sze-Tyan Wang
480 fortune(6) Ken Arnold talk(1) Clem Cole
481 fpr(1) Robert Corbett talk(1) Kipp Hickman
482 fsdb(8) Computer Consoles Inc. talk(1) Peter Moore
483 fsplit(1) Asa Romberger telnet(1) Dave Borman
484 fsplit(1) Jerry Berkman telnet(1) Paul Borman
485 gcc/groff integration UUNET Technologies, Inc. termcap(5) John A. Kunze
486 gcore(1) Eric Cooper termcap(5) Mark Horton
487 getcap(3) Casey Leedom test(1) Kenneth Almquist
488 glob(3) Guido van Rossum tetris(6) Chris Torek
489 gprof(1) Peter Kessler tetris(6) Darren F. Provine
490 gprof(1) Robert R. Henry timed(8) Riccardo Gusella
491 hack(6) Andries Brouwer (and a cast of thousands) timed(8) Stefano Zatti
492 hangman(6) Ken Arnold tn3270(1) Gregory Minshall
493 hash(3) Margo Seltzer tr(1) Igor Belchinskiy
494 heapsort(3) Elmer Yglesias traceroute(8) Van Jacobson
495 heapsort(3) Kevin Lew trek(6) Eric Allman
496 heapsort(3) Ronnie Kon tset(1) Eric Allman
497 hunt(6) Conrad Huang tsort(1) Michael Rendell
498 hunt(6) Greg Couch unifdef(1) Dave Yost
499 icon(1) Bill Mitchell uniq(1) Case Larsen
500 icon(1) Ralph Griswold uucpd(8) Rick Adams
501 indent(1) David Willcox uudecode(1) Mark Horton
502 indent(1) Eric Schmidt uuencode(1) Mark Horton
503 indent(1) James Gosling uuq(1) Lou Salkind
504 indent(1) Sun Microsystems uuq(1) Rick Adams
505 init(1) Donn Seeley uusnap(8) Randy King
506 j0(3) Sun Microsystems, Inc. uusnap(8) Rick Adams
507 j1(3) Sun Microsystems, Inc. vacation(1) Eric Allman
508 jn(3) Sun Microsystems, Inc. vi(1) Steve Kirkendall
509 join(1) David Goodenough which(1) Peter Kessler
510 join(1) Michiro Hikida who(1) Michael Fischbein
511 join(1) Steve Hayman window(1) Edward Wang
512 jot(1) John Kunze worm(6) Michael Toy
513 jove(1) Jonathon Payne worms(6) Eric P. Scott
514 kermit(1) Columbia University write(1) Craig Leres
515 kvm(3) Peter Shipley write(1) Jef Poskanzer
516 kvm(3) Steven McCanne wump(6) Dave Taylor
517 lam(1) John Kunze X25/Ethernet Univ. of Erlangen-Nuremberg
518 larn(6) Noah Morgan X25/LLC2 Dirk Husemann
519 lastcomm(1) Len Edmondson xargs(1) John B. Roll Jr.
520 lex(1) Vern Paxson xneko(6) Masayuki Koba
521 libm(3) Peter McIlroy XNSrouted(1) Bill Nesheim
522 libm(3) UUNET Technologies, Inc. xroach(6) J.T. Anderson
523 locate(1) James A. Woods yacc(1) Robert Paul Corbett
527 .\" END OF CONTRIB: Contrib ends here.
534 .OH '\s10Overview''- % -\s0'
535 .EH '\s10- % -''Overview\s0'
545 \fB\s24Overview\s0\fP
548 4.4BSD-Lite Description
550 This cd-rom contains the source code,
551 manual pages and other documentation,
552 and research papers from the first revision of the University of California,
553 Berkeley's 4.4BSD-Lite distribution.
555 The 4.4BSD-Lite software is copyrighted by the
556 University of California and others,
557 but may be freely redistributed and used in products without fee,
558 as long as the due credit,
560 and other requirements described in the file /COPYRIGHT are met.
562 The distribution includes both software developed at Berkeley and much
563 software contributed by authors outside Berkeley.
564 Please see the previous section of this document
565 for a list of the many contributors to the system.
567 The layout of the 4.4BSD-Lite distribution is described
568 in the \fIhier\fR(7) manual page, which follows.
569 A table of contents and permuted index for the 4.4BSD-Lite manual pages
572 The cd-rom is in ISO-9660 format,
573 with Rock Ridge Extensions.
574 For example, to mount on a 4.4BSD-Lite system
575 on which the CD-ROM drive is connected as SCSI unit 1,
576 ensure that the directory /cdrom exists,
577 then enter ``mount -r -t cd9660 /dev/sd1a /cdrom''.
579 ensure that the directory /cdrom exists,
580 then enter ``mount -r -t hsts /dev/sr0 /cdrom''.
582 The 4.4BSD-Lite distribution is a source distribution only,
583 and does not contain program binaries for any architecture.
584 It is not possible to compile or run this software without a
585 pre-existing system that is already installed and running.
587 the distribution does not include sources for the complete 4.4BSD system.
588 It includes source code and manual pages for the C library,
589 approximately 95% of the utilities distributed in 4.4BSD,
590 and all but a few files from the kernel.
591 The system is almost entirely ANSI C and IEEE POSIX 1003.1 and 1003.2
596 The major new facilities available in the 4.4BSD-Lite release are
597 a new virtual memory system,
598 the addition of ISO/OSI networking support,
599 a new virtual filesystem interface supporting filesystem stacking,
600 a freely redistributable implementation of NFS,
601 a log-structured filesystem,
602 enhancement of the local filesystems to support
603 files and filesystems that are up to $2 sup 63$ bytes in size,
604 enhanced security and system management support,
605 and the conversion to and addition of the IEEE Std1003.1 (``POSIX'')
606 facilities and many of the IEEE Std1003.2 facilities.
607 In addition, many new utilities and additions have been made to the C-library.
608 The kernel sources have been reorganized to collect all machine-dependent
609 files for each architecture under one directory,
610 and most of the machine-independent code is now free of code
611 conditional on specific machines.
612 The user structure and process structure have been reorganized
613 to eliminate the statically-mapped user structure and to make most
614 of the process resources shareable by multiple processes.
615 The system and include files have been converted to be compatible
616 with ANSI C, including function prototypes for most of the exported
618 There are numerous other changes throughout the system.
620 Changes in the Kernel
622 This release includes several important structural kernel changes.
623 The kernel uses a new internal system call convention;
624 the use of global (``u-dot'') variables for parameters and error returns
626 and interrupted system calls no longer abort using non-local goto's (longjmp's).
627 A new sleep interface separates signal handling from scheduling priority,
628 returning characteristic errors to abort or restart the current system call.
629 This sleep call also passes a string describing the process state,
630 which is used by the ps(1) program.
631 The old sleep interface can be used only for non-interruptible sleeps.
633 Many data structures that were previously statically allocated
634 are now allocated dynamically.
635 These structures include mount entries, file entries,
636 user open file descriptors, the process entries, the vnode table,
637 the name cache, and the quota structures.
639 The 4.4BSD-Lite distribution adds support for several new
640 architectures including
641 SPARC-based Sparcstations 1 and 2,
642 MIPS-based Decstation 3100 and 5000 and Sony NEWS,
643 68000-based Hewlett-Packard 9000/300 and Omron Luna, and
644 386-based Personal Computers.
645 Both the HP300 and SPARC ports feature the ability to run binaries
646 built for the native operating system (HP-UX or SunOS) by emulating
648 Though this native operating system compatibility was provided by the
649 developers as needed for their purposes and is by no means complete,
650 it is complete enough to run several non-trivial applications including
651 those that require HP-UX or SunOS shared libraries.
652 For example, the vendor supplied X11 server and windowing environment
653 can be used on both the HP300 and SPARC.
655 Virtual memory changes
657 The new virtual memory implementation is derived from the MACH
658 operating system developed at Carnegie-Mellon,
659 and was ported to the BSD kernel at the University of Utah.
660 The MACH virtual memory system call interface has been replaced with the
661 ``mmap''-based interface described in the
662 ``Berkeley Software Architecture Manual (4.4 Edition)''
663 (see the UNIX Programmer's Manual,
664 Supplementary Documents, PSD:5).
665 The interface is similar to the interfaces shipped
666 by several commercial vendors such as Sun, USL, and Convex Computer Corp.
667 The integration of the new virtual memory is functionally complete,
668 but, like most MACH-based virtual memory systems,
669 still has serious performance problems under heavy memory load.
671 Networking additions and changes
673 The ISO/OSI Networking consists of a kernel implementation of
674 transport class 4 (TP-4),
675 connectionless networking protocol (CLNP),
676 and 802.3-based link-level support (hardware-compatible with Ethernet*).
678 .\" ditroff screws up the environment for footnote. This restores it.
684 .\" end of ditroff fix
686 *Ethernet is a trademark of the Xerox Corporation.
688 We also include support for ISO Connection-Oriented Network Service,
690 The session and presentation layers are provided outside
691 the kernel by the ISO development environment (ISODE).
692 Included in this development environment are file
693 transfer and management (FTAM), virtual terminals (VT),
694 a directory services implementation (X.500), and miscellaneous other utilities.
696 Several important enhancements have been added to the TCP/IP
697 protocols including TCP header prediction and
698 serial line IP (SLIP) with header compression.
699 The routing implementation has been completely rewritten
700 to use a hierarchical routing tree with a mask per route
701 to support the arbitrary levels of routing found in the ISO protocols.
702 The routing table also stores and caches route characteristics
703 to speed the adaptation of the throughput and congestion avoidance
706 Additions and changes to filesystems
708 The 4.4BSD-Lite distribution contains most of the interfaces
709 specified in the IEEE Std1003.1 system interface standard.
710 Filesystem additions include IEEE Std1003.1 FIFOs,
711 byte-range file locking, and saved user and group identifiers.
713 A new virtual filesystem interface has been added to the
714 kernel to support multiple filesystems.
715 In comparison with other interfaces,
716 the Berkeley interface has been structured for more efficient support
717 of filesystems that maintain state (such as the local filesystem).
718 The interface has been extended with support for stackable
719 filesystems done at UCLA.
720 These extensions allow for filesystems to be layered on top of each
721 other and allow new vnode operations to be added without requiring
722 changes to existing filesystem implementations.
723 For example, the umap filesystem
724 is used to mount a sub-tree of an existing filesystem
725 that uses a different set of uids and gids than the local system.
726 Such a filesystem could be mounted from a remote site via NFS or it
727 could be a filesystem on removable media brought from some foreign
728 location that uses a different password file.
730 In addition to the local ``fast filesystem,''
731 we have added an implementation of the network filesystem (NFS)
732 that fully interoperates with the NFS shipped by Sun and its licensees.
733 Because our NFS implementation was implemented using only the
734 publicly available NFS specification,
735 it does not require a license from Sun to use in source or binary form.
736 By default it runs over UDP to be compatible with Sun's implementation.
737 However, it can be configured on a per-mount basis to run over TCP.
738 Using TCP allows it to be used quickly and efficiently through
739 gateways and over long-haul networks.
740 Using an extended protocol, it supports Leases to allow a limited
741 callback mechanism that greatly reduces the network traffic necessary
742 to maintain cache consistency between the server and its clients.
744 A new log-structured filesystem has been added that provides
745 near disk-speed output and fast crash recovery.
746 It is still experimental in the 4.4BSD-Lite release,
747 so we do not recommend it for production use.
748 We have also added a memory-based filesystem that runs in
749 pageable memory, allowing large temporary filesystems without
750 requiring dedicated physical memory.
752 The local ``fast filesystem'' has been enhanced to do
753 clustering which allows large pieces of files to be
754 allocated contiguously resulting in near doubling
755 of filesystem throughput.
756 The filesystem interface has been extended to allow
757 files and filesystems to grow to $2 sup 63$ bytes in size.
758 The quota system has been rewritten to support both
759 user and group quotas (simultaneously if desired).
760 Quota expiration is based on time rather than
761 the previous metric of number of logins over quota.
762 This change makes quotas more useful on fileservers
763 onto which users seldom log in.
765 The system security has been greatly enhanced by the
766 addition of additional file flags that permit a file to be
767 marked as immutable or append only.
768 Once set, these flags can only be cleared by the super-user
769 when the system is running single user.
770 To protect against indiscriminate reading or writing of kernel
771 memory, all writing and most reading of kernel data structures
772 must be done using a new ``sysctl'' interface.
773 The information to be accessed is described through an extensible
774 ``Management Information Base'' (MIB).
779 POSIX terminal driver changes
781 The biggest area of change is a new terminal driver.
782 The terminal driver is similar to the System V terminal driver
783 with the addition of the necessary extensions to get the
784 functionality previously available in the 4.3BSD terminal driver.
785 4.4BSD-Lite also adds the IEEE Std1003.1 job control interface,
786 which is similar to the 4.3BSD job control interface,
787 but adds a security model that was missing in the
788 4.3BSD job control implementation.
789 A new system call, \fIsetsid\fP,
790 creates a job-control session consisting of a single process
791 group with one member, the caller, that becomes a session leader.
792 Only a session leader may acquire a controlling terminal.
793 This is done explicitly via a \s-1TIOCSCTTY\s+1 \fIioctl\fP call,
794 not implicitly by an \fIopen\fP call.
795 The call fails if the terminal is in use.
797 For backward compatibility,
798 both the old \fIioctl\fP
799 calls and old options to \fIstty\fP
802 Changes to the utilities
804 There are several new tools and utilities included in this release.
805 A new version of ``make'' allows much-simplified makefiles for the
806 system software and allows compilation for multiple architectures
807 from the same source tree (which may be mounted read-only).
808 Notable additions to the libraries include functions to traverse a
809 filesystem hierarchy, database interfaces to btree and hashing functions,
810 a new, fast implementation of stdio, and a radix sort function.
811 The additions to the utility suite include greatly enhanced versions of
812 programs that display system status information, implementations of
813 various traditional tools described in the IEEE Std1003.2 standard,
816 We have been tracking the IEEE Std1003.2 shell and utility work
817 and have included prototypes of many of the proposed utilities.
818 Most of the traditional utilities have been replaced
819 with implementations conformant to the POSIX standards.
820 Almost the entire manual suite has been rewritten to
821 reflect the POSIX defined interfaces.
822 In rewriting this software, we have generally
823 been rewarded with significant performance improvements.
824 Most of the libraries and header files have been converted
825 to be compliant with ANSI C.
826 The system libraries and utilities all compile
827 with either ANSI or traditional C.
829 The Kerberos (version 4) authentication software has been
830 integrated into much of the system (including NFS) to provide
831 the first real network authentication on BSD.
833 A new implementation of the \fIex/vi\fP text editors is available
835 It is intended as a bug-for-bug compatible version of the editors.
836 It also has a few new features: 8-bit clean data, lines and files
837 limited only by memory and disk space, split screens, tags stacks
838 and left-right scrolling among them.
840 is not yet production quality; future versions of this software may
841 be retrieved by anonymous ftp from ftp.cs.berkeley.edu, in the
845 utility has two new options that are important to be aware of if you
847 The ``fstype'' and ``prune'' options can be used together to prevent
848 find from crossing NFS mount points.
850 Additions and changes to the libraries
853 library has been largely rewritten.
854 Important additional features include support
855 for scrolling and \fItermios\fP.
857 An application front-end editing library, named libedit, has been
860 A superset implementation of the SunOS kernel memory interface library,
861 \fIlibkvm\fP, has been integrated into the system.
863 Nearly the entire C-library has been rewritten.
864 Some highlights of the changes to the 4.4BSD-Lite C-library:
866 The newly added \fIfts\fP
867 functions will do either physical or logical traversal of
868 a file hierarchy as well as handle essentially infinite depth
869 filesystems and filesystems with cycles.
870 All the utilities in 4.4BSD-Lite that traverse file hierarchies
871 have been converted to use \fIfts\fP.
872 The conversion has always resulted in a significant performance
873 gain, often of four or five to one in system time.
875 The newly added \fIdbopen\fP
876 functions are intended to be a family of database access methods.
877 Currently, they consist of \fIhash\fP,
878 an extensible, dynamic hashing scheme,
879 \fIbtree\fP, a sorted, balanced tree structure (B+tree's), and
880 \fIrecno\fP, a flat-file interface for fixed or variable length records
881 referenced by logical record number.
882 Each of the access methods stores associated key/data pairs and
883 uses the same record oriented interface for access.
884 Future versions of this software may be retrieved by anonymous ftp
885 from ftp.cs.berkeley.edu, in the directory ucb/4bsd.
888 function has been rewritten for additional performance.
889 In addition, three new types of sorting functions,
890 \fIheapsort\fP, \fImergesort\fP, and \fIradixsort\fP
891 have been added to the system.
893 function is optimized for data with pre-existing order,
894 in which case it usually significantly outperforms \fIqsort\fP.
896 functions are variants of most-significant-byte radix sorting.
897 They take time linear to the number of bytes to be
898 sorted, usually significantly outperforming \fIqsort\fP
899 on data that can be sorted in this fashion.
900 An implementation of the POSIX 1003.2 standard \fIsort\fP
901 based on \fIradixsort\fP is included in 4.4BSD-Lite.
903 The floating point support in the C-library has been replaced
906 The C functions specified by both ANSI C, POSIX 1003.1 and
907 1003.2 are now part of the C-library.
908 This includes support for file name matching, shell globbing
909 and both basic and extended regular expressions.
911 ANSI C multibyte and wide character support has been integrated.
912 The rune functionality from the Bell Labs' Plan 9 system is provided
916 functions have been generalized and replaced with a general
917 purpose interface named \fIgetcap\fP.
920 routines have been replaced, and are usually much faster.
921 In addition, the \fIfunopen\fP
922 interface permits applications to provide their own I/O stream
927 We were greatly assisted by the past employees of the Computer Systems
928 Research Group: Mike Karels, Keith Sklower, and Marc Tietelbaum.
929 Our distribution coordinator, Pauline Schwartz, has reliably managed
930 the finances and the mechanics of shipping distributions for
931 nearly the entire fourteen years of the group's existence.
932 Without the help of lawyers Mary MacDonald, Joel Linzner,
933 and Carla Shapiro, the 4.4BSD-Lite distribution would never
934 have seen the light of day.
935 Much help was provided by Chris Demetriou in getting bug fixes
936 from NetBSD integrated back into the 4.4BSD-Lite distribution.
938 The vast majority of the 4.4BSD-Lite distribution comes from the numerous
939 people in the UNIX community that provided their time and energy in
940 creating the software contained in this release.
941 We dedicate this distribution to them.
954 .OH '\s10Introduction''- % -\s0'
955 .EH '\s10- % -''Introduction\s0'
960 \fR\\$1\fI\\$2\^\fR\\$3
963 \fB\s24Introduction\s0\fP
968 The documentation for 4.4BSD is in a format similar
969 to the one used for the 4.2BSD and 4.3BSD manuals.
970 It is divided into three sets; each set consists of one or more volumes.
971 The abbreviations for the volume names are listed in square brackets;
972 the abbreviations for the manual sections are listed in parenthesis.
975 User's Reference Manual [URM]
978 Macro packages and language conventions (7)
979 User's Supplementary Documents [USD]
982 Communicating with the World
987 II. Programmer's Documents
988 Programmer's Reference Manual [PRM]
992 File formats and conventions (5)
993 Programmer's Supplementary Documents [PSD]
994 Documents of Historic Interest
995 Languages in common use
997 Programming Libraries
1000 III. System Manager's Manual [SMM]
1001 Maintenance commands (8)
1002 System Installation and Administration
1005 References to individual documents are given as ``volume:document'',
1006 thus USD:1 refers to the first document in the ``User's Supplementary
1008 References to manual pages are given as ``\fIname\fP(section)'' thus
1010 refers to the shell manual entry in section 1.
1012 The manual pages give descriptions of the features of the
1013 4.4BSD system, as developed at the University of California at Berkeley.
1014 They do not attempt to provide perspective or tutorial information about the
1015 4.4BSD operating system, its facilities, or its implementation.
1016 Various documents on those topics are contained in the
1017 ``\s-1UNIX\s+1 User's Supplementary Documents'' (USD), the
1018 ``\s-1UNIX\s+1 Programmer's Supplementary Documents'' (PSD),
1019 and ``\s-1UNIX\s+1 System Manager's Manual'' (SMM).
1020 In particular, for an overview see ``The \s-1UNIX\s+1 Time-Sharing System'' (PSD:1)
1021 by Ritchie and Thompson; for a tutorial see
1022 ``\s8\s-1UNIX\s+1\s10 for Beginners'' (USD:1) by Kernighan,
1023 and for an guide to the new features of this latest version, see
1024 ``Berkeley Software Architecture Manual (4.4 Edition)'' (PSD:5).
1026 Within the area it surveys, this volume attempts to be timely, complete
1027 and concise. Where the latter two objectives conflict,
1028 the obvious is often left unsaid in favor of brevity.
1029 It is intended that each program be described as it is, not as it should be.
1030 Inevitably, this means that various sections will soon be out of date.
1032 Commands are programs intended to be invoked directly by
1033 the user, in contrast to subroutines, that are
1034 intended to be called by the user's programs.
1035 User commands are described in URM section 1.
1036 Commands generally reside in directory
1041 Some programs also reside in
1048 These directories are searched automatically by the command interpreters.
1049 Additional directories that may be of interest include
1051 /\|usr/\|contrib/\|bin,
1053 which has contributed software
1057 which has old but sometimes still useful software and
1059 /\|usr/\|local/\|bin,
1061 which contains software local to your site.
1063 Games have been relegated to URM section 6 and
1067 to keep them from contaminating
1068 the more staid information of URM section 1.
1070 Miscellaneous collection of information necessary for
1071 writing in various specialized languages such as character codes,
1072 macro packages for typesetting, etc is contained in URM section 7.
1074 System calls are entries into the BSD kernel.
1075 The system call interface is identical to a C language
1076 procedure call; the equivalent C procedures are described in PRM section 2.
1078 An assortment of subroutines is available;
1079 they are described in PRM section 3.
1080 The primary libraries in which they are kept are described in
1082 The functions are described in terms of C.
1084 PRM section 4 discusses the characteristics of
1085 each system ``file'' that refers to an I/O device.
1086 The names in this section refer to the HP300 device names for the hardware,
1087 instead of the names of the special files themselves.
1089 The file formats and conventions (PRM section 5)
1090 documents the structure of particular kinds of files;
1091 for example, the form of the output of the loader and
1092 assembler is given. Excluded are files used by only one command,
1093 for example the assembler's intermediate files.
1095 Commands and procedures intended for use primarily by the
1096 system administrator are described in SMM section 8.
1097 The files described here are almost all kept in the directory
1099 The system administration binaries reside in
1107 Each section consists of independent entries of a page or so each.
1108 The name of the entry is in the upper corners of its pages,
1109 together with the section number.
1110 Entries within each section are alphabetized.
1111 The page numbers of each entry start at 1;
1112 it is infeasible to number consecutively the pages of
1113 a document like this that is republished in many variant forms.
1115 All entries are based on a common format;
1116 not all subsections always appear.
1121 subsection lists the exact names of the commands and subroutines
1122 covered under the entry and gives a short description of their purpose.
1126 summarizes the use of the program being described.
1127 A few conventions are used, particularly in the Commands subsection:
1131 words are considered literals, and are typed just as they appear.
1133 Square brackets [ ] around an argument show that the argument is optional.
1134 When an argument is given as ``name'', it always refers to a file name.
1136 Ellipses ``.\|.\|.'' are used to show that the previous argument-prototype
1139 A final convention is used by the commands themselves.
1140 An argument beginning with a minus sign ``\-'' usually means that it is an
1141 option-specifying argument, even if it appears in a position where
1142 a file name could appear. Therefore, it is unwise to have files whose
1143 names begin with ``\-''.
1148 subsection discusses in detail the subject at hand.
1152 subsection gives the names of files that are built into the program.
1158 subsection gives pointers to related information.
1162 subsection discusses the diagnostic indications that may be produced.
1163 Messages that are intended to be self-explanatory are not listed.
1167 subsection gives known bugs and sometimes deficiencies.
1168 Occasionally the suggested fix is also described.
1171 At the beginning of URM, PRM, and SSM is a List of Manual Pages,
1172 organized by section and alphabetically within each section, and a
1173 Permuted Index derived from that List.
1174 Within each index entry, the title of the writeup to which
1175 it refers is followed by the appropriate section number in parentheses.
1176 This fact is important because there is considerable
1177 name duplication among the sections, arising principally from commands that
1178 exist only to exercise a particular system call.
1179 Finally, there is a list of documents on the inside back cover of each volume.
1185 .OH '\s10Manual Pages''- % -\s0'
1186 .EH '\s10- % -''Manual Pages\s0'
1187 .EF '\s10\\\\*(Dt''\\\\*(Ed\s0'
1188 .OF '\s10\\\\*(Ed''\\\\*(Dt\s0'
1193 \s24\fBList \|of \|Manual \|Pages\fP\s0
1215 .t toc1 1 "Commands and Application Programs"
1216 .t toc2 2 "System Calls"
1217 .t toc3 3 "C Library Subroutines"
1218 .t toc4 4 "Special Files"
1219 .t toc5 5 "File Formats"
1221 .t toc7 7 "Miscellaneous"
1222 .t toc8 8 "System Maintenance"
1225 .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
1232 .OH '\s10Permuted Index''- % -\s0'
1233 .EH '\s10- % -''Permuted Index\s0'
1237 \s24\fBPermuted \|Index\fP\s0
1242 .\" backup from slotput 1, slot, 2
1248 .if \w
\x02\\$2
\x02 .ds s1 ~~\"
1251 .if \w
\x02\\$4
\x02 .ds s3 ~~\"
1254 .ds y \\*(s4\f3
\x01\fP\\*(s5
1255 .ta 6i-\w
\x02\\*(s5
\x02u
1256 \h"3i-\w
\x02\\$1\\*(s1\\$2\\*(s2
\x02u"\\$1\\*(s1\\$2\\*(s2\\$3\\*(s3\\$4\\*y\\$5
1260 .ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i