.TH COHERENT "" "" "Summary"
.PC "Principles of the \*(CO System"
.PP
This article describes \*(CO:
its features, properties, and what sets it apart from other operating systems.
It also gives tips on how to port an application to \*(CO, and
describes how to un-install \*(CO from your system.
For information on how \*(CO compares with \*(MD, see the Lexicon article
on \fBMS-DOS\fR.
.SH "What Is COHERENT?"
\*(CO is a multiuser, multitasking operating system.
.I Multiuser
means that with \*(CO, more than one person can use your computer
at any given time.
.I Multitasking
means that with \*(CO, any user can run more than one program at any
given time.
The design of \*(CO employs a few elegant concepts
to give you a powerful and flexible system that is easy to use.
.SH "What is an Operating System?"
An \fIoperating system\fR is the master program that controls the
operation of all other programs.
It loads programs into memory, controls their execution, and controls
a program's access to peripheral devices, such as printers, modems,
and terminals.
.PP
Some operating systems permit only one user to use the computer at a time;
and that user can run only one program at a time.
However, you may well
want your computer to support more than one user at a time, and run more than
one program at a time.
Sharing not only yields many economies (such as allowing a group of
users to share one printer), but also allows the users to communicate
with each other and so work together more efficiently.
.PP
Any multitasking operating system must be able to do the following tasks
efficiently:
.IP \(bu 0.3i
Schedule computer time
.IP \(bu
Control mass-storage devices (disks and tape drives)
.IP \(bu
Organize disk-storage space
.IP \(bu
Protect programs from conflict
.IP \(bu
Protect stored information from destruction
.IP \(bu
Ease cooperation among users
.PP
Today's operating systems also provide \fItools\fR.
These are programs that are bundled with the operating system, and that
are designed to help you do your work more efficiently.
For example, you need editors, compilers, debuggers, and assemblers
to develop and test programs.
Text formatters and spelling checkers
help you write memoranda, manuals, or books.
Command processors (also called \fIshells\fR)
help you run the computer easily.
Status checkers tell you what programs are being run, who is using
the system, and how much space is left on your disk.
.PP
The combination of operating system and its
tools transforms a boxful of wires and circuits into a useful machine.
.SH "COHERENT Documentation"
This manual is designed to walk you through the \*(CO system.
It consists of two parts:
.I tutorials
and
.IR Lexicon .
.PP
Each tutorial introduces a particular aspect of \*(CO.
If you are a beginner, you should read the tutorials
.IR "Using the COHERENT System" ,
.IR Introducting sh, the Bourne Shell" ,
and
.IR "Introduction to MicroEMACS" .
These will give you the basic information and basic skills you need to
run \*(CO efficiently.
A beginner who is interested in learning about the C language
should look at the tutorial
.IR "The C Language" .
.PP
The tutorial
.I "The make Programming Discipline"
introduces the tool
.BR make .
This tool is essential to building any complex tool under \*(CO.
If you are going to be building tools under \*(CO, you should look
at this tutorial.
.PP
The tutorial
.I "UUCP, Remote Communications Utility"
introduces UUCP.
This bundle of programs lets your computer exchange mail and files
with other computers, even if it is unattended.
If you are all interested in networking with other computers (or
plugging into the Internet), you should look at this tutorial.
.PP
The other tutorials introduce tools that are interest to advanced users.
.PP
The Lexicon fills the latter two thirds of this manual.
It consists of more than 1,000 articles.
The articles are printed in alphabetical order, to make it easy for
you to find the one you want.
.PP
Most articles discuss a single aspect of the \*(CO system.
Some articles, called ``overview'' articles, give a broader discussion
of an entire topic.
Three overview articles are of particular interest:
.IP "\fBUsing COHERENT\fR"
This article discusses the parts of \*(CO that are of interest to an
ordinary user.
It describes such matters as the commands available with \*(CO, and
how a user can manage his own account.
.IP "\fBProgramming COHERENT\fR"
This introduces the programming tools available under \*(CO;
points to where you can find information about the \*(CO implementation of
the C programming language; and points to where you can find information
about the library routines and system calls that you can use in a program.
.IP "\fBAdministering COHERENT\fR"
This article discusses how to administer \*(CO.
It points to where you can find information on how to connect peripheral
devices;
manage mail and UUCP;
change some of \*(CO's default behaviors;
and modify and rebuild the \*(CO kernel.
It also points to the articles that describe the files with which
\*(CO manages itself.
.PP
If you cannot easily find an article that gives you the information
you want, look in the index in the back of the manual.
There is a good chance that you will find an entry there that points
to the information you need.
Also, you can use the command
.B apropos
to search the on-line version of the Lexicon for a key word that interests
you.
For details on this command, see its entry in the Lexicon.
.SH "How To Un-install COHERENT"
.II "COHERENT^uninstall"
.II "uninstall COHERENT"
To remove (or ``un-install'') \*(CO from your system, do the following:
.IP \fB1.\fR 0.3i
Log in as the superuser
.BR root .
.IP \fB2.\fR
Invoke the \*(CO version of
.BR fdisk .
.IP \fB3.\fR
Choose the option to change all logical partitions.
Don't change
.I any
parameters of any \*(MD partitions.
.IP \fB4.\fR
Change
.I all
\*(CO partitions to type
.B Unused
with a size of 0, starting and ending at 0.
.IP \fB5.\fR
Exit
.B fdisk
and update the partition table.
.IP \fB6.\fR
Reboot the computer and run the \*(MD
.B fdisk
utility to create a new \*(MD partition table.
Turn the unused space (formerly the \*(CO partitions)
into an \*(MD EXT partition.
If you already have an \*(MD EXT partition,
change its parameters so that it incorporates the unused space.
.IP \fB7.\fR
Create one or more logical
drives in the \*(MD EXT partition.
.IP \fB8.\fR
Format the new logical drives using
the \*(MD
.B format
command.
.PP
Repeated tests with \*(MD have shown that the above directions work.
However, given the many flavors and releases of \*(MD in circulation,
Mark Williams Company cannot guarantee that the above steps will always work
with \*(MD.
If they do not, consult your \*(MD manual for creating a DOS partition table
and file system on a new hard drive.
.II "Microsoft^technical support"
If that information is not available,
telephone Microsoft Technical Support at (206)454-2030.
.\" and may God have mercy on your soul ...
.SH "Uninstalling the Mark Williams Bootstrap"
.II "bootstap^uninstall"
.II "uninstall bootstrap"
The following describes how to remove the Mark Williams bootstrap program.
You must do this if you are un-installing \*(CO from your system.
.PP
To remove the Mark Williams master boot program, you must overwrite
the master boot-block on hard drive 0 with another boot program.
Usually, this is the \*(MD master boot program.
Beginning with release 5.0, the \*(MD version of
.B fdisk
has the switch
.B /mbr
that builds a new bootstrap program.
All versions of the \*(MD edition of
.B fdisk
writes a new master boot program if no valid signature appears at
the end of the current contents of the master-boot block.
.PP
If you have \*(MD version 5.0 or later, simply boot \*(MD
and run the command:
.DM
	fdisk /mbr
.DE
.PP
If your version of \*(MD predates release 5.0,
you must modify the last two bytes of the master-boot block
(to remove the magic ``signature'' that indicates a valid bootstrap program)
then boot \*(MD and run its version of
.BR fdisk .
.PP
.I Warning:
See the note in the preceeding section about \*(MD
.B fdisk
\(em back up your hard drive is backed up before you try this!
There are several ways by which you can invalidate the signature at the end
of the master-boot block.
One way is to copy any sort of garbage into the master-boot block.
You can (1) reformat cylinder 0 of your hard
drive \(em for example, using the
.B DIAGNOSTICS
menu of the AMI BIOS \(em or
(2) use \*(CO to overwrite the block, e.g., with the command:
.DM
	dd if=/coherent of=/dev/at0x count=1
.DE
.PP
The master-boot block is the first physical sector of the hard drive, i.e.,
cylinder 0, head 0, sector 1.
(Note that numbering of sectors begins with one, not zero.)
The MWC master bootstrap is part of the initial program load, and does
not belong to any operating system because it runs before an operating
system is loaded.
.PP
.I
Please read the following carefully before you attempt erase the
master-boot block:
.R
.PP
Mark Williams Company can make no promises or guarantees
concerning the behavior of any given version of the \*(MD
.BR fdisk .
Every version of the \*(MD
.B fdisk
that we have tested does not recognize partitions allocated
for other operating systems:
\*(MD cannot delete, or even display, such partitions.
Certain configurations of empty partitions cause \*(MD
.B fdisk
to hang.
.PP
Worst of all, don't
expect
.I any
data on your hard drive to be available after \*(MD
.B fdisk
rewrites an invalid master-boot block.
Our experience is that \*(MD
.B fdisk
erases all data in all partitions,
even if previously existing \*(MD partitions are re-allocated
with identical cylinder ranges as at the time of their initial creation.
.I "Caveat utilitor!"
