compare.E
jsq at ut-sally.UUCP
jsq at ut-sally.UUCP
Sun Aug 14 14:13:43 AEST 1983
- 17 -
The portable _a_r command creates archive headers
specific to the host. _A_r_c_v is still available to convert
old-style archives from PDP-11 to VAX-11/780 format.
However, _c_o_n_v_e_r_t should be used to convert pre-System V
archives to the newer format.
4.1C has the _r_a_n_l_i_b program for inserting an index at
the beginning of an archive, so that the archive can be
randomly accessed.
The Berkeley _a_r (introduced in 4.1BSD) produces ASCII
output, making the archives portable without the need of any
special libraries.
2.5.3 _F_s We consider this topic sufficiently important to
have a major section to itself later in the paper.
2.5.4 _T_e_r_m_c_a_p__a_n_d__d_e_s_c_e_n_d_a_n_t_s 4.1C includes the _t_e_r_m_c_a_p
facility, which maps common terminal control functions to
the specific escape sequences for a particular terminal, and
the _c_u_r_s_e_s library of cursor motion optimization functions.
These are used by a number of programs, including the _v_i
editor, to achieve terminal independence. System V has
adopted _t_e_r_m_c_a_p but not _c_u_r_s_e_s.
_T_e_r_m_c_a_p has spawned various lookalikes in 4.1C.
_P_r_i_n_t_c_a_p is used by _l_p_r to determine the characteristics of
printers (see above under _P_r_i_n_t_i_n_g). _D_i_s_k_t_a_b is used by
_n_e_w_f_s to determine how to configure a new format file system
(see below under _F_i_l_e _S_y_s_t_e_m_s). _R_e_m_o_t_e is used by _t_i_p (the
successor to _c_u) to determine the characteristics of a
remote system (see below under _U_U_C_P).
2.6 Games
Both systems provide a variety of games, ranging from
the ever-popular hunt-the-wumpus to chess and automated
Dungeons and Dragons.
2.6.1 _S_y_s_t_e_m__V__g_a_m_e_s On System III, most of the games were
shell scripts which echoed the message:
this game does not work on the VAX
This deplorable situation has been largely corrected in
System V.
2.6.2 _4_._1_C__B_S_D__A_S_C_I_I__g_r_a_p_h_i_c_s__g_a_m_e_s 4.1C has numerous
games which use _t_e_r_m_c_a_p and _c_u_r_s_e_s to produce ASCII graphics
on various terminals. Examples are _r_o_g_u_e (a role-playing
game in the manner of Dungeons and Dragons), _w_o_r_m_s, _r_a_i_n,
- 18 -
_c_a_n_f_i_e_l_d, and _m_i_l_l_e.
System V has the _s_n_a_k_e game, but for some reason has
removed the _t_e_r_m_c_a_p support, making it work on only a few
terminal types.
2.6.3 _P_D_P_-_1_1__c_o_m_p_a_t_i_b_i_l_i_t_y 4.1C provides a package which
allows the use of the PDP-11 compatibility feature of the
VAX processor. This package was supposedly included
originally to support the PDP-11 binary of the game _d_u_n_g_e_o_n
(_z_o_r_k). The fact that it is still included under games
seems fitting.
2.7 Miscellany
2.7.1 _F_i_l_e__s_y_s_t_e_m__h_i_e_r_a_r_c_h_y The most notable addition here
is /usr/ucb, which 4BSD uses to contain objects for commands
developed at Berkeley (though not all such commands), and
/usr/local, used to contain commands and libraries (in
/usr/local/lib) that exist at Berkeley but are not
distributed (making this a convenient place for commands
developed at other sites).
See below under _S_o_u_r_c_e_s _a_n_d _D_o_c_u_m_e_n_t_a_t_i_o_n for comments
on the source trees.
2.8 Maintenance
4BSD has a reputation in some quarters as being
unsuitable for production use because it is a research
system. This reputation is undeserved, as its maintenance
facilities are more highly developed than those of System V.
2.8.1 _I_n_i_t_,__g_e_t_t_y_,__a_n_d__l_o_g_i_n _I_n_i_t and _g_e_t_t_y are not
substantially different in 4.1C from 4.1. _L_o_g_i_n has been
modified to handle _r_l_o_g_i_n-style remote logins without
passwords on machines under the same administration. There
are also the modifications from 4.1 related to _s_h_u_t_d_o_w_n
(disallowing logins before a shutdown) and security
(prohibiting login by superuser on certain terminals, such
as dialups).
On the other hand, the finite state machine approach
used for System III _i_n_i_t has been greatly elaborated in
System V.
Init is driven from the file /etc/inittab, as in
System III. This file is used to specify the identity,
behavior, and arbitrary id of the processes to be associated
with each state _i_n_i_t can occupy. A typical entry might
specify that in a state commonly corresponding to multi-user
- 19 -
mode, a _g_e_t_t_y should be respawned on each terminal line when
the death of a previous _g_e_t_t_y is detected. Single-user mode
is a distinguished state, with the option of having a
virtual system console connected to any terminal. State
change instructions are issued to the ancestral _i_n_i_t via the
_t_e_l_i_n_i_t command.
The System V _g_e_t_t_y is likewise driven from a file,
/etc/gettydefs. This file includes, for each speed, initial
and final flags used for setting the mode of a terminal
line, the login herald, and the next speed to try. In
actuality, the speed is only a label for which _g_e_t_t_y
searches, so that it is possible to make terminal-specific
entries which include control sequences in the login
message, etc.
System V _l_o_g_i_n has mainly been changed to deal with the
new _u_t_m_p structure. In addition, environment variables may
be set in the login response.
In passing, we note that the old UNIX standby, _w_h_o, has
been turned into a general utility for summarizing /_e_t_c/_u_t_m_p
and /_e_t_c/_w_t_m_p. To this end, it now has no fewer than ten
different options.
2.8.2 _S_h_u_t_d_o_w_n_,__h_a_l_t_,__a_n_d__r_e_b_o_o_t 4.1C has the convenient
commands _s_h_u_t_d_o_w_n (bring the system down politely, informing
the users), _h_a_l_t (stop the system immediately), and _r_e_b_o_o_t
(shutdown and bring up a new system).
When coming up, 4.1C automatically performs _f_s_c_k on all
the file systems (running one _f_s_c_k subprocess per disk arm,
in parallel, for speed) and brings the system up in multi-
user mode. To bring 4.1C up from a dead start, it is only
necessary to turn the power switch on. (To get into single
user mode, one types ^C or uses another available method.)
The normal method for bringing down System V is to run
the shell procedure _s_h_u_t_d_o_w_n. Other facilities exist for
terminating running processes, including _k_i_l_l_a_l_l, invoked by
_s_h_u_t_d_o_w_n, and _f_u_s_e_r, which selectively identifies and kills
processes which are using specified files. A _r_e_b_o_o_t command
is documented for the WECo 3B20S release of System V but
none seems to be available for the VAX. System V has
nothing equivalent to the 4.1C BSD _h_a_l_t command.
2.8.3 _B_a_c_k_u_p_s 4.1C uses _d_u_m_p for file system backups, in
the V7 manner. The user interface to _r_e_s_t_o_r has been
modified, however, to resemble that of _t_a_r, making it much
easier to use, as it is now possible to restor by file (or
even directory) name, rather than by inode number.
- 20 -
The 4.1C _d_u_m_p also allows backups over networks. It
runs at tape speed, and is fast enough (especially with a
6250bpi tape drive) that disk-to-disk backups seem
superfluous.
Several backup paths are available under System V. The
_v_o_l_c_o_p_y utility from System III may be used to copy a
complete file system. The new _f_i_n_c offers a fast incremental
backup of those files meeting certain selection criteria
(last access, modification, etc.). _F_r_e_c may be used to
recover files by inumber from a _v_o_l_c_o_p_y or _f_i_n_c backup.
Finally, _f_f, a fast version of _f_i_n_d, may be used in
combination with _c_p_i_o. _D_u_m_p and _r_e_s_t_o_r are not present in
System V.
2.8.4 _F_s_c_k_,__f_s_d_b_,__e_t_c_. A slightly improved version of
_f_s_d_b, the interactive file system debugger under System III,
is offered in System V.
_F_s_c_k, the file system checker, has been augmented by
_d_f_s_c_k, invoked by _c_h_e_c_k_a_l_l, which allows simultaneous file
system checks on two different drives. Note that _d_f_s_c_k
relies on the system being configured to use System V's
multiple physical I/O buffer facility. Also, the use of
_d_c_o_p_y to reorganize the file system for faster access (see
below under _F_i_l_e _S_y_s_t_e_m) will contribute to faster checking.
4.1 added the -p option to _f_s_c_k, which applies default
rules to preen file systems (usually on reboot), and
incidentally allows concurrent checking of file systems on
different disk arms to speed rebooting. This is retained in
4.1C.
4.1C and 4.2, unlike 4.1, but like System V, requires a
reboot after _f_s_c_k modifies the root filesystem. In 4.1C and
4.2, unlike System V, the reboot is handled automatically.
2.8.5 _M_o_n_i_t_o_r_i_n_g__a_n_d__d_e_b_u_g_g_i_n_g System V provides various
facilities inherited from System III for monitoring system
activity and dealing with problems.
An operating system profiling package is available
which uses the pseudo-device /dev/prf to access the
operating system and collect performance statistics by
monitoring selected text addresses.
Extensive error logging and reporting is performed by a
daemon which accesses the /dev/error interface to the system
error collection routines. These reports are often valuable
in analyzing suspected hardware difficulties.
- 21 -
The _c_r_a_s_h program provides a reasonably clean
interactive utility for debugging core images of the
operating system after a crash. It may also be used to
browse through a running system.
4.1C has _s_y_s_l_o_g to collect kernel error messages into
/usr/adm/messages. Arrangements have also been made to send
many error messages directly to the controlling terminal of
the process that caused them.
There are provisions for analyzing the state of the
paging system after a crash with _a_n_a_l_y_z_e. There is a paper
on debugging the kernel with _a_d_b that tells how to use
numerous canned shell scripts to examine various tables.
_A_d_b itself has the -k option for setting its memory maps
appropriately for the kernel.
2.8.6 _A_c_c_o_u_n_t_i_n_g System V provides accounting software
appropriate for a production system in the form of several
tools used to create complex combined reports. The graphics
facilities may be used to automatically produce charts
showing various system parameters (disk reads and writes per
head, number of swaps in and out, kernel buffer statistics,
etc.). These have useful impact in justifying your facility
to upper-level management.
4.1C has kernel hooks to collect similar accounting
information (including paging statistics) but lacks the
graphical output facilities. The facilities provided proved
quite adequate for the purposes of actual system management
in a non-billing environment, however.
3. Installation and Configuration
The installation and configuration documents are
sufficiently complete that few problems should be
encountered when following their instructions. Known
problems are noted below.
3.1 Installation
Both systems are delivered in the traditional Unix
format, viz. a set of half inch magnetic tapes containing
copies of all the binaries, source code, and documentation,
plus accompanying hardcopy documentation (Western Electric
sells manuals ready for use, while Berkeley supplies
duplication-quality masters). 4.2 will come with a console
cassette and floppy, so it will no longer be necessary to
hand-code initial bootstraps.
More information about the Comp.sources.unix
mailing list