|
|
| (One intermediate revision by the same user not shown) |
| Line 1: |
Line 1: |
| Naturally this pertains to [[4.1 BSD]]
| | #Redirect [[Bug fixes and changes in 4.1bsd]] |
| | |
| <pre>
| |
| | |
| | |
| | |
| | |
| | |
| | |
| Bug fixes and changes in 4.1bsd
| |
| | |
| May 10, 1981
| |
| | |
| | |
| Bill Joy
| |
| | |
| Computer Systems Research Group
| |
| | |
| | |
| ABSTRACT
| |
| | |
| This document describes briefly the changes
| |
| in the Berkeley system for the VAX between the
| |
| fourth distribution of November 1980 (known origi-
| |
| nally as 4BSD, and hereinafter referred to as
| |
| 4.0bsd) and this, its revision of April 1981. It
| |
| attempts to be summarize, without going into great
| |
| detail, the changes which have been made.
| |
| | |
| | |
| | |
| Notable improvements
| |
| | |
| | |
| + Performance of the system under heavy paging load has
| |
| been substantially improved by correcting a problem
| |
| with placement of pre-paged pages. The system now
| |
| pre-pages more data, greatly benefitting processes
| |
| which have locality in their behavior. System degrada-
| |
| tion due to pre-paging has been reduced (even though
| |
| more pre-paging is done), by placing the pre-paged
| |
| pages as the bottom of the free-list, rather than in
| |
| the systems global clock replacement loop.
| |
| | |
| + Processes which serially reference large amounts of
| |
| virtual memory may now declare themselves to be sequen-
| |
| tial (see vadvise(2)), causing the paging algorithm to
| |
| be adjusted to be more appropriate for such behavior.*
| |
| Processes which are known to need only a small amount
| |
| of memory, but which tend to accumulate large amounts
| |
| of memory due to strange page referencing patterns may
| |
| declare a soft limit on the amount of memory to be
| |
| used, see vlimit(2) or do ``limit memoryuse nk'' in
| |
| csh(1). If the system needs memory, and there are
| |
| processes which are over their declared limits, the
| |
| __________________________
| |
| * Future versions of the system will detect strongly
| |
| sequential behavior and adapt themselves accordingly,
| |
| so this call will no longer be necessary.
| |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 2 -
| |
| | |
| | |
| system tends to take pages from these processes first.
| |
| By saying that these limits are soft, we mean that on a
| |
| system where physical memory is not scarce, processes
| |
| with limits can still acquire as much physical memory
| |
| as they require.
| |
| | |
| + The system is now compiled from a description of the
| |
| local machine which includes information about avail-
| |
| able devices and the maximum number of users to be sup-
| |
| ported on the system. It is no longer necessary to
| |
| adjust an armful of constants to re-size the system;
| |
| normal time-sharing systems are parameterized from a
| |
| single ``maxusers'' constant. The system also adjusts
| |
| the parameters of the paging subsystem based on avail-
| |
| able memory; it is no longer necessary to adjust these
| |
| for machines with very small or very large amounts of
| |
| available memory.
| |
| | |
| + The system now handles multiple uba's and mba's and
| |
| mixing of devices on mba's. A number of new devices
| |
| are supported: RK07's and TS-11's which come in the
| |
| standard 11/750 packages, UNIBUS TM-11 tape emulators
| |
| (e.g. the EMULEX TC-11 with a KENNEDY 9300 transport).
| |
| Line printer and C/A/T phototypesetter drivers are
| |
| included in the system, and modem control for the DH-11
| |
| using the DM-11 has been integrated and tested. The
| |
| new RM-80 Winchester drive from DEC is supported. Not-
| |
| ably unsupported are the 11/750 console casettes. A
| |
| single distribution system boots on all supported
| |
| hardware configurations by determining the available
| |
| devices and selecting a root device at boot time.
| |
| | |
| + The tar program has been changed to allow update of
| |
| magnetic tape archives, adding to the end of the exist-
| |
| ing tape archive. This uses tape control facilities
| |
| newly added in this version of the system, but the
| |
| created tapes are readable on all versions of UNIX.
| |
| Since blocked tapes are inherently more efficient and
| |
| fully functional, tar now creates blocked tapes by
| |
| default.
| |
| | |
| + Shell scripts are now potentially executable. A file
| |
| which begins with the characters ``#!'' followed by
| |
| some amount of white space and the name of an inter-
| |
| preter is executed directly by the system. The stan-
| |
| dard version 7 shell, /bin/sh, has been changed to
| |
| recognize a # as a comment character. It is desirable
| |
| that users change existing shell script so that the
| |
| first line of each shell script begins with ``#!'' and
| |
| the name of the proper shell to execute.
| |
| | |
| + Two new documents have been added to Volume 2c: a
| |
| manual for the crt screen package -lcurses, and a docu-
| |
| ment describing the rogue game.
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 3 -
| |
| | |
| | |
| Major bug fixes
| |
| | |
| | |
| + A number of bugs have been fixed in the FORTRAN com-
| |
| piler F77; these caused some block data routiens and
| |
| main programs to fail to compile. Other bugs related
| |
| to use of the symbolic debugger with FORTRAN have been
| |
| fixed (see f77 in ``Section 1'' below.)
| |
| | |
| + A bug which caused the C compiler to complain ``expres-
| |
| sion too complicated'' when an expression contained an
| |
| embedded structure assignment has been fixed.
| |
| | |
| + A kernel bug which caused approximately 1/8'th of data
| |
| collected during program profiling to be lost has been
| |
| corrected.
| |
| | |
| + A very confusing bug in the tset manual page has been
| |
| corrected: in the example where it uses the setenv com-
| |
| mand it should rather use the set command: ``set
| |
| noglob; eval ...''. The alternate form does not work
| |
| on a number of terminals.
| |
| | |
| + Due to a inconsistency between the 11/780 and the 11/750
| |
| in the interpretation of the movtuc instruction, all
| |
| binaries from the third distribution tape (of January
| |
| 1980) and the fourth distribution tape (of November
| |
| 1980) will NOT run correctly on the 11/750. The 4.1bsd
| |
| distribution tape includes a new version of the standard
| |
| i/o library which avoids use of this troublesome
| |
| instruction, and it is recommended that all programs be
| |
| recompiled from scratch to use this new library to elim-
| |
| inate non-portable UNIX binaries as soon as possible.
| |
| | |
| The problem is that when there appears to be a chance
| |
| that the operands to movtuc will overlap, but they in
| |
| fact do not (because the pattern string to printf is
| |
| terminated by a null), the 11/750 does not execute the
| |
| movtuc as though a shorter string length were specified
| |
| which did not imply potential overlap. Thus this
| |
| instruction which is in the inner loop of printf on the
| |
| 4bsd tape, and which works fine on an 11/780, malfunc-
| |
| tions on an 11/750 causing strange and awful behavior.
| |
| | |
| + (The following change is applicable only to systems
| |
| bootstrapped from the 4.1bsd release tape; systems
| |
| upgraded from 4.0bsd may or may not include this
| |
| change.) The standard i/o library has been made more
| |
| compatible with the PDP-11 version 7 system and now sup-
| |
| ports concurrent read and write access to files (see
| |
| fopen(3s) for details). This caused a change in an
| |
| internal data structure which is visible to compiled
| |
| programs through the macros in , and thus
| |
| necessitates discarding of old .o files and
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 4 -
| |
| | |
| | |
| recompilation. Note that this standard i/o library now
| |
| replaces the old -lNS library which was in 3bsd but was
| |
| deleted from 4bsd pending the inclusion of read-write
| |
| capability in stdio.
| |
| | |
| Section 1
| |
| | |
| | |
| | |
| adb A bug which prevented programs loaded with the -N
| |
| loader option from having breakpoints set on them
| |
| has been fixed. A bug which prevented backtraces
| |
| of programs which are stopped at interrupt level
| |
| (after a signal) has been fixed by teaching adb
| |
| how to step across the interrupt stack frame.
| |
| The system now makes available and the $? command
| |
| in adb interprets more precise codes when SIGILL
| |
| and SIGFPE exceptions occur. Thus if you divide
| |
| by zero, you can find out that this was what
| |
| caused a floating point exception. A bug which
| |
| prevented format repetition counts (e.g. the 10
| |
| in ``0/10X'') from working has been fixed. A bug
| |
| related to adb has been fixed that prevented any
| |
| sensible traceback after a FORTRAN-77 runtime
| |
| error which trapped an exception or fault (e.g. a
| |
| floating point divide by 0). A bug which caused
| |
| the maps to be set improperly when debugging the
| |
| kernel on a crash dump has been fixed.
| |
| | |
| New commands have been added to adb to facilitate
| |
| writing adb procedures stored in files: see the
| |
| descriptions of $<<, the register <9, and the #
| |
| operator in the revised adb manual page.
| |
| | |
| awk Has moved from /usr/bin to /bin because it is
| |
| needed during bootstrap procedures.
| |
| | |
| bc Now takes the new C syntax operators: ``=op'' as
| |
| well as (for history's sake) the old syntax
| |
| ``op=''.
| |
| | |
| calendar Several bugs have been fixed in the internals of
| |
| the calendar program. In addition it is now pos-
| |
| sible to have a calendar entry consisting of
| |
| merely a date (with no month specified) and have
| |
| this entry occur each month.
| |
| | |
| cc A bug has been fixed in the C optimizer which
| |
| caused strange things to happen when long vari-
| |
| able names were used. The size of the internal
| |
| ``dimension'' table has been increased to allow
| |
| more structure fields to be declared. A problem
| |
| which caused the compiler to print ``expression
| |
| causes compiler loop'' when structure assignment
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 5 -
| |
| | |
| | |
| was embedded in an expression context has been
| |
| fixed. A bug in the code generator tables which
| |
| affected certain FORTRAN constructs has also been
| |
| fixed.
| |
| | |
| checknr Es versteht -mm.
| |
| | |
| csh A cosmetic bug which prevented the distributed
| |
| source from compiling has been fixed. A bug
| |
| which caused argument lists including the strings
| |
| ``{'' or ``{}'' to sometimes fail saying ``No
| |
| match'' has been fixed. A bug which caused a
| |
| strange state to result when a command of the
| |
| form ``(a; b; c)'' was stopped from the keyboard
| |
| has been fixed. The shell has been fixed so that
| |
| it prefers to make stopped jobs the new current
| |
| jobs after the current job has terminated. The
| |
| construct ``${TERM}'' no longer yields an extra
| |
| ``}'' when the variable expanded is from the
| |
| environment.
| |
| | |
| Previously undocumented was the shell variable
| |
| histchars; it can be set to two characters, and
| |
| the first is then a replacement for the normal !
| |
| history character and the second for the ^ quick
| |
| history substitution character. Thus after ``set
| |
| histchars=,;'' the command ``,,'' repeats the
| |
| previous command, as ``!!'' would normally have
| |
| done.
| |
| | |
| ctags Now takes an option -v to produce output suitable
| |
| for input to vgrind(1).
| |
| | |
| cu Now honors uucp's locking protocol for the
| |
| dialout lines. Several bugs relating to internal
| |
| buffer overruns have been fixed. An option -b
| |
| has been added which causes the BREAK key to gen-
| |
| erate breaks (by turning input null characters
| |
| into breaks sent over the line).
| |
| | |
| delivermail
| |
| Some bugs which caused strange loops when aliases
| |
| were self-referential have been fixed.
| |
| | |
| diff Some bugs related to directory diffs when the -h
| |
| option was used have been fixed; previously the
| |
| -h option was non-functional.
| |
| | |
| dump An obnoxious bug in the dump program where it
| |
| would wrongly suggest that further dump tapes
| |
| were needed after a multi-tape dump had already
| |
| completed has been fixed. The dump program no
| |
| longer attempts to time tape rewinds itself, but
| |
| uses a mechanism which does not depend on the
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 6 -
| |
| | |
| | |
| speed of the tape drive to determine when a
| |
| rewind is complete.
| |
| | |
| error Has been taught about the error message formats
| |
| of the PDP-11 C compiler.
| |
| | |
| expand A internal error check which was incorrect has
| |
| been fixed.
| |
| | |
| f77 Has had a bug fixed which caused some block data
| |
| subroutines and main programs to not compile (the
| |
| sympton was a diagnostic of the form ``Undefined:
| |
| LWM%d''. A number of minor bugs which combined
| |
| to make sdb function poorly with f77 have been
| |
| fixed. The result of these bugs were that if
| |
| file names were longer than 6 characters sdb
| |
| could not read the symbol table of the resulting
| |
| FORTRAN binary.
| |
| | |
| An i/o library bug which caused numbers of the
| |
| form ``-1.2'' to convert improperly in list-
| |
| directed input (reading as ``-0.8'', taking the
| |
| mantissa as positive) has been fixed.
| |
| | |
| ld If you are using the -r flag and there remain
| |
| undefined symbols you no longer get a spurious
| |
| error return. Now respects modes of existing
| |
| files and your file-creation mask more.
| |
| | |
| lisp The functions +, /, -, *, 1+, 1- now expect fix-
| |
| num arguments, for interpreted functons as well
| |
| as compiled ones. The source for the VMS and
| |
| UNIX versions of lisp have been combined and syn-
| |
| chronized. The construction of very large
| |
| integers has been altered to use regular dotted
| |
| pairs in a non-standard way, so that fewer gar-
| |
| bage collections will occur. (It is no longer
| |
| safe to use ``car'' and ``cdr'' to disect large
| |
| integers). Mixed-mode arithmetic has been made
| |
| faster. There is a new compiler option (liszt
| |
| -r) which allows you to create small lisp appli-
| |
| cation programs (with a mechanism other than
| |
| ``dumplisp'', which tends to create very large
| |
| binaries). When the result of such a compilation
| |
| is executed directly, it execs /usr/ucb/lisp and
| |
| then fast loads the file you asked to be exe-
| |
| cuted. A new flag $ldprint has been added to
| |
| control the printing of fasl/load messages. New
| |
| functions (purecopy), (getdata), (putdata), and
| |
| (removeaddress) have been added. A number of
| |
| minor bugs have been fixed.
| |
| | |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 7 -
| |
| | |
| | |
| lpr Has been modified to work on both DECWRITER type
| |
| devices at 1200 baud masquerading as printers and
| |
| also on real line printers. The queueing algo-
| |
| rithm has been made first-come-first-serve
| |
| (replacing the old random job first algorithm),
| |
| and a line printer driver is now available in the
| |
| standard distributed system.
| |
| | |
| ls A bug has been fixed which caused essentially
| |
| random numbers to be printed for the size of spe-
| |
| cial files. The size now prints as 0.
| |
| | |
| make A spelling error has been fixed which had the
| |
| variable EC initialized to f77 rather than
| |
| FC=f77.
| |
| | |
| man A bug which caused it to core dump when reformat-
| |
| ting a manual page whose source macros were inac-
| |
| cessible has been fixed.
| |
| | |
| mt Is a new command which provides easy access to
| |
| operations such as forward and backward spacing
| |
| of files and records on magnetic tape.
| |
| | |
| mv Has been changed to have a option ``-'' which
| |
| means that all the following arguments are file
| |
| names. A bug has been fixed which caused strange
| |
| behaviour when the -i option was used on direc-
| |
| tories. A bug which prevented renaming of sub-
| |
| directories to which you had no write access has
| |
| been fixed.
| |
| | |
| oldcsh Which was non-functional due to a change in a
| |
| internal library interface which it had taken
| |
| advantage of has been fixed to work.
| |
| | |
| od New options O, X, and D print 32 bit integers in
| |
| octal hex and decimal format; an option w has
| |
| been added to cause 132 column output rather than
| |
| the default 80 column oriented output.
| |
| | |
| pc/pi A number of bugs in the sdb symbol table produced
| |
| have been fixed. Structured types may now exceed
| |
| 65k bytes in size, but in that case may not be
| |
| passed by value nor assigned by simple assign-
| |
| ment. Structured types are properly returned
| |
| from recursive functions. Minor bugs in passing
| |
| function parameters have been fixed, and there
| |
| still exist some more minor bugs here. Runtime
| |
| tests can be now be enabled or disabled on a per
| |
| routine basis. Runtime checks are now done prop-
| |
| erly on builtin functions. Warnings (or stan-
| |
| dards violations) are now produced for extensions
| |
| to the language. Some inconsistencies in dealing
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 8 -
| |
| | |
| | |
| with running out of memory have been fixed.
| |
| | |
| Some bugs are known: invoking a formal routine
| |
| from inside a formal invocation of the same rou-
| |
| tine will mess up. In pc only: linking
| |
| seperately compiled modules from other than the
| |
| current directory only works if you give full
| |
| path names (or the same relative paths) for the
| |
| compilation and the linking.
| |
| | |
| Some changes are planned soon: for-loop variables
| |
| and with pointers will be allocated to registers.
| |
| The formal routine syntax is currently as in Jen-
| |
| sen and Wirth, but will soon be changed to the
| |
| the syntax of the proposed standards, in which
| |
| parameters to formals must be given. It is
| |
| planned that pc will soon do compile time con-
| |
| stant folding.
| |
| | |
| pmerge Is a new program which can convert large Pascal
| |
| programs back into a single file, eliminating the
| |
| header files and separate source files normally
| |
| used for separate compilation.
| |
| | |
| prof A bug which caused prof to loop when a file-
| |
| static function was profiled has been fixed. A
| |
| bug in the kernel which caused the results of
| |
| prof to be inaccurate has also been fixed.
| |
| | |
| ps Has been changed to work with the new kernel and
| |
| is no longer dependent on system sizing; thus it
| |
| is no longer necessary to recompile ps when the
| |
| system tables are made larger. A bug in the s
| |
| option which caused the computed stack size to be
| |
| a constant 512 bytes too large has been fixed.
| |
| The ``STAT'' field now shows ``>'' in the second
| |
| position for programs which are using more memory
| |
| than their memoryuse limit (see vlimit(2)). It
| |
| also shows ``S'' in the fourth position for
| |
| processes which have declared themselves to be
| |
| strongly sequential (see vadvise(2)). Under the
| |
| v option, the SWRSS field has been replaced by a
| |
| new field ``LIM'' which shows the limit on memor-
| |
| yuse if there is a limit, or xx if there is not.
| |
| | |
| px Is now written in C, is much more portable, and
| |
| shares the runtime library used by the compiler.
| |
| It is, unfortunately, somewhat slower now.
| |
| | |
| ranlib No longer considers it a fatal error that an
| |
| archive member defines no symbols.
| |
| | |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 9 -
| |
| | |
| | |
| reset Has been changed to invoke the command
| |
| | |
| tset -Q -I
| |
| | |
| so that all terminal modes will be reset.
| |
| | |
| rm Now has a - option to indicate that all the fol-
| |
| lowing parameters are to be treated as file
| |
| names. It can be used when file names begin with
| |
| ``-''.
| |
| | |
| rmdir Now works correctly when arguments end in one or
| |
| more ``/'' characters.
| |
| | |
| sdb Has been fixed to be able to deal with
| |
| ``interrupt-stack-frames'', so that it is possi-
| |
| ble to set breakpoints on and get backtraces from
| |
| routines called while a signal is being pro-
| |
| cessed. Now handles binaries which are mode 0407
| |
| (resulting from ``ld -N'') properly.
| |
| | |
| sh Has been changed so that ``#'' begins a comment.
| |
| Shell scripts to be executed by /bin/sh should
| |
| begin ``#! /bin/sh'' on the first line.
| |
| | |
| tar Now defaults to blocked tape and can update
| |
| blocked tapes (finally!). When reading tape tar
| |
| defaults to the raw tape and figures out what is
| |
| going on with blocksize so it need not be speci-
| |
| fied. Thus the only commands which should be
| |
| needed are the simple ``tar t'', ``tar c'', ``tar
| |
| u'' and ``tar x''.
| |
| | |
| uusend Now uses the -r option of uux to prevent present-
| |
| ing extreme load to the connected system.
| |
| | |
| vmstat Has been changed so that the system's device
| |
| names are printed for the disks rather than D0,
| |
| D1, D2, D3. The old format output of the -i
| |
| option is no longer available.
| |
| | |
| The fields related to paging activity are now all
| |
| given in pages (of 1024 bytes). In particular,
| |
| the fields ``pi'' and ``po'' which previously
| |
| showed the number of pagein and pageout events
| |
| now show pages, and ``sr'' which previously gave
| |
| the clock scan rate in revolutions-per-minute now
| |
| gives the scan rate in pages scanned per second.
| |
| To provide the extra space needed to present this
| |
| information, the swap in/out information, which
| |
| was only marginally interesting, is no longer
| |
| printed.
| |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 10 -
| |
| | |
| | |
| w Has been modified so that it no longer needs to
| |
| be recompiled when the kernel tables change in
| |
| size.
| |
| | |
| wall Now checks that the message is not too long for
| |
| its internal buffer, rather than just overrunning
| |
| the buffer. It handles running out of processes
| |
| by pausing, so it is possible to use it when
| |
| there are more than 25 users logged in and you
| |
| are not the super-user. It also gives the
| |
| machine name you are on in the broadcast mes-
| |
| sages.
| |
| | |
| who ``Who am I'' now prints your machine and login
| |
| name (the first word of its output) in a format
| |
| suitable for use with uucp.
| |
| | |
| write Now checks that you do not have write permission
| |
| disabled and doesn't let you write to someone if
| |
| they can't write back.
| |
| | |
| Section 2.
| |
| | |
| | |
| intro Now correctly reflects that argument lists may be
| |
| upto 10240 characters long.
| |
| | |
| exec Has been changed so that if a file being executed
| |
| begins with the magic characters #!, the rest of
| |
| the line is understood to be the name of an
| |
| interpreter for the executed file. Previously
| |
| (and in fact still) the shell did much of this
| |
| job; it automatically executed itself on a text
| |
| file with executable mode when the text file's
| |
| name was typed as a command. Putting the facil-
| |
| ity into the system gives the following benefits.
| |
| | |
| 1) It makes shell scripts more like real exe-
| |
| cutable files, because they can be the sub-
| |
| ject of 'exec.'
| |
| | |
| 2) If you do a 'ps' while such a command is
| |
| running, its real name appears instead of
| |
| 'sh'. Likewise, accounting is done on the
| |
| basis of the real name.
| |
| | |
| 3) Shell scripts can be set-user-ID.
| |
| | |
| 4) It is simpler to have alternate shells
| |
| available; e.g. if you like the Berkeley csh
| |
| there is no question about which shell is to
| |
| interpret a file.
| |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 11 -
| |
| | |
| | |
| 5) It will allow other interpreters to fit in
| |
| more smoothly.
| |
| | |
| To take advantage of this wonderful opportunity,
| |
| put
| |
| | |
| #! /bin/sh
| |
| | |
| | |
| at the left margin of the first line of your
| |
| shell scripts. Blanks after ! are OK. Use a
| |
| complete pathname (no search is done). At the
| |
| moment the whole line is restricted to 32 charac-
| |
| ters. A single argument may be specified for the
| |
| interpreter, thus:
| |
| | |
| #! /bin/csh -f
| |
| | |
| | |
| is very useful, avoiding reading .cshrc which is
| |
| often not wanted.
| |
| | |
| kill Has been changed so that when broadcasting sig-
| |
| nals universally the signal being broadcast is
| |
| not sent to the broadcaster. This is used by the
| |
| halt(8), shutdown(8), and reboot(8) commands.
| |
| | |
| reboot Has been changed to reflect the now more limited
| |
| number of option flags available to the system
| |
| call due to the nature of the console interface
| |
| on the VAX 11/750.
| |
| | |
| sigsys Reflects the fact that the system now passes in
| |
| to a signal handler an indication of what excep-
| |
| tion really happened when a SIGFPE or SIGILL is
| |
| generated. The call interface at the point of a
| |
| signal handler call is now specified.
| |
| | |
| | |
| Section 3
| |
| | |
| | |
| | |
| curses A large number of bug fixes have been incor-
| |
| porated, and the documentation has been greatly
| |
| improved. The library is now much more solid
| |
| than that originally distributed.
| |
| | |
| fopen Reflects the new open options which allow simul-
| |
| taneous read-write to files; these extensions are
| |
| being incorporated to bring compatibility with
| |
| the standard version 7 PDP-11 UNIX and to replace
| |
| the (now defunct) -lNS.
| |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 12 -
| |
| | |
| | |
| printf A bug in the documentation which incorrectly
| |
| stated that a %c format would not put out a null
| |
| character has been fixed.
| |
| | |
| Section 4
| |
| | |
| | |
| The system now supports a number of new devices and has
| |
| capability for detecting the device's presence and interrupt
| |
| vectors at boot time. The system also has capability to do
| |
| device location at boot time so that a system description as
| |
| supplied to config(8) can take advantage of available
| |
| hardware redundancy.
| |
| | |
| Each configurable device driver in this section now
| |
| includes a SYNOPSIS giving sample lines to be included in a
| |
| system configuration. Drivers also indicate the error mes-
| |
| sages which they produce and describe each error.
| |
| | |
| | |
| ct A driver for a C/A/T phototypesetter interface.
| |
| | |
| dh Now includes handling of dm-11 modem control
| |
| hardware. Optional flags to the configuration
| |
| program can also be given to supply hardware car-
| |
| rier easily for lines where wiring is inadequate.
| |
| | |
| hp Includes rm80 support.
| |
| | |
| lp Drives standard line printers, and has been
| |
| improved to cut the interrupt load by a factor of
| |
| 20.
| |
| | |
| mt Describes the standard tape drive interface,
| |
| which now includes ioctl operations for raw
| |
| magtape allowing such standard operations as for-
| |
| ward and backward spacing over files and records,
| |
| writing of end-of-file marks, rewinds, rewinding
| |
| and offlining, and sensing of tape status. These
| |
| operations are used by the mt(1) program which
| |
| can be used to easily manipulate tape files, and
| |
| by the tar(1) program to allow updates to blocked
| |
| tapes.
| |
| | |
| tm Supports the UNIBUS TM/11 emulating tape con-
| |
| trollers (e.g. EMULEX TC-11 with a KENNEDY 9300
| |
| drive).
| |
| | |
| ts Supports the UNIBUS TS/11 tape drive and tran-
| |
| sport.
| |
| | |
| tty Now provides a LDECCTLQ option which causes ^S
| |
| and ^Q to function as necessary for the VT100 to
| |
| work properly.
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 13 -
| |
| | |
| | |
| up A driver for a EMULEX SC-11 or SC-21 UNIBUS disk
| |
| controller with storage module (e.g. Ampex 9300)
| |
| disk drives.
| |
| | |
| va A varian raster plotter.
| |
| | |
| Section 5
| |
| | |
| No changes.
| |
| | |
| Section 6
| |
| | |
| | |
| | |
| chase Is a game where robots try to eat you.
| |
| | |
| hangman Is now screen oriented.
| |
| | |
| rain Drops keep falling on my head.
| |
| | |
| rogue Is a new and very popular screen-oriented game,
| |
| see rogue(6) or ``A Guide to the Dungeons of
| |
| Doom.''
| |
| | |
| worm Is a game where you see how long you can get the
| |
| worm to grow.
| |
| | |
| worms Is an amusement where the worms chase each other
| |
| around the screen.
| |
| | |
| Section 7
| |
| | |
| No changes.
| |
| | |
| Section 8
| |
| | |
| Major changes affecting system operations include:
| |
| | |
| * The system is configured from a single per-cpu specifi-
| |
| cation file which includes all locally relevant infor-
| |
| mation: desired devices, size of the maximum user load,
| |
| timezone information, etc. The system determines at
| |
| boot time the size of the file system buffer cache
| |
| based on the amount of physical memory available and
| |
| sizes the system data structures based on the specifi-
| |
| cation of the maximum number of active users; it is no
| |
| longer necessary to juggle an armful of constants to
| |
| enlarge the system. The sizes of system tables are no
| |
| longer compiled into programs such as ps and w.
| |
| | |
| * System error log information is saved across system
| |
| crashes provided no power failure occurs, as the error
| |
| log is kept in-core in the last 1024 bytes of memory.
| |
| Error messages to the console are in a standard format,
| |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 14 -
| |
| | |
| | |
| of the form:
| |
| device: message
| |
| | |
| Messages have error registers decoded as bits, so that
| |
| they are readable, and no-longer refer to devices by
| |
| their major/minor device numbers, rather using device
| |
| names. Error messages about file system problems (dev-
| |
| ice full, out of inodes, etc) are referred to with the
| |
| mounted file system name, and a message is sent
| |
| directly to a user if his/her process writes to a file
| |
| system when it is full. All error diagnostics printed
| |
| by drivers are documented in section 4 of the manual.
| |
| | |
| * DEC standard bad block forwarding is supported on all
| |
| DEC disks except the RP06; the code which implements
| |
| this can be easily moved into the drivers for the
| |
| UNIBUS storage module disks; this is planned.
| |
| | |
| * Core dumps are saved after system crashes automatically
| |
| as the system writes a core image to a portion of the
| |
| swap area from which it is recovered after reboot. The
| |
| system then transfers these core images to a specified
| |
| UNIX directory, saving also the version of the system
| |
| associated with the crash. The system also maintains
| |
| an error log /usr/adm/shutdownlog which records all
| |
| system crashes and reboots with the information about
| |
| the causes.
| |
| | |
| | |
| | |
| analyze Now has an option -u to print page numbers of the
| |
| u. areas. A bug which prevented the distributed
| |
| analyze from working has been fixed.
| |
| | |
| bad144 Is a new program which prints out the DEC-
| |
| standard bad block information for a disk, or
| |
| puts it back if it gets clobbered. The name of
| |
| the program comes from the fact that the program
| |
| deals with ``DEC standard 144'' format.
| |
| | |
| badsect Creates a file in a file system which contains a
| |
| specified disk sector of that file system. This
| |
| is a primitive way of dealing with bad sectors,
| |
| but works on drivers which don't (yet) have bad
| |
| block forwarding according to the standard.
| |
| | |
| getty No longer prints ``Virtual'' in front of the sys-
| |
| tem identification, since there are no swap sys-
| |
| tems in sight anymore.
| |
| | |
| halt Now properly shuts down the system; see reboot
| |
| below for details.
| |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 15 -
| |
| | |
| | |
| icheck Now properly sets the tfree field in the super-
| |
| block.
| |
| | |
| init Now interacts with halt, reboot and shutdown to
| |
| bring about orderly system shutdowns. No longer
| |
| writes entries in the /usr/adm/wtmp accounting
| |
| file when a getty process dies without a user
| |
| logging in on a terminal. Prints a warning mes-
| |
| sage (on the console) if a terminal exists, is
| |
| enabled, but the open returns an error, and waits
| |
| for terminal to be openable, checking each
| |
| minute, to prevent thrashing in this case.
| |
| | |
| last Now distinguishes between system shutdowns and
| |
| system crashes.
| |
| | |
| lastcomm A bug causing a core dump if user id's not
| |
| present in the password file were encountered has
| |
| been fixed.
| |
| | |
| login Now interacts with the shutdown command to forbid
| |
| logins (except by the super-user) in the last 5
| |
| minutes before a shutdown (detected by the pres-
| |
| ence of the file /etc/nologin, which also con-
| |
| tains a message about why the system is shutting
| |
| down which is presented to the rejected users.)
| |
| Implements a notion of ``secure terminals''; if
| |
| the file /etc/securetty exists, then it should
| |
| contain a list of the secure terminals where root
| |
| is allowed to login. If this file does not
| |
| exist, then root can log in anywhere, as before.
| |
| If a user tries to login but can't get to their
| |
| home directory they are left in the root direc-
| |
| tory and warned, so that they have some chance to
| |
| send mail about or fix the problem themselves.
| |
| If a file .hushlogin exists in a users home
| |
| directory the the message of the day and other
| |
| such information designed for human users will
| |
| not be printed at login time. This is specifi-
| |
| cally designed for the user uucp which is another
| |
| computer and just ignores such stuff anyways.
| |
| Finally a bug has been fixed which cause login to
| |
| core dump if there were tabs in the file
| |
| /etc/ttytype.
| |
| | |
| mkfs Now works properly when given a proto argument;
| |
| previously it complained because it didn't know
| |
| that the format of the file /usr/mdec/uboot had
| |
| been changed.
| |
| | |
| pstat Has new flags -m and -g which interpret the mul-
| |
| tiplexor data structures.
| |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| | |
| | |
| | |
| | |
| | |
| - 16 -
| |
| | |
| | |
| reboot Now shuts the system down cleanly, stopping all
| |
| system activity before initiating the reboot pro-
| |
| cedure. Normally, however, the new shutdown com-
| |
| mand is used to take the system down, notifying
| |
| the users of the impending downtime. The options
| |
| -s and -a options to reboot are no longer avail-
| |
| able, as it will not be possible to provide them
| |
| on all VAX cpu's due to the way the console
| |
| interface works. Instead, you can halt the pro-
| |
| cessor using halt which puts the system into a
| |
| tight loop, and then perform the desired reboot
| |
| sequence manually at the console. This works on
| |
| both 11/750 and 11/780 processors.
| |
| | |
| renice Has been modified for the new kernel and is no
| |
| longer dependent on system configuration parame-
| |
| ters; it no longer needs to be recompiled when
| |
| system table sizes change.
| |
| | |
| restor Now properly handles the case where dump files
| |
| are contained in dump tapes; previously the end
| |
| of the embedded dump would confuse restor and
| |
| cause the rest of the dump tape to be inaccessi-
| |
| ble.
| |
| | |
| sa Now correctly handles an arbitrary number of com-
| |
| mands and users. Two new options have been added
| |
| -v and -f giving it a googol+2 options. See
| |
| sa(8) for details.
| |
| | |
| savecore Is a new program which runs after a reboot to
| |
| save check to see if the system had crashed and,
| |
| if it had, to save any core image which was suc-
| |
| cessfully written to the paging area. See
| |
| savecore(8) for a full description.
| |
| | |
| shutdown Is a new command which shuts the system down at a
| |
| specified time. It broadcasts messages to users
| |
| warning them as the downtime approaches, records
| |
| the reason for the reboot in a log file, and
| |
| cooperates with init in a cleanly shutdown (e.g.
| |
| during the last 2 minutes of system operation,
| |
| users attempting to log in are told that the sys-
| |
| tem is going down and the reason for the shutdown
| |
| but not allowed to log in.)
| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| July 14, 1981
| |
| </pre>
| |