+.de IR
+\fI\\$1\fR\\$2\\fR\\fR
+..
+.TL
+Changes in the VAX system in the Fourth
+Berkeley Distribution, November, 1980
+.AU
+Bill Joy
+.AB
+This document describes briefly the changes in the Berkeley system
+for the VAX between the distribution of January 1980 (known as 3BSD)
+and this, the fourth distribution, of November 1980.
+It attempts to be summarize, without going into great detail, the
+changes which have been made, and is intended to be used by someone
+who is familiar with the system to quickly re-acclimate themselves to
+the new system.
+.AE
+.SH
+.ce
+.LG
+Major changes
+.SM
+.sp
+.PP
+.IP \s+1\(bu\s0 4
+There is a new format for \fB.o\fR files and also a new archive format.
+Old \fB.o\fR files must be discarded and the programs compiled from the
+source again. Old archives can be converted to the new format with
+.IR arcv (8),
+but if they contain old \fB.o\fR files they have to be completely
+recreated. New libraries for the loader \fBmust\fR have a table
+of contents, see
+.IR ranlib (1).
+.IP \s+1\(bu\s0
+The C compiler and associated programs now take arbitrary length names,
+not chopping them off at length 7 or 8. Other changes in C are described under
+.B cc
+below.
+.IP \s+1\(bu\s0
+There is a new version of the C shell, which supports ``job control'' and
+which uses a new tty driver. See
+.IR newcsh (1)
+and
+.IR newtty (1)
+for details.
+Programming considerations for the new system mechanisms involved are
+described in
+.IR jobs (3).
+Users of the older
+.B csh
+can use
+.B oldcsh
+until they have time to learn the new features.
+.IP \s+1\(bu\s0
+The standard output (in the standard i/o library) is now line buffered
+by default when the output is a terminal. So that essentially all
+programs may work without change in the presence of this
+extra buffering, a partial output line is flushed whenever the library
+goes to the system to read from the standard input.
+.IP \s+1\(bu\s0
+A number of performance enhancements have been made.
+Under normal timesharing loads, the system time has been decreased about
+10%. The changes to the standard i/o library and improvements to the
+character handling routines to terminals have reduced greatly the cost
+of terminal i/o. The new version of the loader and the addition of table
+of contents to loader archives have speeded up loading of large programs
+by about a factor of 3. Improvements to the system data structures have
+decreased the time required for most system calls, increasing the amount
+of time available to user programs.
+.IP \s+1\(bu\s0
+A bug has been fixed in the C optimizer which caused incorrect code to
+be generated for the random number generator. A consequence of this is
+that the
+.B rand
+function in this version of the system produces different sequences.
+Fallout from this is the fact that the secret-mail facility encryption scheme
+is subtly changed by this bug fix. All users should re-enroll in secretmail
+using
+.B enroll;
+messages sent before re-enrolling can be read using
+.B /usr/old/bin/xget.
+.bp
+.SH
+.LG
+.ce
+Section 1
+.SM
+.sp
+.PP
+This is a brief summary of the changes which have been made in
+section 1 of the manual.
+In general, a number of system maintenance
+commands have been moved to section 8 of the manual as they are of little
+interest to the average user. In addition, to reduce the bulk of the manual,
+a number of very-closely related commands have been merged together onto
+a single manual page; thus \fBccat\fR, \fBcompact\fR and \fBuncompact\fR,
+which had three separate pages in the last edition of the manual, now have
+only one, and the line printer commands \fBlpr\fB, \fBlpq\fR and \fBlprm\fR
+have been placed on a single page.
+.de BP
+.IP \fB\\$1\\fR 11n
+..
+.BP ac
+Now appears in section 8.
+.BP adb
+Now correctly initializes the maps when debugging the system.
+Control characters are now printed using the \fB^x\fR convention when the
+\fBC\fR output format is used. The increment for dot in the \fBp\fR
+format is now (correctly) 4. A previously undocumented command is
+\fB$?\fR, giving the output of \fB$r\fR, preceded by the process
+id and signal stopping the process. The bug which cause the running
+process to always stop at location 2 when first run has been fixed.
+.BP analyze
+Now appears in section 8.
+.BP ar
+Now creates a new archive format, in which the critical information
+is stored in ASCII, and thus portable between the VAX, PDP\-11, and
+other machines. See
+.IR old (8)
+for information on dealing with the old format.
+The program
+.IR arcv (8)
+converts old (binary format) archives to new format, in place.
+Beware, however: the format of \fB\.o\fR files has changed, so archives
+of object files must be recompiled (see \fBcc\fR below).
+.BP ar11
+Is now in
+.B /usr/old/bin
+see
+.IR old (8).
+.BP arff
+Is now
+.IR arff (8).
+.BP as
+A new option \fB\-R\fR causes the assembler to make data segments
+read-only and shared; this replaces the cumbersome ``:rofix'' script
+used in the previous distribution. For very large assemblies there
+is an option \fB\-J\fR which causes the assembler to use four-byte
+jumps to avoid ``Branch too far diagnostics.'' Local labels have been
+added to the assembler defined by ``\fIn\fR:'' and referenced as ``\fIn\fRf''
+or ``\fIn\fRb''; see the assembler manual in volume 2c for details.
+All tables in the assembler have been made extensible so that there should
+be no problems with assembling enormous files. The assembler has also
+been sped up by 25-40%.
+.BP at
+A number of security problems with the
+.I at
+command have been fixed.
+.BP biff
+Is a new command which can enable immediate notification when
+mail arrives; if you give the command ``biff y'' then the first few
+lines of each piece of mail sent to you is printed on your terminal.
+This is a (different flavor) replacement for the MAIL variable of
+.B sh
+or the mail variable of
+.B csh.
+.BP cat
+New options \fB\-n\fR numbers lines;
+\fB\-s\fR crushes out multiple blank lines, replacing \fBssp\fR;
+\fB\-v\fR prints control characters in the \fB^x\fR format.
+The commands
+.IR num (1)
+and
+.IR see (1)
+now just invoke
+.I cat.
+.BP cc
+A newer version of the C compiler supports more strongly typed structures.
+Field names need not appear in only one structure; rather
+the compiler insists on correct typing of pointers accessing
+structures in contexts where this would cause ambiguity, and producing
+a warning in other cases when the pointer does not have the correct type
+to access the field name.
+.IP
+A new type
+\fBvoid\fR may be used in a declaration or a cast to indicate that there
+is no result, or that a value is to be discarded.
+.IP
+The compiler has been changed to accept arbitrary-length names.
+For maximum portability it is better to limit names to 8 characters,
+7 characters for externals, but this is no longer required. The longer
+names bring a new \fB\.o\fR format, incorporating a string table, and
+consequently a large number of programs are changed. The critical ones
+exist in ``old'' versions to ease conversion pains.
+.IP
+A number of bugs in the compiler have been fixed. To avoid remaining bugs
+in the code generator, the declaration of \fBregister char\fR and
+\fBregister short\fR variables are currently being compiled as though
+the word \fBregister\fR were not present.
+(This does \fBnot\fR affect pointer variables.)
+This blindness is allowed in the semantics
+of the language, and is not as bad as it might seem at first. It
+is sufficiently difficult to maintain the semantics of C in operating
+on such quantities that the code is often better when they are not placed
+in registers. This applies to \fBunsigned char\fR and \fBunsigned short\fR
+variables also.
+.BP cd
+The
+.I cd
+command, in
+.IR csh
+is now affected by a
+.I cdpath
+variable which works similarly to the command search
+.I path
+variable; see
+.IR csh (1).
+.BP checknr
+A new command which checks macro bracketing structure in
+.I nroff
+or
+.I troff
+input.
+.BP chgrp
+Has been moved to section 8.
+.BP chown
+Has been moved to section 8.
+.BP cifplot
+Produces raster plots from CIF for integrated circuit designers.
+.BP clri
+Has been moved to section 8.
+.BP colrm
+Has had several bugs fixed.
+.BP cp
+It, along with
+.I mv
+now take
+.B \-i
+flags which cause them to ask before overwriting an existing file; thus
+.B cp
+can be usefully
+\fIalias\fR\|ed
+to ``cp \fB\-i\fR'' when using
+.IR csh (1)
+to provide a safer environment.
+.BP csh
+Has had a number of changes; most importantly, the shell now
+supports ``job control'', allowing arbitration of a terminal
+between several active groups of processes. See
+.IR newcsh (1)
+for a short description of new
+.I csh
+features.
+Users of
+.I csh
+automatically use the new teletype driver summarized in
+.IR newtty (4).
+(An old version of
+.B csh,
+corresponding to that of the Third Distribution remains available as
+.B oldcsh
+to ease conversion to the new shell.)
+.BP ctags
+Now recognizes FORTRAN and Pascal routine definitions.
+.BP cu
+Is now functional on VADIC dial-out hardware with the necessary
+software to record outgoing calls; see
+.IR rv (4).
+.BP cxref
+Is now the
+.B \-x
+option to
+.B ctags.
+.BP date
+The internal date representation (maintained in the hardware)
+has been changed to be more compatible with the standard
+DEC system VMS, although VMS still poses problems (see \s-2BUGS\s0 in
+.IR date (1)).
+.BP dcheck
+Is now in section 8.
+.BP dd
+Options have been added to do blocking and unblocking of tapes
+without converting to and from EBCDIC.
+.BP ddate
+Is obsoleted by the new
+.B dump
+program, which lives in section 8.
+.BP df
+The output format is greatly improved. It is now also possible
+to say ``df directory'' to get \fIdf\fR to report the free space
+available on the file system containing \fIdirectory\fR.
+.BP diction
+Is a new program which finds bad or wordy diction.
+.BP diff
+Has new options to give lines of context and to create a merged conditional
+file with ``#ifdef'' controls in it. The command
+.I diffdir
+has been subsumed into
+.I diff
+and an option has been added to perform recursive directory differences.
+.BP diffdir
+Is now part of
+.I diff.
+.BP dmesg
+Is now in section 8.
+.BP dump
+Is now in section 8.
+.BP dumpdir
+Is now in section 8.
+.BP echo
+The echo builtin to
+.B csh
+now is the same as the standard version 7
+echo. The special character sequences ``\ec'' and ``\en'' no longer
+have their special meaning; instead the
+.B \-n
+option is accepted.
+.BP ef\&l
+Is a new FORTRAN preprocessor, providing C-like features.
+.BP error
+Is a new program which consumes error message output from
+language and other processors, analyzes them and (optionally)
+places appropriate diagnostics back into source files near the point of error.
+.BP ex
+A number of bug fixes and a few new features are available.
+See the incremental change report in volume 2c or read the file
+.I /usr/news/ex.
+.BP expand
+Now has a companion
+.I unexpand
+command, reversing its effect.
+.BP f\&lcopy
+Is now in section 8.
+.BP from
+Now takes a
+.B \-s
+option, printing only headers from the sender who is the next argument.
+.BP gets
+Is obsolete; use ``$<'' of
+.IR csh (1)
+or
+.I read
+of
+.IR sh (1)
+instead.
+.BP grep
+The
+.B \-i
+option now works with
+.I fgrep;
+several subtle bugs have been fixed in
+its algorithm.
+.BP iostat
+Now has a single output format which includes character i/o rates,
+seeks and transfers per second on each disk.
+.BP kill
+Is now built-in to
+.IR csh
+and take job names ``%...'' as arguments. This eliminates
+much of the need to know process id's when using
+.I kill.
+It also takes symbolic as well as numeric signal names; do
+``kill \-l'' (lower case letter l as in lark) to see a list.
+.BP ld
+Has been speeded up substantially; several new options have
+been added providing incremental loading (\fB\-A\fR), primitive load maps
+(\fB\-M\fR) and symbol def/use tracing (\fB\-y\fR).
+The loader now supports archives with
+table of contents, and expects all archives it encounters to have
+them (or it complains); see
+.IR ranlib (1).
+.BP lisp
+The lisp interpreter has begun to support new ``string'' and
+``hunk'' data types. A user must now type vertical bars to delimit
+atoms with embedded white space, as double quotes (") now delimit
+strings.
+The interpreter has benefitted from in-line expansion of
+frequently called small routines, and will interpret
+list structure 20% more quickly than before.
+A perusal of the index to the lisp manual
+in Volume 2c will show more new functions which Franz has in common with
+\s-2MACLISP\s0.
+.BP liszt
+The quality of the code produced by
+.I liszt
+is substantially better than the previous version;
+.I liszt
+also now provides macros for UCI lisp compatibility as well
+as Maclisp compatibility, and a facility for constructing a cross-reference
+with
+.IR lxref (1).
+.BP ln
+Now subsumes
+.I lnall
+when given multiple arguments.
+.BP ls
+Has new options \fB\-R\fR for a directory-recursive version, \fB\-F\fR
+to highlight directories and executable files, and now indicates
+.IR mpx (2)
+files in long format outputs with first output character \fBm\fR.
+.BP lxref
+Is a new lisp cross referencing program.
+.BP mail
+All mail is now forwarded through the facilities of
+.IR delivermail (8)
+using the mail aliases data bases in the file
+.I /usr/lib/aliases
+whose format is described in
+.IR aliases (5).
+Gateways to UUCP, ARPA and Berknet machines are provided, with
+normal naming conventions, i.e.: ``name@site'' for the ARPANET,
+``machine!name'' for UUCP, and ``machine:name'' for the Berknet.
+Personal distribution lists created and placed in the file
+.I \&.mailrc
+are now expanded in sent mail so that the recipient can reply
+to members of personal aliases. Systemwide aliases contained in the
+``aliases'' file are applied to
+.I all
+incoming mail; this allows correct functioning when reply is made to
+a mailing list, which was not expanded to its constituents when the
+mail was first sent.
+.BP make
+Now understands about Pascal files, running
+.IR pc
+using the options
+PCFLAGS.
+A number of limitations have been removed to allow very large
+programs to be controlled.
+.BP makewhatis
+.br
+Has been replaced by
+.IR catman (8).
+.BP man
+Now interfaces with a preformatted version of the manual; this allows
+the manual to be presented much more quickly. The preformatted manual
+is maintained automatically; when pages are changed and then requested
+they are reformatted. The
+.IR catman (8)
+command can be used to reformat all manual pages whose preformatted
+sections are out of date.
+.BP mkfs
+Is now in section 8.
+.BP mknod
+Is now in section 8.
+.BP more
+Has been improved, providing more commands and has also been changed to be
+more (sic) similar to
+.IR ex (1).
+A new interface
+.I page
+is like
+.I more,
+but clears the screen before presenting each pageful.
+.BP mount
+Is now in section 8.
+.BP msgs
+Now provides options for saving messages in files and responding to messages.
+There is also an option (\fB\-p\fR) to arrange that long messages be piped
+through
+.IR more (1).
+.BP ncheck
+Is now in section 8.
+.BP newaliases
+Rebuilds the random access version of the mail forwarding database.
+After you edit the file
+/usr/lib/aliases which contains
+the forwarding information, you must run
+.B newaliases.
+.BP nm
+No longer prints symbols destined for
+.IR sdb (1)
+by default. Instead, when the
+.B \-a
+option is given, they are printed symbolically
+(rather than in octal as before.)
+.BP pc
+Is a new Pascal compiler, which allows separate compilation and mixing
+of Pascal code with routines written in C and FORTRAN. It is
+possible to use
+.IR sdb (1)
+with Pascal routines, and all standard language features, including
+procedure and function parameters are implemented.
+.BP pi
+Has had some options changed so that
+they are similar to
+\fIpc\fR\|'s options
+(since the latter is constrained by the demands of compatibility with
+.IR cc (1)
+and
+.IR ld (1)).
+.BP pr
+Now has an option \fB\-f\fR to use form-feeds in the output rather
+than multiple blank lines to eject pages.
+This can be used for greater top-of-form alignment reliability on
+unreliable printers or to reduce bulk of the output.
+.BP prof
+Now suppresses routines which were never called and which accumulated no
+time. An option to sort the output by number of calls has been provided.
+.I Prof
+can also combine the statistics from a number of saved monitor data
+files in a single output report, producing a new summary data file.
+.BP ps
+The formats for
+.B ps
+have been improved to include more information about job state in all
+output formats, and cpu and memory consumption by jobs
+(in the \fBu\fR and \fBv\fR output formats.)
+.BP pwd
+Is superseded for
+.IR csh (1)
+users by
+.I dirs,
+which is built-in and significantly faster.
+.BP ranlib
+Is used to create loader table-of-contents for loader archives.
+The loader insists that such table-of-contents exist or it complains,
+as loading is very slow without these indices.
+.BP renice
+Is now in section 8.
+.BP restor
+Is now in section 8.
+.BP sdb
+Now knows about Pascal as well as C and FORTRAN 77.
+.BP spice
+Is no longer part of this distribution, and must be obtained separately.
+.BP stty
+Now has options to control the features of the new tty driver,
+summarized in
+.IR newtty (4)
+and fully described in
+.IR tty (4).
+In particular, it is often desirable, when using the new driver with
+.IR csh (1)
+to place the command
+``stty crt'' in the
+.I \&.login
+file to cause control characters to echo legibly and intelligent
+erasing of characters from the screen to take place except at very
+low speed.
+.BP style
+Is a new command, which analzes the style in which a paper is written.
+.BP sync
+Is now in section 8.
+.BP tail
+Now has a
+.B \-f
+option which follows a file as it grows, replacing
+.B tra,
+and a
+.B \-r
+option, which prints out the last part of a file backwards, line by line.
+.BP tar
+Now normally saves and (optionally) restores modes of directories.
+It also uses the raw tape drive by default, so the file option
+is not normally needed.
+.BP tp
+Has been fixed to work with the tape drive as it should.
+.BP tra
+Has been deleted; use ``tail \-f'' instead.
+.BP tset
+Has a more general scheme for mapping non-hardwired terminals to types.
+The command used in startup files to set the terminal type can now be
+simpler; see
+.IR tset (1)
+for details.
+.BP ul
+Subsumes the old ``iul'' command as the option \fB\-i\fR.
+.BP units
+Currency tables have been updated.
+.BP uuencode
+Along with
+.I uudecode
+provide the ability to mail binary files through
+.I uucp
+or other mail facilities.
+.BP vmstat
+The format has been changed to include statistics on the rate of system
+calls, context switches and device interrupts. The format also includes
+information about page-cache hits (pages of programs which recently exited
+which were found lying in the free list.) See
+.IR vmstat (8)
+for more details.
+.BP vpac
+Is now in section 8.
+.BP wc
+Now will estimate transmission times over communications networks.
+.BP yes
+A new command, which is excessively obsequious.
+.SH
+.LG
+.ce
+Section 2.
+.SM
+.sp
+.PP
+The important changes to section 2 define the mechanisms needed to
+support the job control facilities of
+.IR csh (2)
+defining new system calls
+.B getpgrp,
+.B killpg,
+.B setpgrp
+and providing a version of the
+.B signal
+system call interface with clean semantics; this is described in
+.IR sigsys (2).
+For a general introduction to the new job control facilities from
+a programming standpoint see
+.IR jobs (3).
+.PP
+The system calls in section 2 have been identified as to origin:
+those in section 2V are peculiar to the VAX Virtual Memory version of
+the system. Some of these (e.g.
+.B vread
+and
+.B vwrite
+which are likely to change soon are so marked.)
+Calls resulting from the job control facilities are in subsection 2J.
+.BP getpgrp
+Is a new system call, which returns the process group of a specified process.
+.BP ioctl
+There is a new
+.I ioctl
+call FIONREAD which returns the number of characters immediately
+available from any readable file descriptor, most usefully terminals.
+.BP killpg
+Kills all processes in a process group
+.BP reboot
+Is used to halt the processor or initiate automatic reboots.
+.BP setpgrp
+Changes the process group of a specified process.
+.BP sigsys
+There are more signals, needed by the new job control and limit facilities.
+This is the new signal interface, which can be setup to handle signals
+reliably, blocking them off when they occur so that they can't happen
+again before they can be reset and also allowing them to be blocked,
+but not lost if they occur (protecting critical sections.)
+.BP vadvise
+Allows processes with very abnormal paging behavior to advise the system
+so that it can have a better chance of dealing with their virtual
+memory needs.
+.BP vhangup
+Is used to simulate hangups on hard-wired ports and to prevent other
+users processes from scribbling on a terminal after they log off.
+.BP vlimit
+Is used to provide the resource limiting
+.I limit
+facility of
+.IR csh (1)
+which allows the amount of CPU time or memory used by any process to be
+controlled, as well as the maximum size of a file created, maximum
+size of a core file created, etc.
+.BP vswapon
+Is used to inform the system that it should use the interleaved portions
+of the paging area, since at boot it normally uses only that portion
+of the paging area adjacent to the root file system.
+.BP vtimes
+Provides additional virtual memory information as well as the
+traditional information provided by
+.B times.
+.BP wait3
+Provides options which allow return of
+.B vtimes
+like information about the virtual memory utilization of terminated
+processes as well as allowing one to determine if any children have
+changed state without blocking if none have.
+.SH
+.LG
+.ce
+Section 3
+.SM
+.sp
+.PP
+The major change to the standardly available library routines is in the
+standard i/o library handling of the standard output. The standard output
+is now line buffered by default when it is directed to a terminal.
+In order that old programs which do terminal i/o continue
+to work (in almost every case) without change, the standard i/o library
+flushes a partial line in the standard output buffer whenever a read
+is made from the standard input.
+.BP curses
+Is a new library of routines to do terminal independent cursor motions.
+This is a higher level set of routines based on the low level
+.IR termcap (3).
+.BP dbm
+Has been changed to use 1024 byte blocks internally. If you have old data
+files and recompile a program which uses
+.B dbm
+on them, you must recreate the files in the new format.
+.BP getfsent
+Is a new package of routines for locating entries in the file system
+information file,
+.B /etc/fstab.
+.BP jobs
+Is a descriptive page on use of the new job control facilities.
+.BP malloc
+Hasn't been changed yet (unfortunately), but we have discovered that
+it has extremely poor behavior if used to allocate a large number
+of blocks in a large virtual address space, as it tends to
+page fault on a large number of pages whenever you allocate more
+storage when the free list is nearly empty. Very large applications
+should write their own free storage management routines based on
+.IR sbrk (2)
+until a new version of
+.B malloc
+is ready.
+.BP nlist
+The namelist has been changed to embed a string table.
+The definition of the namelist in
+.B <a.out.h>
+now includes a \fBunion\fR construction which the C compiler will not
+let you initialize. Thus if you wish to use
+.B nlist
+you should use
+.B <nlist.h>
+instead of
+.B <a.out.h>
+as it doesn't include a \fBunion\fR construction and initializations of
+\fBstruct nlist\fR objects are thus possible.
+.BP rand
+Generates different sequences,
+due to a bug fix in the C optimizer (i.e. the old routine was
+flaked out due to the bug.)
+.BP regex
+Is a new library routine which allows compilation and execution of
+.BR ed -like
+regular expressions.
+.BP stdio
+Has been changed to have line buffered standard output to terminals by
+default (as described above).
+.BP sigset
+Is the user-level interface to the new signal facilities, providing
+reliable and convenient handling of signals.
+.BP string
+The routines \fBstrcatn\fR \fBstrcpyn\fR and \fBstrcmpn\fR are now
+decreed to be spelled \fBstrncat\fR, \fBstrncpy\fR and \fBstrncmp\fR
+in the official version (to be compatible, e.g., with PDP-11 UNIX),
+but both versions still exist (temporarily).
+.BP termcap
+Is the new name for the previously misnamed \fBtermlib\fR library.
+.SH
+.LG
+.ce
+Section 4
+.SM
+.sp
+.PP
+The system now supports additional i/o disciplines and devices:
+.BP bk
+A ``line discipline'' which allows efficient, high-speed, input
+for uploading of programs and networking over asynchronous
+communications lines.
+.BP dh
+Abel DMAX-11 dh emulators.
+.BP hp
+Includes RM-05 support (including the SI MASSBUS disks).
+.BP lp
+A driver for a standard lineprinter interface.
+.BP rv
+Racal/vadic call units (via user-software simulation of a dn-11).
+.BP tm
+Support for UNIBUS TM/11 tape drives (e.g. Kennedy transport
+on a Emulex controller.)
+.BP tty
+Includes a new tty driver which is standard for users of
+.IR csh (1)
+providing additional functionality.
+.BP up
+A driver for a EMULEX SC-11 or SC-21 UNIBUS disk controller
+with storage module (e.g. Ampex 9300) disk drives.
+.BP va
+A varian raster plotter.
+.SH
+.LG
+.ce
+Section 5
+.SM
+.sp
+.PP
+The changes impacting most users are the new archive and object file
+formats. The new object file format requires recompilation of all
+\fB\&.o\fR files, as the new format includes a string table for names
+while the old table had only fixed space for 8 character names.
+The new archive format is portable, and can be easily converted to
+using
+.IR arcv (8).
+.BP a.out
+Now includes a string table. New macros are provided for dealing
+with executable files, and the names of the headers and the include
+files have been changed. You should read this section if you have
+programs which work with the bits in these files.
+.BP acct
+The system now maintains all the information fields in this file.
+.BP aliases
+This file gives forwarding information for mail.
+The
+.B delivermail
+utility, which is invoked by the mail handlers, uses this information
+to forward mail and to implement distribution groups. The program
+.B newaliases
+must be run whenever this file is edited, since the
+.B delivermail
+program actually uses a binary version of this file.
+.BP ar
+Now uses a portable format. Old formats may be converted using
+.IR arcv (8),
+although converting old loader archives is pointless, since the \fB.o\fR
+files must be regenerated anyways.
+.BP core
+The maximum size of a core file can now be limited with
+.I limit
+of
+.IR csh (1)
+or by calling the system call
+.B vlimit.
+.BP environ
+Has acquired a USER variable with the login name of the user.
+.BP fstab
+Is a new data structure, kept in the file
+.B /etc/fstab;
+it greatly simplifies the system startup script
+.B /etc/rc,
+the interface of the dump program, and is a central
+figure in the automatic reboot procedure. It is possible
+to reconfigure the disk drives simply by changing this data base.
+No file system dependent commands need appear in
+.B /etc/rc.
+.BP stab
+Describes the symbol table entries for the symbolic debugger which
+appear in \fBa.out\fR files.
+.BP termcap
+Has been changed to describe even more terminals and functions.
+.BP ttytype
+The standard naming for terminals in this file is now to give long names;
+thus dialups should be described as ``dialup'', not as ``sd'' like before.
+.BP vfont
+There are now rotated versions of all the fonts for use on output devices
+which run 11 by 8.5 inch (sideways) paper. The Hershey fonts have been
+extensively edited to fix problems and fill in missing and mangled characters.
+.SH
+.LG
+.ce
+Section 6
+.SM
+.sp
+.PP
+There are a number of new games, including the popular ZORK game
+as well as more mindless and more popular games, such as \fBsnake\fR,
+and human-humiliating games such as \fBboggle\fR.
+.BP aardvark
+Is one of several dungeon-exploration games.
+.BP boggle
+Is an implementation of the Parker-Brothers game, in which you
+and the computer look for words and you are humiliated by the computer.
+.BP chess
+Is the PDP-11 chess program running in compatibility mode.
+.BP cribbage
+Is a respectably good cribbage player.
+.BP fish
+Plays \*(lqGo Fish\*(rq.
+.BP fortune
+Has been refreshed with new and interesting quotations
+and fancy-pants options.
+.BP mille
+Is an implementation of the French card game, Mille-Bourne.
+.BP monop
+Is the game of monopoly.
+.BP mpu
+Is another exploration game.
+.BP snake
+Is a mindless game in which the computer chases you around the screen and,
+usually, ends up eating you.
+.BP zork
+Is the classic successor to adventure for die-hard explorers.
+.br
+.ne 10
+.SH
+.LG
+.ce
+Section 7
+.SM
+.sp
+.BP hier
+Has been updated to reflect changes in this distribution.
+.SH
+.LG
+.ce
+Section 8
+.SM
+.NL
+.sp
+.PP
+There is a major organizational change in section 8: the maintenance
+commands have been moved here from what was section 1m (which no longer
+exists) and have also (almost all) been moved into the directory
+.B /etc.
+.PP
+The procedures for system reboot have been substantially changed. The system
+now has provisions for automatic reboot and file system repair after a crash.
+The system has been changed so that the disks are kept more consistent,
+so that the repair program can easily tell whether the inconsistencies
+it finds are simple and reasonable to fix. If it finds unexpected
+inconsistencies, then the automatic reboot will fail and the new
+.I fsck
+interactive repair program can be run.
+.BP adduser
+There is now a shell procedure
+.B vipw
+which locks the password file for editing, so that you can't get messed
+up by people changing their password while you are adding users.
+.BP arcv
+Converts to the new archive format (as discussed previously.)
+.BP bproc
+Is defunct; see
+.B reboot
+which replaces it.
+.BP catman
+Is a new command, which creates the preformatted version of the on-line
+manual from the nroff source for the manual pages.
+It also creates the data base for
+.IR whatis (1)
+.B /usr/lib/whatis,
+replacing
+.B makewhatis.
+.BP crash
+At the point of a system crash, the system now will automatically
+reboot itself if the auto-reboot switch on the machine is set, print
+the registers and the top few locations of the stack, and
+will then normally ``preen'' the file systems and come up multiple user again.
+The system does not (yet) automatically dump core to disk when a crash
+occurs, so the procedures described in
+.B crash
+are still used to take a crash dump; in order to get one, you have
+to be running with auto-reboot disabled when the crash occurs.
+Note that you must now use \fBdd\fR to copy crash tapes, as the
+tapes are blocked ``bs=20b''.
+.BP cron
+Now runs the executed commands as
+.B root;
+before it ran them as
+.B daemon
+which kept a number of reasonable
+.B crontab
+entries from working properly.
+.BP dcheck
+Is obsoleted, in all normal usage, by
+.IR fsck (8).
+.BP delivermail
+.br
+Is a new daemon which acts as a postman and routes mail destined
+for foreign networks. It also interprets distribution, forwarding
+and alias lists from the file
+.B /usr/lib/aliases,
+which replaces the function only partially performed previously in
+.B /usr/lib/Mail.rc.
+.BP dump
+The dump program now is much more robust. It restarts after bad tapes
+are encountered, and will keep a selected group of operators informed
+about what it is doing. A
+.B dumpdates
+file which is kept in ASCII replaces the old binary format
+.B ddates
+file, making it easy to edit.
+.B Dump
+uses the new
+.B fstab
+file system table which records the desired frequency of dumps, and a
+new option \fBw\fR will tell the operators what needs to be dumped.
+.BP flcopy
+Has a new option \fB\-h\fR to start halfway through, writing a disk
+from an existing
+.B floppy
+file without reading the disk.
+.BP fsck
+Is a new, intelligent, interactive file system check program.
+It is normally run automatically at reboot with the option \fB\-p\fR
+to preen all the file systems and fix normal minor incomplete operations.
+If any unexpected problems arise, the automatic reboot will fail and
+.B fsck
+should be run manually. There is a document explaining the use of
+.B fsck
+and all the errors which can occur in standard UNIX systems. Most
+errors are prohibited from happening in this version of the system
+unless there is hardware or software failure;
+.B fsck
+was designed with adversity in mind to deal with these exceptional cases
+and is very easy to use to fix up addled file systems.
+.BP getty
+Is the new name for the old \fBgetty.vm\fR.
+.BP halt
+Halts the processor cleanly when no reboot is desired, regardless
+of the setting of the auto-reboot switch on the machine.
+.BP icheck
+Is largely replaced by
+.B fsck.
+.BP init
+Now understands how to initiate an automatic reboot. When passed appropriate
+information as parameter at boot time, it will immediately run
+.B /etc/rc
+with parameter
+.B autoboot,
+causing it to run a disk check.
+If
+.B /etc/rc
+exits with a non-zero exit status, the reboot we be considered a failure,
+and a single user shell is given to the console as before.
+The form of
+.B /etc/rc
+is such that interrupting the automatic reboot also yields a single-user
+shell on the console.
+.B Init
+has also been fixed so that ``kill 1'' attempting to bring the system
+down single user will not hang irretrievably if some processes refuse
+to die because of hardware or software malfunction. Instead,
+.B init
+gives a single user shell and a warning that something is amiss.
+.BP mkfs
+It is critical that all newly created file systems have
+.B lost+found
+directories as created by...
+.BP mklost+found
+.br
+Which creates empty directories into which
+.B fsck
+places detached files which it reconnects.
+.BP mount
+Now takes an option \fB\-a\fR to mount all normally mounted
+file systems as specified in
+.B /etc/fstab.
+.BP ncheck
+Is obsoleted in normal usage by
+.B fsck.
+.BP old
+Is a front for a number of old commands dealing with old formats
+for \fB.o\fR files and archives. These commands are kept in
+.B /usr/old
+and its subdirectories and can be used to keep your sanity until
+you have time to convert your programs to the new formats.
+.BP reboot
+Describes the new reboot procedures, based largely on the automatic
+reboot facility. Also describes the cold-start and emergency-start
+procedures (which came from the old
+.B bproc
+manual page.)
+.BP sticky
+The system has been changed so that text pages of processes which have exited
+are retained in the free page pool in core (at least for a while), so
+that they will not have to be read from the disk again if they are needed
+quickly. This tends to make heavily used commands behave much as
+.B sticky
+was intended to make them behave on swap based systems.
+.BP swapon
+The system supports paging interleaved across disks and controllers, but
+bootstraps running only on one disk. This command makes the additional
+pieces of the paging area available.
+.BP umount
+Now takes a \fB\-a\fR option, to attempt to unmount all file systems
+mentioned in
+.B fstab.
+.BP vipw
+Is a new script which lock the password file while editing it.
+If the password file is being changed (e.g. by the
+.IR passwd (1)
+command), then
+.B vipw
+complains, and avoid the race condition.
+