{Begin SubSec Alto Executive}
{Title Alto Executive}
{Text

{index Alto Executive}

{Tag AltoExecutive}

When the Alto Executive is running, it displays two lines of status information near the top of the screen.  Included in this information is the amount of space that is left for storing files.  This space is measured in disk pages; each page contains 512 bytes.  It is prudent to keep at least 150 disk pages available.  If your disk has fewer, delete some files, perhaps after sending them to a file server.



{Begin SubSec Correcting Typing Errors}
{Title Correcting Typing Errors}
{Text

When typing at the Executive and a mistake is made, there are a few special keys that can be used to correct the mistake.
The {lisp BS} (backspace) key or {lisp CTRL-A} erases the last character you typed and {lisp CTRL-W} erases the last word typed.
The {lisp DEL} key cancels the command that was currently being typed.
It displays "{lisp XXX}", and starts a new line with a fresh "{lisp >}" prompt character. 

}{End SubSec Correcting Typing Errors}



{Begin SubSec File Name Patterns}
{Title File Name Patterns in Executive}
{Text

The Executive provides simple facilities for handling files.  It allows a group of files to be named by using file name patterns containing the characters "{lisp *}" and "{lisp #}".  The "{lisp *}" character stands for any string of characters.  For example, the pattern "{lisp *.ABC*}" stands for all the files which have {lisp ABC} as the first three characters of the extension.  The "{lisp #}" stands for any single character; for instance, "{lisp ###.memo}" stands  for all the files which have a three character main name and the extension "{lisp memo}."  To see what a pattern expands into, type {lisp CTRL-X} immediately after typing it to get it expanded.

If a file name or pattern is typed to the Executive, and then {lisp TAB} is pressed, a list of all the files whose names start with that name will be displayed.  For example, typing:

{lispcode >*.ABC{super TAB}}

will get a list of all files which have an extension starting with the characters {lisp ABC}.

If {lisp ESC} is pressed after typing the first few letters of a file, the Executive will add as many characters as it can to complete a file name. If  "{lisp ?}" is typed, a list of all files that start with what has already typed will be displayed.  The user can then go on and finish the file name. 

The characters for getting file names expanded are summarized in the following list:

{Begin LabeledList}

{Indent 20percent}

{label {lisp ESC}}
{text Completes the file name if possible; if not, completes as much as it can, and flashes the screen.}

{label {lisp TAB}}
{text Shows all the file names that match what has been typed since the last blank, and erases what has previously been typed.}

{label {lisp ?}}
{text Like {lisp TAB}, but does not erase anything.}

{label {lisp CTRL-X}}
{text Retypes the command line with all file name patterns replaced by the list of file names they expand to.}

{End LabeledList}

}{End SubSec File Name Patterns}



{Begin SubSec Executive Commands}
{Title Executive Commands}
{Text

The Executive contains a number of facilities that can be invoked from the command line. The commands that invoke these can be identified by the extension character "{lisp ~}", which is illegal in a file name.  Executive commands include the following:

{Begin LabeledList Executive commands include the following}

{label {lisp Type.~ {arg FileName}{cr}}}
{text
Displays the contents of the named file(s) on the screen. After each page, it asks whether you want to see more of the current file.  A {lisp DEL} at this point terminates the entire {lisp Type} command. A space (or other charactaer) will display the next page.
}

{label {lisp Delete.~ {arg FileName}{cr}}}
{text
Removes the named file from the directory and frees the disk space occupied by them.   Typing {lisp CTRL-C} will abort the command cleanly between deletions.  Note: Be very careful when using this command.  Its effect cannot be reversed.
}

{label {lisp Copy.~ {arg DestFileName} ← {arg SourceFileName}{cr}}} 
{text
Copies a file.  If there are several {arg SourceFileName}s, the copy will contain the concatenation of the information in the source files in the order listed.  Copying a single file preserves the creation date of the file; concatenating files generates a new creation date.
}

{label {lisp Rename.~ {arg OldFileName} {arg NewFileName}{cr}}{Tag AltoComRename}}
{label {lisp Rename.~ {arg NewFileName} ← {arg OldFileName}{cr}}}
{text
Changes the name of {arg OldFileName}.  {arg NewFileName} must not already exist unless {arg OldFileName} and {arg NewFileName} are the same (differing only in case).
}

{label {lisp Quit.~{cr}}}
{text
Starts a diagnostic program which does not use the Operating System. This is done automatically after a machine has been idle in Executive for about 20 minutes.  If {lisp DMT.Boot} is not on the disk and the machine is connected to a communication net, {lisp DMT} will be obtained from a remote source.{note wrong??}
}

{Text
If the system is not connected to a PUP Ethernet with Boot servers,  the screen goes white following a {lisp Quit} command.
}

{label {lisp Login.~{cr}}}
{text
Saves away the user's name and password for use by programs that interact with access-controlled resources (such as time-sharing or file systems).
}

{label {lisp SetTime.~{cr}}{Tag AltoComSetTime}}
{text
Sets the internal time-of-day clock.  The time is obtained from the communications net (if available).  Failing that, the user will be asked to supply manually the time (and possibly time zone) in the form {lisp 12-OCT-81 14:45}. Use {lisp SetTime/m} to bypass the communications net and set time manually. Use {lisp SetTime/z} to force setting of time zone in manual mode. (When the Executive is started, it examines the time-of-day clock.  If the value is not reasonable, the Executive attempts to obtain the time from the communications net before proceeding.  If the time cannot be obtained, the time-of-day displayed at the top of the screen will be "Date and TimeUnknown" indicating that the user should invoke the {lisp SetTime.~} command manually.)
}

{Text
As a side effect of obtaining the time from the communications net, the Executive learns the network number of the local communications net (if available) and displays it along with the machine's host address in one of the header lines at the top of the screen.  A network number of 0 means "I don't know."
}

{label {lisp Dump.~ {arg DumpFile} {arg SourceFile1} {arg SourceFile2} {ellipsis}{cr}}}
{text
Writes {arg DumpFile} as a structured file (in "Dump" format) containing the names and data of all the {arg SourceFile}s.  This is a convenient way of packaging up a collection of related files into a single composite file that can later be decomposed into its constituent parts.
}

{label {lisp Load.~ {arg DumpFile}{cr}}}
{text
This reads through a Dump format file and creates individual files corresponding to its constituent parts.  The {lisp /V} switch causes {lisp Load} to ask the user about each constituent part, whether to copy it from {arg DumpFile} to an individual file or not.  Acceptable responses are {lisp Y}, {lisp N}, and {lisp C}. The latter indicates that the file is to be copied, but into a file with a different name than that indicated.  The user is then asked to supply the name of the new file.
}

{label {lisp Release.~{cr}}}
{text
Tells the release number and date of Executive.  The release number is also shown in the first Executive herald line, just after the slash following "Xerox Alto Executive."
}

{label {lisp Install.~{cr}}}
{text
Install is used for changing names and passwords.  The program will ask the following questions.  Provide the answers indicated:
}

{UnLabeled
{Begin table Provide the answers indicated}

{COLUMN}	{COLUMN}

{hskip 20}

{First Question}
{Next Answer}

{First Do you want the long installation dialog?}
{Next {lisp N}o}

{First What is your name?}
{Next <Enter your name>{cr}}

{First Please give your disk a name:}
{Next <Enter name>{cr}}

{First Do you wish to give your disk a password?}
{Next {lisp Y} or {lisp N}}

{First Enter password (if answer is yes)}
{Next <Enter password>{cr} {it (note: password is echoed)}}

{End table Provide the answers indicated}

}

{label {lisp Scavenger.~{cr}}}
{text
This invokes the Scavenger program (described below) which attempts to recover from a variety of possible disk problems.
}

{label {lisp FileStat.~ {arg FileName}{cr}}}
{text
This command will tell several things about a file: its length in bytes; size in pages; serial number and disk address; and creation, read, and write dates.  If {arg FileName} is of the form {lisp octal/s} (or {lisp octal1,octal2/s}) the file will be looked up by serial number rather than by name.  This is useful if Scavenger or some other program gives a serial number without providing the name.  The forms {lisp octal/v} and {lisp octal/r} tell about the files that own the specified virtual or real disk address.
}

{label {lisp WriteDirectory.~{cr}}}
{text
This command causes the Executive to write a sorted version of the directory back onto SysDir on the disk.  Keeping the directory approximately sorted on the disk greatly reduces the time required for the Executive to sort it during initialization.  The Executive will periodically perform a WriteDirectory in an attempt to keep the directory reasonably sorted.  WriteDirectory also will compact the directory, collecting all the free space at the end and will report several statistics about directory usage.
}

{End LabeledList Executive commands include the following}

Some other Executive commands are found on all Xerox 1100 systems but are usable only by those systems whose installation support a complete set of PUP communication net facilities.

}{End SubSec Executive Commands}




{Begin SubSec Recovering From Disasters: The Scavenger}
{Title Recovering From Disasters: The Scavenger}
{Text

{Tag AltoScavenger}


There are various ways in which a disk can become damaged.  If this happens, the procedures described here will usually allow the user to recover the disk, or at worst will allow files to be copied from the sick disk to a healthy one.  (Copying files from one disk to another assumes that the system has access to a communications net or that the system configuration allows communication between two Xerox 1100 systems.)

Here are the symptoms of trouble:

{Begin UnlabeledList}

{text You can't boot the disk and get to the Executive.}

{text You are out of disk space, but think you should have plenty; in other words, some disk space has apparently gotten lost.}

{text You get an error message which says something about disk errors or file errors, and perhaps recommends that the Scavenger program be run.}

{text You attempt to run a program that has previously functioned well and it fails.}

{End UnlabeledList}

The first step is to run a program called Scavenger.  If the disk is healthy enough to let you boot and use the Executive, invoke Scavenger by typing:

{lispcode Scavenger{cr}}

The program will ask the following questions.  Provide the answers indicated:


{Begin table}

{COLUMN}	{COLUMN}

{Hskip 20}

{First Question}
{Next Answer}

{First Do you want to change disks?}
{Next {lisp No}}

{First Ready to scavenge dual model 44 (14 sector) file system [confirm]}
{Next {lisp Y} or {cr}}

{First May I alter your disk to correct errors?}
{Next {lisp Y}}

{End table}


The Scavenger will now run for about 5 minutes.   As it runs, it may ask you whether it is OK to correct "read errors."   If they are "soft transient" errors, answer {lisp Y} (yes).  When the Scavenger is done, it will list what it found. If it has succeeded in making the disk healthy, work can then proceed normally.

The Scavenger leaves all the material that it was not able to put into a recognizable file on a file called {lisp Scavenger.Garbage$}, and it leaves a readable record of everything it did on another file called {lisp Scavenger.Log$} (unless it says that you have a beautiful disk).  There are two kinds of entries in {lisp Scavenger.Log$}; names of files removed from the directory or otherwise modified, and names of file pages that were put into {lisp Scavenger.Garbage$}.  Delete the file {lisp Scavenger.Garbage$} and {lisp Scavenger.Log$} that the Scavenger leaves around.  It is a good idea to go through this scavenging procedure once a month or so, just to keep disks in good shape.


}{End SubSec Recovering From Disasters: The Scavenger}

{Begin Note}
Date: 2 Feb. 1983 2:04 pm PST (Wednesday)
From: desRivieres.PA
Subject: Scavenger, Createfile, and LISP.VIRTUALMEM

Several questions/ observations regarding ALTO executive stuff generated by my
(unsuccessful) attempt to reallocate LISP.VIRTUALMEM:

1.  Createfile.run is mentioned on page 1.5 (of the latest INTERLISP-D manual) as
being critical, yet there is no mention of how to use Createfile in appendix B.  In
particular, I want to recover from deleting LISP.VIRTUALMEM.   What are the
parameters to Createfile, and how big should LISP.VIRTUALMEM be?

2.  Scavenger.run is mentioned on page 1.5 as being a critical file;  appendix B
talks about running Scavenger.~.  Is there a difference?

3.  There is a discrepency between the file names mentioned on page B.5 and the
ones my scavengers created;  "Scavenger.Log$" instead of "ScavengerLog; 
"Scavenger.Garbage$" instead of "Garbage.$".

4.  If there is merit in reallocating LISP.VIRTUALMEM to decrease fragmentation
of the disk image, it would be nice to see the manual describe when (and when
not) and how to do this.

Date:  2-Feb-83 14:26:54 PST (Wednesday)
From: vanMelle.PA
Subject: Re: Scavenger, Createfile, and LISP.VIRTUALMEM
In-reply-to: desRivieres' message of 2 Feb. 1983 2:04 pm PST (Wednesday)

1. Createfile.run <filename> <size>, e.g.
Createfile.run Lisp.virtualmem 9000D
(D denotes decimal).  Should be run on a nearly empty disk, as it is
desirable to have the file be allocated contiguously.

2. Scavenger.run is critical unless you are on a net (and with a boot
server), in which case the Scavenger.~ command invokes Scavenger from
the boot server.  They are the same program.

3. Scavenger conventions have changed; the documentation should indeed
be updated to call the files Scavenger.Log$ and Scavenger.Garbage$.

4. As far as we know, it is always desirable to have Lisp.virtualmem be
contiguous, and hence always useful to reallocate it if it has become
fragmented.  The latest Lisp release (Chorus) now warns you when it is
forced to enlarge the vmem file in a way that is not contiguous.
{End Note}


}{End SubSec Alto Executive}