Commit | Line | Data |
---|---|---|
5ff332e9 C |
1 | .de IR |
2 | \fI\\$1\fR\\$2\\fR\\fR | |
3 | .. | |
4 | .TL | |
5 | Bug fixes and changes in 4.1bsd | |
6 | .sp | |
7 | May 10, 1981 | |
8 | .AU | |
9 | Bill Joy | |
10 | .AI | |
11 | Computer Systems Research Group | |
12 | .AB | |
13 | This document describes briefly the changes in the Berkeley system | |
14 | for the VAX between the fourth distribution of November 1980 (known originally | |
15 | as 4BSD, and hereinafter referred to as 4.0bsd) | |
16 | and this, its revision of April 1981. | |
17 | It attempts to be summarize, without going into great detail, the | |
18 | changes which have been made. | |
19 | .AE | |
20 | .SH | |
21 | .ce | |
22 | .LG | |
23 | Notable improvements | |
24 | .SM | |
25 | .sp | |
26 | .IP \s+1\(bu\s0 | |
27 | Performance of the system under heavy paging load has been substantially | |
28 | improved by correcting a problem with placement of pre-paged pages. | |
29 | The system now pre-pages more data, greatly benefitting processes which | |
30 | have locality in their behavior. System degradation due to pre-paging has | |
31 | been reduced (even though more pre-paging is done), by placing the pre-paged | |
32 | pages as the bottom of the free-list, rather than in the systems global | |
33 | clock replacement loop. | |
34 | .IP \s+1\(bu\s0 | |
35 | Processes which serially reference large amounts of virtual memory | |
36 | may now declare themselves to be sequential (see | |
37 | .IR vadvise (2)), | |
38 | causing the paging algorithm to be adjusted to be more appropriate for | |
39 | such behavior.* | |
40 | .FS | |
41 | * Future versions of the system will detect strongly sequential behavior | |
42 | and adapt themselves accordingly, so this call will no longer be necessary. | |
43 | .FE | |
44 | Processes which are known to need only a small amount of memory, but | |
45 | which tend to accumulate large amounts of memory due to strange page | |
46 | referencing patterns may declare a soft limit on the amount of memory | |
47 | to be used, see | |
48 | .IR vlimit (2) | |
49 | or do ``limit memoryuse \fIn\fR\|k'' in | |
50 | .IR csh (1). | |
51 | If the system needs memory, and there are processes which are over their | |
52 | declared limits, the system tends to take pages from these processes first. | |
53 | By saying that these limits are soft, we mean that on a system where | |
54 | physical memory is not scarce, processes with limits can still acquire as much | |
55 | physical memory as they require. | |
56 | .IP \s+1\(bu\s0 | |
57 | The system is now compiled from a description of the local machine | |
58 | which includes information about available devices and the maximum | |
59 | number of users to be supported on the system. It is no longer | |
60 | necessary to adjust an armful of constants to re-size the system; normal | |
61 | time-sharing systems are parameterized from a single ``maxusers'' constant. | |
62 | The system also adjusts the parameters of the paging subsystem based | |
63 | on available memory; it is no longer necessary to adjust these for machines | |
64 | with very small or very large amounts of available memory. | |
65 | .IP \s+1\(bu\s0 | |
66 | The system now handles multiple uba's and mba's and mixing of devices | |
67 | on mba's. A number of new devices are supported: RK07's and TS-11's | |
68 | which come in the standard 11/750 packages, UNIBUS TM-11 tape emulators | |
69 | (e.g. the EMULEX TC-11 with a KENNEDY 9300 transport). Line printer | |
70 | and C/A/T phototypesetter drivers are included in the system, and | |
71 | modem control for the DH-11 using the DM-11 has been integrated and | |
72 | tested. The new RM-80 Winchester drive from DEC is supported. | |
73 | Notably unsupported are the 11/750 console casettes. | |
74 | A single distribution system boots on all supported hardware configurations | |
75 | by determining the available devices and selecting a root device at boot | |
76 | time. | |
77 | .IP \s+1\(bu\s0 | |
78 | The \fItar\fR program has been changed to allow update of | |
79 | magnetic tape archives, adding to the end of the existing tape | |
80 | archive. This uses tape control facilities newly added in this | |
81 | version of the system, but the created tapes are readable on | |
82 | all versions of UNIX. Since blocked tapes are inherently more | |
83 | efficient and fully functional, \fItar\fR now creates blocked tapes by default. | |
84 | .IP \s+1\(bu\s0 | |
85 | Shell scripts are now potentially executable. A file which begins | |
86 | with the characters ``#!'' followed by some amount of white space | |
87 | and the name of an interpreter is executed directly by the system. | |
88 | The standard version 7 shell, /bin/sh, has been changed to recognize | |
89 | a # as a comment character. It is desirable that users change | |
90 | existing shell script so that the first line of each shell script | |
91 | begins with ``#!'' and the name of the proper shell to execute. | |
92 | .IP \s+1\(bu\s0 | |
93 | Two new documents have been added to Volume 2c: a manual for the | |
94 | crt screen package \fB\-lcurses\fR, and a document describing the | |
95 | \fBrogue\fR game. | |
96 | .br | |
97 | .ne 10 | |
98 | .LP | |
99 | .LP | |
100 | .ce | |
101 | .LG | |
102 | .B "Major bug fixes" | |
103 | .SM | |
104 | .sp | |
105 | .IP \s+1\(bu\s0 | |
106 | A number of bugs have been fixed in the FORTRAN compiler F77; | |
107 | these caused some block data routiens and main programs to fail to compile. | |
108 | Other bugs related to use of the symbolic debugger with FORTRAN | |
109 | have been fixed (see \fBf77\fR in ``Section 1'' below.) | |
110 | .IP \s+1\(bu\s0 | |
111 | A bug which caused the C compiler to complain ``expression too complicated'' | |
112 | when an expression contained an embedded structure assignment has been fixed. | |
113 | .IP \s+1\(bu\s0 | |
114 | A kernel bug which caused approximately 1/8'th of data collected during | |
115 | program profiling to be lost has been corrected. | |
116 | .IP \s+1\(bu\s0 | |
117 | A very confusing bug in the \fItset\fR manual page has been corrected: | |
118 | in the example where it uses the \fIsetenv\fR command it should rather | |
119 | use the \fIset\fR command: ``set noglob; eval ...''. The alternate | |
120 | form does not work on a number of terminals. | |
121 | .IP \s+1\(bu\s0 4 | |
122 | Due to a inconsistency between the 11/780 and the 11/750 in the | |
123 | interpretation of the \fBmovtuc\fR instruction, all binaries from | |
124 | the third distribution tape (of January 1980) and the fourth | |
125 | distribution tape (of November 1980) will NOT run correctly on | |
126 | the 11/750. The 4.1bsd distribution tape includes a new | |
127 | version of the standard i/o | |
128 | library which avoids use of this troublesome instruction, and it | |
129 | is recommended that all programs be recompiled from scratch to use | |
130 | this new library to eliminate non-portable UNIX binaries as soon | |
131 | as possible. | |
132 | .IP | |
133 | The problem is that when there appears to be a chance that the operands | |
134 | to \fBmovtuc\fR will overlap, but they in fact do not (because the | |
135 | pattern string to printf is terminated by a null), the 11/750 does | |
136 | not execute the \fBmovtuc\fR as though a shorter string length | |
137 | were specified which did not imply potential overlap. Thus this | |
138 | instruction which is in the inner loop of \fIprintf\fR on the 4bsd | |
139 | tape, and which works fine on an 11/780, malfunctions on an 11/750 | |
140 | causing strange and awful behavior. | |
141 | .IP \s+1\(bu\s0 4 | |
142 | (The following change is applicable only to systems bootstrapped | |
143 | from the 4.1bsd release tape; systems upgraded from 4.0bsd may | |
144 | or may not include this change.) | |
145 | The standard i/o library has been made more compatible with the PDP-11 | |
146 | version 7 system and now supports concurrent read and write access | |
147 | to files (see | |
148 | .IR fopen (3s) | |
149 | for details). | |
150 | This caused a change in an internal data structure which is visible | |
151 | to compiled programs through the macros in <stdio.h>, and thus | |
152 | necessitates discarding of old \fB.o\fR files and recompilation. | |
153 | Note that this standard i/o library now replaces the old \fB\-lNS\fR | |
154 | library which was in 3bsd but was deleted from 4bsd pending the | |
155 | inclusion of read-write capability in stdio. | |
156 | .SH | |
157 | .LG | |
158 | .ce | |
159 | Section 1 | |
160 | .SM | |
161 | .sp | |
162 | .PP | |
163 | .de BP | |
164 | .IP \fB\\$1\\fR 11n | |
165 | .. | |
166 | .BP adb | |
167 | A bug which prevented programs loaded with the \fB\-N\fR loader | |
168 | option from having breakpoints set on them has been fixed. | |
169 | A bug which prevented backtraces of programs which are stopped | |
170 | at interrupt level (after a signal) has been fixed by teaching | |
171 | adb how to step across the interrupt stack frame. | |
172 | The system now makes available and the $? command in adb interprets | |
173 | more precise codes when SIGILL and SIGFPE exceptions occur. | |
174 | Thus if you divide by zero, you can find out that this was what | |
175 | caused a floating point exception. | |
176 | A bug which prevented format | |
177 | repetition counts (e.g. the 10 in ``0/10X'') from working | |
178 | has been fixed. | |
179 | A bug related to adb has been fixed that prevented any sensible | |
180 | traceback after a FORTRAN-77 runtime error which trapped | |
181 | an exception or fault (e.g. a floating point divide by 0). | |
182 | A bug which caused the maps to be set improperly when debugging | |
183 | the kernel on a crash dump has been fixed. | |
184 | .IP | |
185 | New commands have been added to adb to facilitate writing adb procedures | |
186 | stored in files: see the descriptions of $<<, the register <9, | |
187 | and the # operator in the revised adb manual page. | |
188 | .BP awk | |
189 | Has moved from /usr/bin to /bin because it is needed during | |
190 | bootstrap procedures. | |
191 | .BP bc | |
192 | Now takes the new C syntax operators: ``=op'' as well as | |
193 | (for history's sake) the old syntax ``op=''. | |
194 | .BP calendar | |
195 | Several bugs have been fixed in the internals of the calendar program. | |
196 | In addition it is now possible to have a calendar entry consisting | |
197 | of merely a date (with no month specified) and have this entry occur | |
198 | each month. | |
199 | .BP cc | |
200 | A bug has been fixed in the C optimizer which caused strange | |
201 | things to happen when long variable names were used. | |
202 | The size of the internal ``dimension'' table has been increased | |
203 | to allow more structure fields to be declared. | |
204 | A problem which caused the compiler to print ``expression causes | |
205 | compiler loop'' when structure assignment was embedded in an | |
206 | expression context has been fixed. A bug in the code generator | |
207 | tables which affected certain FORTRAN constructs has also been fixed. | |
208 | .BP checknr | |
209 | Es versteht \fB\-mm\fR. | |
210 | .BP csh | |
211 | A cosmetic bug which prevented the distributed source from compiling | |
212 | has been fixed. A bug which caused argument lists including the strings | |
213 | ``{'' or ``{}'' to sometimes fail saying ``No match'' has been fixed. | |
214 | A bug which caused a strange state to result when a command of the | |
215 | form ``(a; b; c)'' was stopped from the keyboard has been fixed. | |
216 | The shell has been fixed so that it prefers to make stopped jobs | |
217 | the new current jobs after the current job has terminated. | |
218 | The construct ``${TERM}'' no longer yields an extra ``}'' | |
219 | when the variable expanded is from the environment. | |
220 | .IP | |
221 | Previously undocumented was the shell variable \fIhistchars\fR; | |
222 | it can be set to two characters, and the first is then a replacement | |
223 | for the normal \fB!\fR history character and the second for the \fB^\fR | |
224 | quick history substitution character. Thus after ``set histchars=,;'' | |
225 | the command ``,,'' repeats the previous command, as ``!!'' would normally | |
226 | have done. | |
227 | .BP ctags | |
228 | Now takes an option | |
229 | .B \-v | |
230 | to produce output suitable for input to | |
231 | .IR vgrind (1). | |
232 | .BP cu | |
233 | Now honors uucp's locking protocol for the dialout lines. | |
234 | Several bugs relating to internal buffer overruns have been fixed. | |
235 | An option \fB\-b\fR has been added which causes the BREAK key | |
236 | to generate breaks (by turning input null characters into breaks | |
237 | sent over the line). | |
238 | .BP delivermail | |
239 | .br | |
240 | Some bugs which caused strange loops when aliases were self-referential | |
241 | have been fixed. | |
242 | .BP diff | |
243 | Some bugs related to directory diffs when the | |
244 | .B \-h | |
245 | option was used have been fixed; previously the | |
246 | .B \-h | |
247 | option was non-functional. | |
248 | .BP dump | |
249 | An obnoxious bug in the dump program where it would wrongly | |
250 | suggest that further dump tapes were needed after a multi-tape | |
251 | dump had already completed has been fixed. The dump program | |
252 | no longer attempts to time tape rewinds itself, but uses | |
253 | a mechanism which does not depend on the speed of the tape | |
254 | drive to determine when a rewind is complete. | |
255 | .BP error | |
256 | Has been taught about the error message formats of the | |
257 | PDP-11 C compiler. | |
258 | .BP expand | |
259 | A internal error check which was incorrect has been fixed. | |
260 | .BP f77 | |
261 | Has had a bug fixed which caused some block data subroutines | |
262 | and main programs to not compile (the sympton was a diagnostic of | |
263 | the form ``Undefined: LWM%d''. A number of minor bugs which | |
264 | combined to make sdb function poorly with f77 have been fixed. | |
265 | The result of these bugs were that if file names were longer | |
266 | than 6 characters sdb could not read the symbol table of the | |
267 | resulting FORTRAN binary. | |
268 | .IP | |
269 | An i/o library bug which caused numbers of the form ``-1.2'' | |
270 | to convert improperly in list-directed input (reading as ``-0.8'', | |
271 | taking the mantissa as positive) has been fixed. | |
272 | .BP ld | |
273 | If you are using the \fB\-r\fR flag and there remain undefined symbols | |
274 | you no longer get a spurious error return. Now respects modes of existing | |
275 | files and your file-creation mask more. | |
276 | .BP lisp | |
277 | The functions +, /, -, *, 1+, 1- now expect fixnum arguments, | |
278 | for interpreted functons as well as compiled ones. The source | |
279 | for the VMS and UNIX versions of lisp have been combined and | |
280 | synchronized. The construction of very large integers has | |
281 | been altered to use regular dotted pairs in a non-standard | |
282 | way, so that fewer garbage collections will occur. (It is no | |
283 | longer safe to use ``car'' and ``cdr'' to disect large | |
284 | integers). Mixed-mode arithmetic has been made faster. | |
285 | There is a new compiler option (liszt -r) which allows | |
286 | you to create | |
287 | .B small | |
288 | lisp application programs (with a mechanism other than | |
289 | ``dumplisp'', which tends to create very large binaries). | |
290 | When the result of | |
291 | such a compilation is executed directly, it execs /usr/ucb/lisp | |
292 | and then fast loads the file you asked to be executed. | |
293 | A new flag $ldprint has been added to control the printing | |
294 | of fasl/load messages. | |
295 | New functions (purecopy), (getdata), (putdata), | |
296 | and (removeaddress) have been added. | |
297 | A number of minor bugs have been fixed. | |
298 | .BP lpr | |
299 | Has been modified to work on both DECWRITER type devices | |
300 | at 1200 baud masquerading as printers and also on real line | |
301 | printers. The queueing algorithm has been made first-come-first-serve | |
302 | (replacing the old random job first algorithm), and a line | |
303 | printer driver is now available in the standard distributed system. | |
304 | .BP ls | |
305 | A bug has been fixed which caused essentially random numbers to | |
306 | be printed for the size of special files. The size now prints as 0. | |
307 | .BP make | |
308 | A spelling error has been fixed which had the variable EC initialized | |
309 | to f77 rather than FC=f77. | |
310 | .BP man | |
311 | A bug which caused it to core dump when reformatting a manual page | |
312 | whose source macros were inaccessible has been fixed. | |
313 | .BP mt | |
314 | Is a new command | |
315 | which provides easy access to operations such as forward and backward spacing | |
316 | of files and records on magnetic tape. | |
317 | .BP mv | |
318 | Has been changed to have a option ``\fB\-\fR'' which means that | |
319 | all the following arguments are file names. A bug has been fixed | |
320 | which caused strange behaviour when the \fB\-i\fR option was used | |
321 | on directories. | |
322 | A bug which prevented renaming of subdirectories to which you had no | |
323 | write access has been fixed. | |
324 | .BP oldcsh | |
325 | Which was non-functional due to a change in a internal library | |
326 | interface which it had taken advantage of has been fixed to work. | |
327 | .BP od | |
328 | New options \fBO\fR, \fBX\fR, and \fBD\fR print 32 bit integers | |
329 | in octal hex and decimal format; an option \fBw\fR has been | |
330 | added to cause 132 column output rather than the default 80 column | |
331 | oriented output. | |
332 | .BP pc/pi | |
333 | A number of bugs in the sdb symbol table produced have been fixed. | |
334 | Structured types may now exceed 65k bytes in size, but in that case | |
335 | may not be passed by value nor assigned by simple assignment. | |
336 | Structured types are properly returned from recursive functions. | |
337 | Minor bugs in passing function parameters have been fixed, and | |
338 | there still exist some more minor bugs here. | |
339 | Runtime tests can be now be enabled or disabled on a per routine basis. | |
340 | Runtime checks are now done properly on builtin functions. | |
341 | Warnings (or standards violations) are now produced for extensions | |
342 | to the language. Some inconsistencies in dealing with running out of | |
343 | memory have been fixed. | |
344 | .IP | |
345 | Some bugs are known: invoking a formal routine from inside a formal | |
346 | invocation of the same routine will mess up. | |
347 | In pc only: linking seperately compiled modules from other than the | |
348 | current directory only works if you give full path names (or the same | |
349 | relative paths) for the compilation and the linking. | |
350 | .IP | |
351 | Some changes are planned soon: | |
352 | for-loop variables and with pointers will be allocated to registers. | |
353 | The formal routine syntax is currently as in Jensen and Wirth, but | |
354 | will soon be changed to the the syntax of the proposed standards, | |
355 | in which parameters to formals must be given. | |
356 | It is planned that \fBpc\fR will soon do compile time constant folding. | |
357 | .BP pmerge | |
358 | Is a new program which can convert large Pascal programs back into a | |
359 | single file, eliminating the header files and separate source files | |
360 | normally used for separate compilation. | |
361 | .BP prof | |
362 | A bug which caused prof to loop when a file-static function was | |
363 | profiled has been fixed. A bug in the kernel which caused the | |
364 | results of prof to be inaccurate has also been fixed. | |
365 | .BP ps | |
366 | Has been changed to work with the new kernel and is no longer | |
367 | dependent on system sizing; thus it is no longer necessary to | |
368 | recompile ps when the system tables are made larger. A bug | |
369 | in the \fBs\fR option which caused the computed stack size | |
370 | to be a constant 512 bytes too large has been fixed. | |
371 | The ``STAT'' field now shows ``>'' in the second position for programs | |
372 | which are using more memory than their \fImemoryuse\fR limit (see | |
373 | .IR vlimit (2)). | |
374 | It also shows ``S'' in the fourth position for processes which have | |
375 | declared themselves to be strongly sequential (see | |
376 | .IR vadvise (2)). | |
377 | Under the \fBv\fR option, the SWRSS field has been replaced by a new | |
378 | field ``LIM'' which shows the limit on \fImemoryuse\fR if there is a limit, | |
379 | or \fIxx\fR if there is not. | |
380 | .BP px | |
381 | Is now written in C, is much more portable, and shares the runtime library | |
382 | used by the compiler. It is, unfortunately, somewhat slower now. | |
383 | .BP ranlib | |
384 | No longer considers it a fatal error that an archive member defines | |
385 | no symbols. | |
386 | .BP reset | |
387 | Has been changed to invoke the command | |
388 | .RS | |
389 | .IP | |
390 | .B "tset \-Q \-I" | |
391 | .RE | |
392 | .IP | |
393 | so that all terminal modes will be reset. | |
394 | .BP rm | |
395 | Now has a | |
396 | .B \- | |
397 | option to indicate that all the following | |
398 | parameters are to be treated as file names. | |
399 | It can be used when file names begin with ``\fB\-''. | |
400 | .BP rmdir | |
401 | Now works correctly when arguments end in one or more ``/'' characters. | |
402 | .BP sdb | |
403 | Has been fixed to be able to deal with ``interrupt-stack-frames'', | |
404 | so that it is possible to set breakpoints on and get backtraces | |
405 | from routines called while a signal is being processed. | |
406 | Now handles binaries which are mode 0407 (resulting from ``ld \-N'') | |
407 | properly. | |
408 | .BP sh | |
409 | Has been changed so that ``#'' begins a comment. | |
410 | Shell scripts to be executed by /bin/sh should begin | |
411 | ``#! /bin/sh'' on the first line. | |
412 | .BP tar | |
413 | Now defaults to blocked tape and can update blocked tapes (finally!). | |
414 | When reading tape tar defaults to the raw tape and figures out | |
415 | what is going on with blocksize so it need not be specified. | |
416 | Thus the only commands which should be needed are the simple ``tar t'', | |
417 | ``tar c'', ``tar u'' and ``tar x''. | |
418 | .BP uusend | |
419 | Now uses the \fB\-r\fR option of \fIuux\fR to prevent presenting | |
420 | extreme load to the connected system. | |
421 | .BP vmstat | |
422 | Has been changed so that the system's device names are printed | |
423 | for the disks rather than D0, D1, D2, D3. The old format output | |
424 | of the | |
425 | .B \-i | |
426 | option is no longer available. | |
427 | .IP | |
428 | The fields related to paging activity are now all | |
429 | given in pages (of 1024 bytes). In particular, the fields ``pi'' | |
430 | and ``po'' which previously showed the number of pagein and pageout | |
431 | events now show pages, and ``sr'' which previously gave the clock | |
432 | scan rate in revolutions-per-minute now gives the scan rate in pages | |
433 | scanned per second. To provide the extra space needed to present this | |
434 | information, the swap in/out information, which was only marginally | |
435 | interesting, is no longer printed. | |
436 | .BP w | |
437 | Has been modified so that it no longer needs to be recompiled | |
438 | when the kernel tables change in size. | |
439 | .BP wall | |
440 | Now checks that the message is not too long for its internal buffer, | |
441 | rather than just overrunning the buffer. It handles running out | |
442 | of processes by pausing, so it is possible to use it when there | |
443 | are more than 25 users logged in and you are not the super-user. | |
444 | It also gives the machine name you are on in the broadcast messages. | |
445 | .BP who | |
446 | ``Who am I'' now prints your machine and login name (the first | |
447 | word of its output) in a format suitable for use with uucp. | |
448 | .BP write | |
449 | Now checks that you do not have write permission disabled | |
450 | and doesn't let you write to someone if they can't write back. | |
451 | .SH | |
452 | .LG | |
453 | .ce | |
454 | Section 2. | |
455 | .SM | |
456 | .sp | |
457 | .BP intro | |
458 | Now correctly reflects that argument lists may be upto 10240 characters | |
459 | long. | |
460 | .BP exec | |
461 | Has been changed so that if a file being executed | |
462 | begins with the magic characters #!, the rest of the line is understood | |
463 | to be the name of an interpreter for the executed file. | |
464 | Previously (and in fact still) the shell did much of this job; | |
465 | it automatically executed itself on a text file with executable mode | |
466 | when the text file's name was typed as a command. | |
467 | Putting the facility into the system gives the following | |
468 | benefits. | |
469 | .RS | |
470 | .IP 1) | |
471 | It makes shell scripts more like real executable files, | |
472 | because they can be the subject of 'exec.' | |
473 | .IP 2) | |
474 | If you do a 'ps' while such a command is running, its real | |
475 | name appears instead of 'sh'. | |
476 | Likewise, accounting is done on the basis of the real name. | |
477 | .IP 3) | |
478 | Shell scripts can be set-user-ID. | |
479 | .IP 4) | |
480 | It is simpler to have alternate shells available; | |
481 | e.g. if you like the Berkeley \fIcsh\fR there is no question about | |
482 | which shell is to interpret a file. | |
483 | .IP 5) | |
484 | It will allow other interpreters to fit in more smoothly. | |
485 | .RE | |
486 | .IP | |
487 | To take advantage of this wonderful opportunity, | |
488 | put | |
489 | .DS | |
490 | #! /bin/sh | |
491 | .DE | |
492 | .IP | |
493 | at the left margin of the first line of your shell scripts. | |
494 | Blanks after ! are OK. Use a complete pathname (no search is done). | |
495 | At the moment the whole line is restricted to 32 characters. | |
496 | A single argument may be specified for the interpreter, thus: | |
497 | .DS | |
498 | #! /bin/csh \-f | |
499 | .DE | |
500 | .IP | |
501 | is very useful, avoiding reading \fI.cshrc\fR which is often | |
502 | not wanted. | |
503 | .BP kill | |
504 | Has been changed so that when broadcasting signals universally | |
505 | the signal being broadcast is not sent to the broadcaster. | |
506 | This is used by the | |
507 | .IR halt (8), | |
508 | .IR shutdown (8), | |
509 | and | |
510 | .IR reboot (8) | |
511 | commands. | |
512 | .BP reboot | |
513 | Has been changed to reflect the now more limited number | |
514 | of option flags available to the system call due to the | |
515 | nature of the console interface on the VAX 11/750. | |
516 | .BP sigsys | |
517 | Reflects the fact that the system now passes in to a signal | |
518 | handler an indication of what exception really happened when | |
519 | a SIGFPE or SIGILL is generated. The call interface at the | |
520 | point of a signal handler call is now specified. | |
521 | .PP | |
522 | .SH | |
523 | .LG | |
524 | .ce | |
525 | Section 3 | |
526 | .SM | |
527 | .sp | |
528 | .PP | |
529 | .BP curses | |
530 | A large number of bug fixes have been incorporated, | |
531 | and the documentation has been greatly improved. | |
532 | The library is now much more solid than that originally distributed. | |
533 | .BP fopen | |
534 | Reflects the new open options which allow simultaneous read-write | |
535 | to files; these extensions are being incorporated to bring | |
536 | compatibility with the standard version 7 PDP-11 UNIX and to | |
537 | replace the (now defunct) \fB\-lNS\fR. | |
538 | .BP printf | |
539 | A bug in the documentation which incorrectly stated that a %c format | |
540 | would not put out a null character has been fixed. | |
541 | .SH | |
542 | .LG | |
543 | .ce | |
544 | Section 4 | |
545 | .SM | |
546 | .sp | |
547 | .PP | |
548 | The system now supports a number of new devices and has capability | |
549 | for detecting the device's presence and interrupt vectors at boot time. | |
550 | The system also has capability to do device location at boot time | |
551 | so that a system description as supplied to | |
552 | .IR config (8) | |
553 | can take advantage of available hardware redundancy. | |
554 | .PP | |
555 | Each configurable device driver in this section now includes | |
556 | a SYNOPSIS giving sample lines to be included in a system | |
557 | configuration. Drivers also indicate the error messages | |
558 | which they produce and describe each error. | |
559 | .PP | |
560 | .BP ct | |
561 | A driver for a C/A/T phototypesetter interface. | |
562 | .BP dh | |
563 | Now includes handling of dm-11 modem control hardware. | |
564 | Optional flags to the configuration program can also be | |
565 | given to supply hardware carrier easily for lines where | |
566 | wiring is inadequate. | |
567 | .BP hp | |
568 | Includes rm80 support. | |
569 | .BP lp | |
570 | Drives standard line printers, and has been improved to | |
571 | cut the interrupt load by a factor of 20. | |
572 | .BP mt | |
573 | Describes the standard tape drive interface, which now includes | |
574 | .B ioctl | |
575 | operations for raw magtape allowing such standard operations | |
576 | as forward and backward spacing over files and records, writing | |
577 | of end-of-file marks, rewinds, rewinding and offlining, | |
578 | and sensing of tape status. | |
579 | These operations are used by the | |
580 | .IR mt (1) | |
581 | program which can be used to easily manipulate tape files, | |
582 | and by the | |
583 | .IR tar (1) | |
584 | program to allow updates to blocked tapes. | |
585 | .BP tm | |
586 | Supports the UNIBUS TM/11 emulating tape controllers (e.g. EMULEX TC-11 | |
587 | with a KENNEDY 9300 drive). | |
588 | .BP ts | |
589 | Supports the UNIBUS TS/11 tape drive and transport. | |
590 | .BP tty | |
591 | Now provides a LDECCTLQ option which causes ^S and ^Q to function | |
592 | as necessary for the VT100 to work properly. | |
593 | .BP up | |
594 | A driver for a EMULEX SC-11 or SC-21 UNIBUS disk controller | |
595 | with storage module (e.g. Ampex 9300) disk drives. | |
596 | .BP va | |
597 | A varian raster plotter. | |
598 | .SH | |
599 | .LG | |
600 | .ce | |
601 | Section 5 | |
602 | .SM | |
603 | .sp | |
604 | .ce | |
605 | No changes. | |
606 | .SH | |
607 | .LG | |
608 | .ce | |
609 | Section 6 | |
610 | .SM | |
611 | .sp | |
612 | .PP | |
613 | .BP chase | |
614 | Is a game where robots try to eat you. | |
615 | .BP hangman | |
616 | Is now screen oriented. | |
617 | .BP rain | |
618 | Drops keep falling on my head. | |
619 | .BP rogue | |
620 | Is a new and very popular screen-oriented game, | |
621 | see | |
622 | .IR rogue (6) | |
623 | or | |
624 | ``A Guide to the Dungeons of Doom.'' | |
625 | .BP worm | |
626 | Is a game where you see how long you can get the worm to grow. | |
627 | .BP worms | |
628 | Is an amusement where the worms chase each other around the screen. | |
629 | .SH | |
630 | .LG | |
631 | .ce | |
632 | Section 7 | |
633 | .SM | |
634 | .sp | |
635 | .ce | |
636 | No changes. | |
637 | .SH | |
638 | .LG | |
639 | .ce | |
640 | Section 8 | |
641 | .SM | |
642 | .NL | |
643 | .PP | |
644 | Major changes affecting system operations include: | |
645 | .IP * | |
646 | The system is configured from a single per-cpu specification | |
647 | file which includes all locally relevant information: desired | |
648 | devices, size of the maximum user load, timezone information, etc. | |
649 | The system determines at boot time the size of the file system | |
650 | buffer cache based on the amount of physical memory available | |
651 | and sizes the system data structures based on the specification | |
652 | of the maximum number of active users; it is no longer necessary | |
653 | to juggle an armful of constants to enlarge the system. | |
654 | The sizes of system tables are no longer compiled into programs | |
655 | such as | |
656 | .B ps | |
657 | and | |
658 | .B w. | |
659 | .IP * | |
660 | System error log information is saved across system crashes provided | |
661 | no power failure occurs, as the error log is kept in-core in the | |
662 | last 1024 bytes of memory. | |
663 | .\"Error messages to the console are in a new standard format, reminiscent | |
664 | .\"of Dave Presotto's speech pattern... they begin with a word, a laugh | |
665 | .\"encoded as `:' and go on wittily from there to speak the truth. | |
666 | Error messages to the console are in a standard format, of the form: | |
667 | .RS | |
668 | device: message | |
669 | .RE | |
670 | .IP | |
671 | Messages have error registers decoded as bits, so that they are | |
672 | readable, and no-longer refer to devices by their major/minor device | |
673 | numbers, rather using device names. Error messages about file | |
674 | system problems (device full, out of inodes, etc) are referred to | |
675 | with the mounted file system name, and a message is sent directly | |
676 | to a user if his/her process writes to a file system when it is full. | |
677 | All error diagnostics printed by drivers are documented in section 4 | |
678 | of the manual. | |
679 | .IP * | |
680 | DEC standard bad block forwarding is supported on all DEC disks | |
681 | except the RP06; the code which implements this can be easily | |
682 | moved into the drivers for the UNIBUS storage module disks; this is planned. | |
683 | .IP * | |
684 | Core dumps are saved after system crashes automatically as the system | |
685 | writes a core image to a portion of the swap area from which it | |
686 | is recovered after reboot. The system then transfers these core | |
687 | images to a specified UNIX directory, saving also the version of | |
688 | the system associated with the crash. The system also maintains | |
689 | an error log | |
690 | .B /usr/adm/shutdownlog | |
691 | which records all system crashes and reboots with the information | |
692 | about the causes. | |
693 | .sp | |
694 | .PP | |
695 | .BP analyze | |
696 | Now has an option | |
697 | .B \-u | |
698 | to print page numbers of the u. areas. | |
699 | A bug which prevented the distributed | |
700 | .B analyze | |
701 | from working has been fixed. | |
702 | .BP bad144 | |
703 | Is a new program which prints out the DEC-standard bad block | |
704 | information for a disk, or puts it back if it gets clobbered. | |
705 | The name of the program comes from the fact that the program | |
706 | deals with ``DEC standard 144'' format. | |
707 | .BP badsect | |
708 | Creates a file in a file system which contains a specified disk | |
709 | sector of that file system. This is a primitive way of dealing | |
710 | with bad sectors, but works on drivers which don't (yet) have bad | |
711 | block forwarding according to the standard. | |
712 | .BP getty | |
713 | No longer prints ``Virtual'' in front of the system | |
714 | identification, since there are no swap systems in sight anymore. | |
715 | .BP halt | |
716 | Now properly shuts down the system; see \fBreboot\fR below for details. | |
717 | .BP icheck | |
718 | Now properly sets the \fItfree\fR field in the super-block. | |
719 | .BP init | |
720 | Now interacts with \fBhalt\fR, \fBreboot\fR and \fBshutdown\fR | |
721 | to bring about orderly system shutdowns. | |
722 | No longer writes entries in the /usr/adm/wtmp accounting file when | |
723 | a \fIgetty\fR process dies without a user logging in on a terminal. | |
724 | Prints a warning message (on the console) if a terminal exists, | |
725 | is enabled, but the open returns an error, and waits for terminal | |
726 | to be openable, checking each minute, to prevent thrashing in this case. | |
727 | .BP last | |
728 | Now distinguishes between system shutdowns and system crashes. | |
729 | .BP lastcomm | |
730 | A bug causing a core dump if user id's not present in the | |
731 | password file were encountered has been fixed. | |
732 | .BP login | |
733 | Now interacts with the shutdown command to forbid logins (except | |
734 | by the super-user) in the last 5 minutes before a shutdown (detected | |
735 | by the presence of the file /etc/nologin, which also contains a | |
736 | message about why the system is shutting down which is presented | |
737 | to the rejected users.) | |
738 | Implements a notion of ``secure terminals''; if the file /etc/securetty | |
739 | exists, then it should contain a list of the secure terminals | |
740 | where root is allowed to login. If this file does not exist, | |
741 | then root can log in anywhere, as before. | |
742 | If a user tries to login but can't get to their home directory | |
743 | they are left in the root directory and warned, so that they | |
744 | have some chance to send mail about or fix the problem themselves. | |
745 | If a file \fI.hushlogin\fR exists in a users home directory | |
746 | the the message of the day and other such information designed for | |
747 | human users will not be printed at login time. This is specifically | |
748 | designed for the user \fIuucp\fR which is another computer | |
749 | and just ignores such stuff anyways. | |
750 | Finally a bug has been fixed which cause \fBlogin\fR to core | |
751 | dump if there were tabs in the file /etc/ttytype. | |
752 | .BP mkfs | |
753 | Now works properly when given a \fIproto\fR argument; | |
754 | previously it complained because it didn't know that the format | |
755 | of the file /usr/mdec/uboot had been changed. | |
756 | .BP pstat | |
757 | Has new flags \fB\-m\fR and \fB\-g\fR which interpret the multiplexor | |
758 | data structures. | |
759 | .BP reboot | |
760 | Now shuts the system down cleanly, stopping all system activity before | |
761 | initiating the reboot procedure. Normally, however, the new | |
762 | .B shutdown | |
763 | command is used to take the system down, notifying the users of the | |
764 | impending downtime. | |
765 | The options | |
766 | .B \-s | |
767 | and | |
768 | .B \-a | |
769 | options to reboot are no longer available, as it will not be | |
770 | possible to provide them on all VAX cpu's due to the way the | |
771 | console interface works. Instead, you can halt the processor | |
772 | using | |
773 | .B halt | |
774 | which puts the system into a tight loop, and then perform the | |
775 | desired reboot sequence manually at the console. This works | |
776 | on both 11/750 and 11/780 processors. | |
777 | .BP renice | |
778 | Has been modified for the new kernel and is no longer dependent | |
779 | on system configuration parameters; it no longer | |
780 | needs to be recompiled when system table sizes change. | |
781 | .BP restor | |
782 | Now properly handles the case where dump files are contained | |
783 | in dump tapes; previously the end of the embedded dump would | |
784 | confuse \fBrestor\fR and cause the rest of the dump tape to be | |
785 | inaccessible. | |
786 | .BP sa | |
787 | Now correctly handles an arbitrary number of commands and users. | |
788 | Two new options have been added \fB\-v\fR and \fB\-f\fR giving | |
789 | it a googol+2 options. See | |
790 | .IR sa (8) | |
791 | for details. | |
792 | .BP savecore | |
793 | Is a new program which runs after a reboot to save | |
794 | check to see if the system had crashed and, if it had, | |
795 | to save any core image which was successfully written to | |
796 | the paging area. | |
797 | See | |
798 | .IR savecore (8) | |
799 | for a full description. | |
800 | .BP shutdown | |
801 | Is a new command which shuts the system down at a specified time. | |
802 | It broadcasts messages to users warning them as the downtime approaches, | |
803 | records the reason for the reboot in a log file, | |
804 | and cooperates with init in a cleanly shutdown (e.g. during | |
805 | the last 2 minutes of system operation, users attempting | |
806 | to log in are told that the system is going down and the reason | |
807 | for the shutdown but not allowed to log in.) | |
808 |