Moose Glossary

Dr. Hayden haydedr@WKUVX1.BITNET
Wed, 24 Feb 1993 13:22:45 CST


Hello!

I've had a bad case of flu for the last two days now, so I logged on
today to find I had only 25 mail messages.  Needless to say, I'll be
reading a while :-)

I've enjoyed the discussion on memory management, and I'll post my
summary as soon as I make one ;-)  (I've got a bunch of ideas, but
it's hard to transmit them unless they're written out).

As far as a glossary goes, I'd like to pose the following definitions
to help in our discussion of Moose "kernelology":

o  Session - this is our unit of I/O device sharing, if you will.
   Each session contains all the needed logical devices (keyboard, video
   buffer, etc).  Processes (defined later) perform user I/O on these
   devices only.

o  Process - this is the unit of resource management for Moose.  A
   process is created by starting a program.

o  Thread  - unit of processor dispatching.  So essentially, a process
   doesn't really run, but a thread does.  Processor time is allocated
   to threads, not to processes.

Here's a simple diagram of the realtionship between the three terms:

+--------------------------------------+
|                Process               |
| +---------------+                    |
| |Process virtual|                    |
| |address space  |                    |
| +---------------+                    |
|                                      |
| +--------+   +--------+   +--------+ |
| |Thread 1|   |Thread 2|...|Thread n| |
| +--------+   +--------+   +--------+ |
|                                      |
| +----------------------------------+ |
| |Logical device handles, semaphores| |
| +----------------------------------+ |
+--------------------------------------+

How's that look?  I personally like lotsa good documentation, so I'll
probably make several diagrams like these.

Later,
Ross