RSTS/E V8.0 Internals Manual

Company:Digital Equipment Corporation
Part:AA-CL35A-TE
Date:1984-09
Keywords:

Table of Contents

  • Part I Overview of RSTS/E Functionality
  • Chapter 1 Overview of RSTS/E Functionality
    • 1.1 Job Management
      • 1.1.1 Timesharing and Allocation of System Resources
      • 1.1.2 Privilege
      • 1.1.3 Interjob Communication
      • 1.1.4 Shared Common Code
      • 1.1.5 Batch Processing
    • 1.2 Device Control
      • 1.2.1 Disks and File Processing
        • 1.2.1.1 Disk Types
        • 1.2.1.2 File System
        • 1.2.1.3 Data Caching
        • 1.2.1.4 Backup
      • 1.2.2 Magnetic Tape Processing
      • 1.2.3 Terminal Handling
      • 1.2.4 Line Printer Spooling
    • 1.3 Operational Control
      • 1.3.1 Keyboard Monitors and Command Languages
      • 1.3.2 System Management
      • 1.3.3 System Reliability
  • Part II The Monitor
  • Chapter 2 Monitor Structure
    • 2.1 Major Components
    • 2.2 Memory Usage
      • 2.2.1 Memory Management Hardware
      • 2.2.2 Memory Mapping
        • 2.2.2.1 Monitor Mapping
        • 2.2.2.2 File Processor Mapping
        • 2.2.2.3 User Mapping
    • 2.3 Component Interaction
      • 2.3.1 Subroutine Linkage (CALLMI)
      • 2.3.2 Component Scheduling (L3QUE)
  • Chapter 3 Job Control
    • 3.1 Data Structures
      • 3.1.1 Job Table (JOBTBL)
      • 3.1.2 Job Data Block (JDB)
        • 3.1.2.1 Primary Job Status Flags (JDFLG)
        • 3.1.2.2 Secondary Job Status Flags (JDFLG2)
      • 3.1.3 Secondary Job Data Block (JDB2)
      • 3.1.4 I/O Block (IOB)
      • 3.1.5 Work Block (WRK)
      • 3.1.6 Job Status Tables (JBSTAT and JBWAIT)
      • 3.1.7 Fixed Memory Locations
    • 3.2 Job Scheduling
      • 3.2.1 Runnable Jobs
      • 3.2.2 Job Priority
      • 3.2.3 Round-Robin Scheduling
      • 3.2.4 Run Burst
      • 3.2.5 Subscheduling
  • Chapter 4 Memory Control
    • 4.1 Data Structures
      • 4.1.1 Memory Control Sub-Blocks (MCB)
        • 4.1.1.1 Memory Status Information (M.CTRL)
      • 4.1.2 Resident Memory List (MEMLST)
      • 4.1.3 Desired Residency List (RESLST)
    • 4.2 Memory Scheduling
      • 4.2.1 Memory Manager
        • 4.2.1.1 Residency Quantum
        • 4.2.1.2 Locking
      • 4.2.2 Swap Manager
        • 4.2.2.1 Swap Files
  • Chapter 5 Monitor Services
    • 5.1 User/Monitor Interface
      • 5.1.1 Privilege
      • 5.1.2 User Low Core Area
        • 5.1.2.1 Job Keyword (KEY)
        • 5.1.2.2 File Request Queue Block (FIRQB)
        • 5.1.2.3 Transfer Request Block (XRB)
      • 5.1.3 User Request Processing
    • 5.2 Interjob Communication
      • 5.2.1 Receiver ID Block (RIB)
      • 5.2.2 Pending Message Block (PMB)
    • 5.3 Monitor Block
      • 5.3.1 Buffer Types
        • 5.3.1.1 Small Buffers
        • 5.3.1.2 Large Buffers
      • 5.3.2 Arrangement of Free Space
      • 5.3.3 Buffer Usage
        • 5.3.3.1 Fall Back Allocation
        • 5.3.3.2 Contorted Addresses
        • 5.3.3.3 Large Buffer Headers
        • 5.3.3.4 Small Buffer Chain Blocks
  • Chapter 6 Device Control
    • 6.1 General Overview
      • 6.1.1 Device Characteristics
      • 6.1.2 Processing Flow
    • 6.2 Device Identification
      • 6.2.1 Physical Device Names
        • 6.2.1.1 Device Type Names (DEVNAM)
        • 6.2.1.2 Unit Numbers (DEVCNT)
        • 6.2.1.3 Mapping to Individual Device Structures (DEVPTR and DEVTBL)
      • 6.2.2 Logical Device Names
        • 6.2.2.1 System-Wide Logicals (LOGNAM)
        • 6.2.2.2 User Logicals (USRLOG)
    • 6.3 Device Data Blocks (DDB)
    • 6.4 General Drive Structure
      • 6.4.1 Driver Index
      • 6.4.2 PSECT Usage
        • 6.4.2.1 Driver Code (xxDVR)
        • 6.4.2.2 Interrupt Dispatch Code (xxDINT)
        • 6.4.2.3 Permanently Mapped Code (xxDISP)
        • 6.4.2.4 Read/Write Data (xxDCTL)
        • 6.4.2.5 Read-Only Data (xxDTBL)
      • 6.4.3 Service Routines and Monitor Dispatch Table
        • 6.4.3.1 Assign (ASN$xx and ASNTBL)
        • 6.4.3.2 Deassign (DEA$xx and DEATBL)
        • 6.4.3.3 Open (OPN$xx and OPNTBL)
        • 6.4.3.4 Close (CLS$xx and CLSTBL)
        • 6.4.3.5 I/O Service (SER$xx and SERTBL)
        • 6.4.3.6 Interrupt Service (INT$xx)
        • 6.4.3.7 Level Three Queue Reentry (nnn$xx)
        • 6.4.3.8 Error Logging (ERL$xx and ERRTBL)
        • 6.4.3.9 Timeout (TMO$xx and TMOTBL)
        • 6.4.3.10 Sleep Check (SLP$xx and SLPTBL)
        • 6.4.3.11 Special Service (SPC$xx and SPCTBL)
        • 6.4.3.12 UNIBUS Mapping Register (UMR$xx and UMRKB)
    • 6.5 Additional Monitor Support Tables
      • 6.5.1 Device Dependent Flags (FLGTBL)
      • 6.5.2 Line Width (SIZTBL)
      • 6.5.3 I/O Buffer Size (BUFTBL)
      • 6.5.4 JBWAIT/JBSTAT Status Bits (JSBTBL)
      • 6.5.5 Timeout Counters (TIMTBL)
      • 6.5.6 Control and Status Register Addresses (CSRTBL)
  • Part III Disk I/O and the File Processor
  • Chapter 7 Disk Terminology
    • 7.1 Disk Types
      • 7.1.1 Public versus Private Disks
      • 7.1.2 File-Structured versus Non-File-Structured Disks
    • 7.2 Logical and Virtual Blocks
    • 7.3 Clusters
      • 7.3.1 Device Clusters
      • 7.3.2 Pack Clusters
      • 7.3.3 File Clusters
      • 7.3.4 Directory Clusters
      • 7.3.5 Cache Clusters
    • 7.4 File Processor Blocks
    • 7.5 File Processor Unit Numbers
  • Chapter 8 On-Disk Structures
    • 8.1 Directory Blockettes
      • 8.1.1 File Directory Cluster Map (FDCM)
      • 8.1.2 Attribute Blockettes
      • 8.1.3 Holes
    • 8.2 Directory Links
    • 8.3 Master File Directory (MFD)
      • 8.3.1 MFD Label Blockette
      • 8.3.2 GFD Device Cluster Numbers
      • 8.3.3 Group Attribute Links
    • 8.4 Group File Directories (GFDs)
      • 8.4.1 GFD Label Blockette
      • 8.4.2 UFD Device Cluster Numbers
      • 8.4.3 User Name Blockette Links
      • 8.4.4 User Name Blockette
      • 8.4.5 User Accounting Blockette
    • 8.5 User File Directories (UFDs)
      • 8.5.1 UFD Label Blockette
      • 8.5.2 File Name Blockette
      • 8.5.3 File Accounting Blockette
      • 8.5.4 File Retrieval Blockette
    • 8.6 Minimal File Structure
      • 8.6.1 Boot Block
      • 8.6.2 Disk Pack Label
      • 8.6.3 Bad Block File
      • 8.6.4 Storage Allocation Table
  • Chapter 9 The File Processor
    • 9.1 Data Structures
      • 9.1.1 FIP Control Area
      • 9.1.2 FIP Request Queue (FIQUE)
      • 9.1.3 FIP Block Sub-block (FBB)
      • 9.1.4 Internal Work Structures
        • 9.1.4.1 Directory Buffer (FIBUF)
        • 9.1.4.2 Disk SAT Buffer (SATBUF)
        • 9.1.4.3 Miscellaneous Data Items
      • 9.1.5 Overlay Structures
        • 9.1.5.1 Overlay Buffer (OVRBUF)
        • 9.1.5.2 Overlay Virtual Addresses (FIPTBL)
        • 9.1.5.3 Overlay Actual Addresses (OVBASE)
      • 9.1.6 File-Related Structures
        • 9.1.6.1 File Control Block (FCB)
        • 9.1.6.2 Window Control Block (WCB)
    • 9.2 Overview of Processing
      • 9.2.1 FIP Interface
      • 9.2.2 General Processing
        • 9.2.2.1 Asynchronous Processing
        • 9.2.2.2 Synchronous Processing
      • 9.2.3 Overlay Processing
      • 9.2.4 Directory Searches
      • 9.2.5 Window Turning
  • Chapter 10 Disk I/O Subsystem
    • 10.1 General Structure
    • 10.2 Data Structures
      • 10.2.1 Control Tables
        • 10.2.1.1 Unit Count Table (UNTCNT)
        • 10.2.1.2 Unit Cluster and Unit Error Table (UNTCLU/UNTERR)
        • 10.2.1.3 Device Cluster and Cluster Ratio Table (DEVCLU/CLUFAC)
        • 10.2.1.4 Unit Owner and Unit Option Table (UNTOWN/UNTOPT)
        • 10.2.1.5 Disk Index Table (DSKMAP)
        • 10.2.1.6 Unit Size Table (UNTSIZ)
        • 10.2.1.7 Unit Library Table (UNTLIB)
        • 10.2.1.8 SAT Size Table (SATSIZ)
        • 10.2.1.9 SAT Pointer Table (SATPTR)
        • 10.2.1.10 Count of Free Blocks (SATCTL and SATCTM)
        • 10.2.1.11 Start of SAT (SATSTL and SATSTM)
      • 10.2.2 Disk Request Queue Entry Block (DSQ)
    • 10.3 Overview of Processing
      • 10.3.1 Logical Disk Processing
      • 10.3.2 Physical Disk Processing
  • Chapter 11 Caching
    • 11.1 Basic Concepts
      • 11.1.1 Extended Buffer Pool (XBUF)
      • 11.1.2 Directory Caching
      • 11.1.3 Data Caching
        • 11.1.3.1 Cache Clusters
        • 11.1.3.2 Caching Modes
    • 11.2 Data Structures
      • 11.2.1 Cache Control Area
      • 11.2.2 Cache Tags
      • 11.2.3 Write Cache Tags
    • 11.3 Overview of Processing
      • 11.3.1 Directory Cacher (BUF)
      • 11.3.2 Data Cacher (BUFEXT)
  • Part IV Terminal Service and the Human Interface
  • Chapter 12 Terminal Service Features and Functions
    • 12.1 Supported Hardware Characteristics
      • 12.1.1 Interface Characteristics
        • 12.1.1.1 Synchronous versus Asynchronous Communication
        • 12.1.1.2 Transmission Speeds
        • 12.1.1.3 Parity Checking
        • 12.1.1.4 Modem Control and Ring Values
        • 12.1.1.5 Single Line versus Multiline
      • 12.1.2 Terminal Characteristics
        • 12.1.2.1 Full Duplex versus Local Echo
        • 12.1.2.2 Horizontal Tab Control
        • 12.1.2.3 Form Feed and Vertical Tab Control
        • 12.1.2.4 Lowercase Input
        • 12.1.2.5 Lowercase Output
        • 12.1.2.6 Scope RUBOUT Processing
        • 12.1.2.7 Fill Counts
        • 12.1.2.8 XOFF/XON Synchronization
    • 12.2 Software Features
      • 12.2.1 Pseudo-Keyboards
      • 12.2.2 Multiterminal Handling
      • 12.2.3 Echo Control
      • 12.2.4 Escape Sequence Processing
      • 12.2.5 Private Delimiters
      • 12.2.6 Binary Input
      • 12.2.7 Conditional Input
      • 12.2.8 Gagging a Terminal
      • 12.2.9 Suppression of Automatic Carriage Return
      • 12.2.10 Guarded Mode
      • 12.2.11 Processing of Incoming XOFF/XON
      • 12.2.12 Terminal Special Function (.SPEC)
        • 12.2.12.1 Cancel Control-O
        • 12.2.12.2 Set Tape Submode
        • 12.2.12.3 Disable Echo
        • 12.2.12.4 Enable Echo and Clear Tape Submode
        • 12.2.12.5 Enable ODT Submode
        • 12.2.12.6 Cancel All Type Ahead
        • 12.2.12.7 Force Input to Keyboard
        • 12.2.12.8 Broadcast Output to Terminal
        • 12.2.12.9 Private Delimiter Subfunction
      • 12.2.13 FMS Support
      • 12.2.14 RSX Mode Terminal I/O
  • Chapter 13 Terminal Service Structure
    • 13.1 Data Structures
      • 13.1.1 Keyboard Numbers
      • 13.1.2 Standard Terminal Structures
        • 13.1.2.1 Device Data Block (Fixed Portion)
        • 13.1.2.2 Device Data Block (Variable Portion)
        • 13.1.2.3 Monitor-Level Specifications
      • 13.1.3 Pseudo-Keyboard Structures
        • 13.1.3.1 Device Data Block
        • 13.1.3.2 Monitor-Level Specifications
      • 13.1.4 Device Data Block for Detached Jobs
      • 13.1.5 Additional Monitor-Level Data
    • 13.2 Processing Overview
      • 13.2.1 Terminal I/O Functions
        • 13.2.1.1 Assign and Deassign Processing
        • 13.2.1.2 Open Processing
        • 13.2.1.3 Close Processing
        • 13.2.1.4 Timeout Processing
        • 13.2.1.5 User I/O Processing
        • 13.2.1.6 Interrupt-Level Processing
        • 13.2.1.7 Special I/O Processing
        • 13.2.1.8 Error Logging and Sleep Checking
      • 13.2.2 Pseudo-Keyboard I/O Functions
        • 13.2.2.1 Open Processing
        • 13.2.2.2 Close Processing
        • 13.2.2.3 User I/O Processing
        • 13.2.2.4 Interrupt-Level Processing
        • 13.2.2.5 Special I/O Processing
        • 13.2.2.6 Sleep Checking
      • 13.2.3 Job-Related Functions
        • 13.2.3.1 Creating a Job
        • 13.2.3.2 Detaching a Job
        • 13.2.3.3 Terminating a Job
  • Chapter 14 The Human Interface
    • 14.1 Keyboard Monitors
      • 14.1.1 Default Keyboard Monitors
      • 14.1.2 Command Environments
    • 14.2 Concise Command Language
      • 14.2.1 Data Structures
        • 14.2.1.1 CCL Command Block
        • 14.2.1.2 Core Common String (CORCMN)
      • 14.2.2 System Processing
      • 14.2.3 Rules of Precedence
  • Part V Shared Common Code
  • Chapter 15 Run-Time Systems
    • 15.1 General Concepts
      • 15.1.1 Primary and Auxiliary Run-Time Systems
      • 15.1.2 Run-Time System Emulators
      • 15.1.3 User-Written Run-Time Systems
    • 15.2 Monitor Control Structures
      • 15.2.1 Run-Time System Descriptor Block (RTS)
      • 15.2.2 Disappearing RSX Descriptor Block (NULRTS)
    • 15.3 Pseudo-Vector Region
    • 15.4 Trap Processing
      • 15.4.1 Synchronous Trap Processing
        • 15.4.1.1 Special EMT Prefix Feature
      • 15.4.2 Asynchronous Trap Processing
    • 15.5 Entry Points
  • Chapter 16 Resident Libraries
    • 16.1 General Concepts
      • 16.1.1 Library Mapping Within the User Job
      • 16.1.2 Installing a Library
      • 16.1.3 Program Access
      • 16.1.4 Position Independent Code
    • 16.2 Program Logical Address Space (PLAS) Directives
    • 16.3 Monitor Control Structures
      • 16.3.1 Resident Library Descriptor Block (LIB)
      • 16.3.2 Window Descriptor Block (WDB)
  • Part VI System Generation and Initialization
  • Chapter 17 System Generation
    • 17.1 Tailoring the SYSGEN System
    • 17.2 Generating the Target System
      • 17.2.1 Copying the Required Files
      • 17.2.2 Determining the Target System Configuration
      • 17.2.3 Assembling and Linking the Monitor Components
      • 17.2.4 System Generation During Normal Timesharing
    • 17.3 Tailoring the Target System
    • 17.4 Building the System Library
  • Chapter 18 System Initialization
    • 18.1 General Structure
    • 18.2 Data Structures
      • 18.2.1 Device Index Numbers
      • 18.2.2 Parameter Buffers
      • 18.2.3 Hardware Configuration Tables
        • 18.2.3.1 Device Scan Table (DEVTBL)
        • 18.2.3.2 Standard CSR Locations (CSRDEC)
        • 18.2.3.3 Floating Bus Address Table (FLTBA)
        • 18.2.3.4 Nonstandard CSR Addresses (SETTBL)
        • 18.2.3.5 Actual CSR Addresses (CSRTBL)
        • 18.2.3.6 Vector Addresses (VECTBL)
        • 18.2.3.7 Device Characteristics (TYPTBL)
        • 18.2.3.8 Unit Media Overrides (UMIDST)
        • 18.2.3.9 Miscellaneous Hardware (HWTABL)
        • 18.2.3.10 Device Status Table (DSTABL)
      • 18.2.4 Mini-FIP Tables
        • 18.2.4.1 Disk Characteristics Tables
        • 18.2.4.2 Boot Memory
        • 18.2.4.3 Mini-FIP Control Area
    • 18.3 Processing Overview
      • 18.3.1 Secondary Bootstrap
      • 18.3.2 Autosizing Code
      • 18.3.3 Main Program Segment
      • 18.3.4 Physical I/O Routines
      • 18.3.5 Logical I/O Routines (Mini-FIP)
    • 18.4 Option Processing
      • 18.4.1 Initializing a RSTS/E Disk (DSKINT)
      • 18.4.2 Copying System Files to Disk (COPY)
      • 18.4.3 Patching the System Software (PATCH)
      • 18.4.4 Installing a Save-Image Library (INSTAL)
      • 18.4.5 Changing System Files (REFRSH)
      • 18.4.6 Specifying the Hardware Configuration (HARDWR)
      • 18.4.7 Setting System Default Parameters (DEFALT)
      • 18.4.8 Changing Device Characteristics (SET)
      • 18.4.9 Starting Timesharing (START)
      • 18.4.10 Bootstrapping a Device (BOOT)
      • 18.4.11 Invoking Save/Restore (SAVRES)

Copies

Address: http://bitsavers.org/pdf/dec/pdp11/rsts_e/V08/AA-CL35A-TE_8.0intern_Sep84.pdf
Site: Al Kossow's Bitsavers
Format: PDF
Size: 18795618 bytes (17.9 MiB)
MD5: 494078d7caccdb2defbbb715b175bfed
Mirrors:
 
Address: http://elvira.stacken.kth.se/rstsdoc/rsts-doc-v80/extra/AA-CL35A_RSTS8.0_Internals.pdf
Site: ELVIRA
Format: PDF
Size: 18797222 bytes (17.9 MiB)
MD5: a758c312fd488f248a3f50bf046d835f