This tape contains the source for several improvements made at the
Air Force Data Services Center, The Pentagon, Room 1D988, 
Washington, DC, (202) 695-6161, by Walter Lazear and Charles Muir.

Kernel Change - Alternate block strategy

	This algorithm reduces the critical area of a disk pack
to the boot block and the super block, by providing alternate
blocks for all other areas, including the alternate block area.
The 'mkfs' command has been modified to read and write every
block in the potential file system and note the error returns
as bad blocks.  A 48 word area in the superblock is used to
hold the bad block numbers, with the alternate block site
being a 48 block area off the end of the target file system.
Note:  bad alternate blocks are designated by a special number
in the 48 word area.  Since the key to alternate blocks is
kept in the superblock, only mounted file systems take advantage
of this feature.  The kernel has been modified outside of the
device drivers to scan the superblock list for any block
destined for I/O and to change the actual block number to
that of the alternate area block.  Programs which contain
their own definition of the file system and can work on
unmounted file systems were also modified.

Kernel Change - Swap error recovery strategy

	The bad block problem solved above does not address
space outside a file system, such as the swap area.  This
space is managed via a bit map in the kernel.  University
of Illinois mods to the swapping algorithm have been applied
to recover from swap errors by dropping pieces of swap area
as they go bad.

Kernel Change - System Id Information System Call

	Since we are supporting a number of similar systems for
many customers, some software required tailoring for each system
in order to operate properly.  This is done dynamically, through
a system call that passes back a buffer of info, such as system
name (80 chars), processor type, peripheral numbers and kinds,
and software release version.

Extended text editor

	Building on University of Illinois' 'xed' and 'em',
AFDSC has enhanced the editor to provide improved global
capabilities, in-stream command files, automatic carriage
return insertion, column handling, and help facilities.

Extended Shell

	Building on Yale's shell with variables, we have
added more initializations (including $T (your terminal name)
that allows interactive shell files), a "prev"ious command
editor (like xed's "open"), mailbox checking every 20 commands,
"next" files that are shell files done by the original shell,
not a forked copy, and search rules that include current directory,
home directory/bin, /bin, and /usr/bin.

Electronic Mail

	Sndmsg is an extension of the commonly found version.
It allows distribution lists (private or public), receipts,
changing header info before delivery, escapes to the shell,
nroffing the body, editing the body, and, of course, help.

	Mail is totally rewritten to allow the handling of
individual messages.  In this version, you make a pass through
your mailbox, treating each message in turn.  You can forward
them, answer them, append them to files, delete them, read them,
save them, and, of course, get help.  A future version will
allow direct access to messages, rather than the current
sequential pass.

Miscellaneous Tools

	Arfi - gathers specific word(s) from a line, or partial
		words.
	Dog - gathers specific groups of lines from files, by line
		number.
	Dump - produces the standard UNIX dump tape, but will not
		let you create an incremental tape that you could
		not possibly restore because of lack of space!
	Queue and dequeue - a general queueing program for all sorts
		of uses (overnight execution, printer, tape queues,
		special forms queue, etc.).  Dequeuing is done either
		by cron or by operator, with output device, lock file,
		and number of copies set by individual queue.  Prt
		is a sample line printer formatter that dequeue calls
		for each file on the line printer queue.  Allows
		office routing information on burst page and large
		letters on header page, as well as classification.
	Query - reads from file descriptor 2 for interactive shell files.
		Can check response for certain answers.
	System - prints the system id information in shell file usable
		format.
	Ps - process status, but with interactive or cycling option.
	Other programs (checks, df, mkfs, dump and restor) all have slight
		modifications for alternate block usage as detailed
		above.
