💾 Archived View for spam.works › mirrors › textfiles › hacking › rsx11m.txt captured on 2023-06-14 at 16:56:21.
-=-=-=-=-=-=-
)_/:> 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, <CR> indicates that a carriage return terminates the input line. >TIM[E] <CR> or TIME <CR> 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 <CR>.The command >ABO TT1: <CR> 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. -:-:-:-:-:-:- /-:=-/:>:::::<C>:1984:Terminus:::&:::Lord:Digital:::::<:\-=:-\ /--------------------------------------------------------------\ <*=- Call: Metro Net System 001 At: <301>-944/3023 -=*>