.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 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 instead of .B 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.