)_/:>   RSX11M Version 3.X Real Time Operating System   <:\_(

                       [:>    An Introduction    <:]

                                Written By:

                    -=%> Terminus  &  Lord Digital <%=-

  [%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-]
  [:  Originally Displayed On:  Metro - Net  System 001  [301]/944-3023   :]
  [:          -^:^-          -^:^-          -^:^-          -^:^-          :]
  [:     Other Boards may display this file as long as all credits and    :]
  [:       information that is found in the original, remains intact.     :]
  [-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%]

---------------
[ Description ]:>
---------------

     RSX11M is a disk-based real time operating system which runs on any PDP11
processor except the PDP11/03 or the LSI-11.It provides an environment for the
execution of multiple real time tasks (program images) using a priority
structured event driven scheduling mechanism.System generation allows the
user to configure the software for systems ranging in size from small 16K
word systems to 1920K word systems.
     RSX11M can be generated as either a mapped or unmapped system,depending on
whether the hardware configuration includes a KT11 Memory Management Unit.
If the configuration does not include hardware memory management the system
can support between 16K and 28K words of memory.If the configuration includes
hardware memory management,the system can support between 24K and 124K words
of memory on processors other than the PDP11/70,or between 64K words and 1920K
words on the PDP11/70.
     Memory is logically divided into partitions into which tasks are loaded
and  executed.Activity in a partition can be either user controlled or system-
controlled,the user determines the placement of tasks in the former,and the
system controls the placement of tasks in the latter.Automatic  memory com-
paction minimizes any fragmentation of a system controlled partition.Unmapped
systems support only User controlled partitions.Mapped systems support both
User controlled and System controlled partitions.
     Real time interrupt response is provided by the system's task scheduling
mechanism which recognizes 250 software priority levels.The user specified task
priority determines the task's eligibility to execute.A task can be fixed
in a partition to ensure immediate execution when it is activated,or it can
reside on disk while it is dormant to make memory available to other tasks.
Task checkpointing enables tasks to be displaced from a partition to enable a
higher priority non-resident task to execute.
     RSX11M offers complete program development facilities as well as a real
time response run-time system.Program development and real time tasks can
execute concurrently in systems with at least 24K words of memory.The system's
software priority levels enable the user to compile/assemble,debug and install
tasks without affecting real time task response.
     Tasks can be written in MACRO-11 assembly language,and optionally FORTRAN4
FORTRAN IV PLUS,COBOL 11,AND BASIC.Shareable libraries and system support for
user created libraries are provided.A text editor,utilities,symbol cross ref-
erence and task memory dump facility is provided to assist task development
and check out.
     The RSX11M file system provides automatic space allocation and file struc-
tures for all block-structured devices.Features include:

 [*> sequential,random,and relative (with RMS 11) file organizations.
 [*> file protection
 [*> device independence and logical device assignment.

     During system generation the user can select a minimum 2K word version of
the file system to conserve space.On systems with other than the minimum 2K
word version of the file system,multi header file support is provided.It
enables file size to be limited only by the capacity of the volume on which it
resides (usually systems have multiple 160 or 300 Mbyte CDC drives).
Indirect command file support provides batch like facilities.A terminal user
can create a file containing system commands.The system can then be instructed
to execute the commandf2in the file without operator intervention.The indirect
command file processor can be executing command files concurrent with real
time task execution.

-------------------
[ File Specifiers ]:>
-------------------

          DDnn:[group,member]filename.filetype;version/sw.../subsw...

Where:
       DDnn: Is the physical device name on which the volume containing
       the desired file is mounted.For example,DM1: or DQ1:.The name
       consists of two ascii characters followed by an optional one or
       two OCTAL unit number and a colon.
       (Note: In most cases,if a unit number is not given,it will default
       to 0.)
              DD - 2 alpha characters
              nn - 2 OCTAL numbers - range is (0-77)
              :  - required when device is specified

       [group,member] is the group number and member number associated with
       the User File Directory (UFD) containing the desired file.

              [      - required when UIC specified
              group  - OCTAL number - range is (0-377)
              member - OCTAL number - range is (0-377)
              ]      - required when UIC specified

       filename is the name of the file.

              filename - ALPHANUMERIC characters - maximum is 9

       .filetype is the filetype of the file.The filetype is a convenient
       means of distinguishing different forms of the same file.For example,
       a FORTRAN source program might be named COMP.FTN,the object file for
       the same program might be named COMP.OBJ and the runnable code for the
       program might be named COMP.TSK.

              .        - required when filetype specified
              filetype - ALPHANUMERIC characters - maximum is 3

       ;version is an OCTAL number that specifies different versions of the
       same file.For example,when a file is created,it is assigned a version
       number of 1 by default.Thereafter,each time the file is opened,the File
       Control System (FCS) - F11ACP.TSK - creates a new file with the same
       filename.filetype and a version number incremented by 1.

              ;       - required when version is specified
              version - OCTAL numbers - range is (1-77777)

       /sw.../subsw... discussed later

A program performs I/O on Logical Unit Numbers (LUNs) which the programmer or
an operator subsequently assigns to specific devices before the program will
actively use the LUNs.Also,in RSX11M a connected device is inoperable unless
there is a resident I/O Driver for the device type.An I/O driver performs
the functions that enable physical I/O operations to occur.RSX11M recognizes
two types of I/O devices:
        1. Physical Device Names - names associated with a hardware controller
        2. Pseudo - device names - names not associated with any physical de-
           vice until they are associated to a physical device.

Name      Mfgr          Physical Device
----      ----          ---------------
DB        DIVA          COMPUTROLLER V Controller
DK        DEC           RK11 Controller
DM        SI            Model 4500 Controller
DP        SI            Model 9500 Controller
DQ        SI            Model 9500 Controller with shared computer option
DX        DEC           RX11 Controller
FX        SMS           FT0100D Floppy Controller
LP        VERSATEC      Controller and Printer/Plotter
LT        TI            Model 810 Line Printer
MT                      Magtape Controller
                        (DEC TMI Controller)
                        (WP Western Peripherals)
                        (Cipher Magtape Controller)
PP        DEC           PC11 Paper Tape Punch
PR        DEC           PC11/PR11 Paper Tape Reader
TT                      Any terminal connected
XL        DEC           DL11-E Asynchronous Communications Line Interface

Logical devices are System Generation (SYSGEN) options of RSX11M that allow
the user to assign logical names to physical devices by means of the MCR
command 'ASN'.

Code                      Device Function
----                      ---------------

LB      System Library.Disk containing System Libraries
SD      Disk which contains all files necessary for normal system use
SY      System default device containing all tasks and files which do not need
        to be accessed for write functions during normal system operation.
CO      Console Output Device,device to which System error messages are sent.
        This is normally 'RED'irected to TT0:
CL      Console Listing Device.Device which receives all I/O for default LUN 6
        This is normally 'RED'irected to TT0:
TI      Terminal Input device,terminal from which a task was requested.

                        NULL Device
                        -----------
NL      The Bit Bucket


----------------------------
[ User Identification Code ]:>
----------------------------

The purpose of User Identification Codes (UIC) is to provide a method through
which files can be allocated,located and maintained on a device.On a random
access device there are User File Directories (UFD) in which files are cata-
logued.A particular UFD is referenced by specifying the associated UIC.UICs
are of the form:           [group,member]
The group number identifies the groups of directories.The member number is
used to identify a specific member of a particular group.The conventions are:

        1. Group numbers between 0 and 7 (octal) are reserved for access by
           the 'system operator'.Users assigned a group number in this range
           are therefore referred to as 'privileged users'.
        2. The UIC [0,0] is reserved for the System Directory.The associated
           UFD contains a directory of all UFD's on the device.This UFD is
           therefore the Master File Directory (MFD).
        3. No user can be assigned the UIC [0,0].

           Common UIC's on RSX11M Version 3.X

        0,0  Master File Directory
        1,1  System Libraries
        1,2  Startup and Help Files
        1,3  Lost File Directory
        1,6  Error Logging Files
        1,54 DEC System Tasks
        7,2  Error message files
        7,3  Queue Manager Files


--------------------
[ Getting Specific ]:>
--------------------

     Filetypes

     .CMD   Indirect Command File (edited and created by the editor)
     .DAT   Data File
     .DOC   Document File
     .HLP   Help File
     .LST   List file (generated by the MACRO-11 Assembler)
     .MAC   MACRO-11 Source File (Assembler)
     .MAP   Task Map File
     .MLB   Macro Library File (used by BIGMAC.TSK)
     .MSG   Message File
     .OBJ   Compiled Task Object File
     .OLB   Object Library File (used by BIGTKB.TSK)
     .PMD   Post Mortum or Snapshot Dump File (core dump)
     .SML   System Macro Library File
     .STB   Task Symbol Table File
     .SYS   Bootable Operating system File
     .TMP   Temporary File
     .TSK   Task or Driver Image File
     .TXT   Text File

        File Specification Defaults
------------------------------------------------------------------------------
|  Field        |                Default                                     |
------------------------------------------------------------------------------
| DDnn:         | SY:                                                        |
------------------------------------------------------------------------------
| [ggg,mmm]     | The UIC with which you logged on,or a UIC determined by    |
|               | the MCR command   SET /UIC=[ggg,mmm]                       |
------------------------------------------------------------------------------
| filename      | No Default                                                 |
------------------------------------------------------------------------------
| filetype      | Depends on the command string in which the file specifier  |
|               | appears.                                                   |
------------------------------------------------------------------------------
| version       | For Input files,the highest existing version.For Output    |
|               | files,the highest existing version + 1.Note that some cmds |
|               | require an explicit version number.                        |
------------------------------------------------------------------------------

                    WILDCARDS (an asterisk convention)

------------------------------------------------------------------------------
| DDnn:         | Cannot be wildcarded.Must be specified or default to SY:   |
------------------------------------------------------------------------------
| [ggg,mmm]     | All UIC's on the specified or default device except [0,0]  |
------------------------------------------------------------------------------
| Filename      | All filenames with the specified,defaulted or wildcarded   |
|               | UIC,type and version.                                      |
------------------------------------------------------------------------------
| Filetype      | All filetypes with the specified,defaulted or wildcarded   |
|               | UIC,name and version.                                      |
------------------------------------------------------------------------------
| Version       | All versions of the specified,defaulted or wildcarded UICs |
|               | names,and types.                                           |
------------------------------------------------------------------------------

-----------------------------
[ Monitor Console Interface ]:>
-----------------------------

The operator communicates with the RSX11M system from one of the following
terminals:

              [*> Teletype Models ASR/KSR-33 or ASR/KSR-35
              [*> LA-30 or LA-36 DECwriter,or
              [*> VT05,VT50,VT50H,VT52,or VT55 Display
              [*> MicroComputer emulating one of the above

MCR (Monitor Console Routine) is the interface between the terminal and the
RSX11M system.An operator communicates with MCR by typing input in response
to the default prompt '>' at an unattached terminal,or by typing input to the
explicit MCR prompt 'MCR>' at any terminal.

------------------
[ Command Syntax ]:>
------------------

It is not necessary to type the entire command name when submitting a command.
MCR requires only the first three letters of the command name,followed by the
command parameters,if any exist.If parameters exist,they must be proceeded by
at least one blank or tab.
The following example shows how the TIME command can be specified.Note that the
square brackets in the example indicate that the 'E' is optional;there the
first three letters indicate the command name.The angle brackets denote that
the enclosed values are not literally part of the command syntax.For example,
 indicates that a carriage return terminates the input line.

>TIM[E]   or TIME    is acceptable

------------
[ Keywords ]:>
------------

Some commands use keywords that generally apply to a command argument.A key-
word consists of a slash '/' followed by an '=' sign and the value of the
keyword,as follows:  /Keyword=value . Keywords can be entered in any order.As
an example of keyword usage,the Install command requires a filename argument
specifying the task to be installed.Keywords can be appended to the filename.
One such keyword, /TASK,can specify the name under which the task can be in-
stalled.

------------
[ Comments ]:>
------------

MCR treats a line of text as a comment if the first character in the line is
a semi-colon ';'.In addition,the exclamation mark '!' may be used to delimit
comments in a command.The first exclamation mark starts the comment and the
next exclamation mark or end of line terminates the comment.All text between
the two exclamation marks is ignored.For example: >; This line is a comment.
>TAS !This is a comment string! Comment are useful to clarify commands in
MCR indirect command files,remember those ?

--------------------------------------
[ Command References to Active Tasks ]:>
--------------------------------------

Task-Naming Convention - In a system that supports multi-user protechMon,more
than one copy of a task can be active simultaneously.When a user requests a
task that is already active,having requested from another terminal,the MCR
dispatcher automatically creates a name for a copy of the requested task:
tskTnn where nn is the unit number of the requesting terminal.However,to refer
to that task from the terminal that requested it,the user need only specify
the three character task name (tsk).For example,if a user requests PIP from
TT2:,when PIP is already running at another terminal,the MCR dispatcher runs
a task called PIPT2.To abort PIPT2 from TT2:,the users enters the command:
ABO PIP and MCR aborts the correct version of PIP.However to abort TT2:'s
version of PIP from another Terminal,a privileged user (me) must type:
>ABO PIPT2.Note that this naming convention does not apply to tasks requested
by the MCR RUN command.
Install-Run-Remove Tasks - whenever a user activates a task by means of the
install-run-remove option of the RUN command,the MCR Dispatcher names the
task TTnn: where nn is the unit number of the terminal that requested the
task.To refer to task TTnn: in a command issued from terminal TTnn:,the user
can omit the task name altogether.For example,if a user issues the command
>RUN $CALC from TT1:,MCR runs the task in a file called CALC.TSK listed
in the system directory (for example,[1,54] in a mapped system),and names
it TT1.To abort this task from TT1:,the user can issue the Abort command
without specifying a parameter; that is, >ABO .The command >ABO TT1: 
issued either from TT1: or any privileged terminal also causes MCR to abort
the task originally referred to as $CALC in a RUN command issued from terminal
TT1:.Only a privileged user,or a user at a privileged terminal,can abort a
task requested from another terminal.

                                 -:-:-:-:-:-:-

        /-:=-/:>::::::1984:Terminus:::&:::Lord:Digital:::::<:\-=:-\
       /--------------------------------------------------------------\
      <*=-      Call: Metro Net System 001 At:  <301>-944/3023      -=*>