
To read this you will have already executed the command:

   % zcat uSystem.tar.Z | tar -xf -

Before installing the uSystem, please take the time to print off a copy of
an appropriate License Agreement in:

   kernel/doc/license/{research,educational}.tex

have it signed by an authorized officer representing your institution or
company, and forward a copy to:

   Software Coordination Manager
   Office of Research
   University of Waterloo
   Waterloo, Ontario  N2L 3G1
   CANADA

Also, you should read the statement about copying the uMonitor preprocessor
in "monitor/doc/license/COPYING".

Currently, the uSystem is supported on the following machines (MIPS, M68k,
Intel 386, VAX, NS32k, Sparc), vendors (Apollo, DEC, MIPS, Sequent, SGI,
SUN, Encore), and operating systems (BSD 4.3 compatible, IRIX 3.3) are now
available.  On Sequent, Encore and SGI machines the uSystem can use the
multiple processors.

The uSystem requires at least GNU C 1.37.1. For the Encore and Sequent
Balance, GNU C version 1.37.1 must be patched with the supplied patches.
The uSystem will NOT compile using other compilers.

The Sequent and Encore versions are setup so that GNU C always uses the
vendors assembler because the GNU assembler does not handle the assembler
directives generated from GNU C when the "-fshared-data" flag is used.
This allows the uSystem to function even when GNU C is installed using the
GNU assembler.


There is a C shell script in file INSTALL at the same level as this README
file. Simply type "INSTALL" in the home directory where the uSystem will
reside. You will be prompted for several pieces of information about the
environment in which uSystem is being installed. Choices are given in {...}
and the particular choice must be typed exactly like the name given in the
{...} list.

If you want to move the uSystem to a new location in the file structure
after installation, you must run the INSTALL shell script at the new site
in the file structure.  This will update any hard coded path names to
reflect the new location.

Most directories have a README file that discusses what is going on at that
level and what dependencies exist.

If you have problems or questions or suggestions, you can send e-mail to
"usystem@maytag.waterloo.edu" or "usystem@maytag.uwaterloo.ca" or mail to:

   uSystem Project
   c/o Peter A. Buhr
   Dept. of Computer Science
   University of Waterloo
   Waterloo, Ontario
   N2L 3G1
   CANADA

There is a paper about version 4.1 of the uSystem in the Sept 1990 issue of
Software-Practise and Experience.


The following directories contain the source code for making the uSystem,
the commands to compile programs containing calls to the uSystem, the
documentation for the uSystem, and examples programs that show how to use
the uSystem.

bin - This directory contains the executables used to compile programs
      that use the the uSystem.

inc,src,lib - These directories contains the include files, source code and
              object files for any general routines used by other routines
              in the uSystem.

TeX - This directory contains TeX macros for formatting the uSystem
      documentation.

kernel - This directory contains the documentation, source code and "make"
         files to construct the uKernel.

library - This directory contains the documentation, source code and "make"
          files to construct the uLibrary.

monitor - This directory contains the documentation, source code and "make"
          files to construct the monitor preprocessor.

examples - This directory contains example programs that illustrate the
           different facilities in the uSystem.

dmake - This directory contains the source code for "dmake", which is a
        modified version of "make".

gnu - This directory contains patches for GNU C, which are necessary for
      compiling the uSystem on Sequent Balance and Encore computers.
