Tops-10 Monitor Calls Manual, Vol. 1
Total Page:16
File Type:pdf, Size:1020Kb
TOPS-10 Monitor Calls Manual Volume 1 AA-097 4G-TB October 1988 This manual describes the functions that the monitor performs to service monitor calls from assembly language programs. The TOPS-10 Monitor Calls Manual Is divided Into two volumes: Volume 1 covers the facilities and functions of the monitor; Volume 2 describes the- monitor calls, calling sequences, symbols, and GETTAB tables. This manual supe-rsedes the previous manual of the same name, SOC order number AA-0974F-TB. Operating System: . TOPS-10 Version 7.04 Software: GALAXY Version 5.1 digital equipment corporation maynard, massachusetts First Printing, November 1975 Revised, May 1977 Revised, January 1978 Revised, August 1980 Revised, February 1984 Revised, April 1986 Revised, October 1988 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. The software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software on equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Copyright © 1975, 1984, 1988 Digital Equipment Corporation All Rights Reserved. Printed in U.S.A. The Reader's Comments form on the last page of this document requests the user's critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: CI DECtape LA50 SITGO-10 DDCMP DECUS LN01 TOPS-10 DEC DECwriter LN03 TOPS-20 DECmail DELNI MASSBUS TOPS-20AN DECnet DELUA PDP UNIBUS DECnet-VAX HSC PDP-11/24 UETP DECserver HSC-50 PrintServer VAX DECserver 100 KA10 PrintServer 40 VAXNMS DECserver 200 KI Q-bus VT50 DECsystem-10 KL10 AeGIS DECSYSTEM-20 KS10 RSX ~BmBDmDTM CONTENTS PREFACE CHAPTER 1 INTRODUCTION TO MONITOR CALLS 1.1 MONITOR CALL SYMBOLS . · .. 1-2 1.2 PROCESSING MODES . · . 1-3 1.2.1 User Mode . · . 1-3 1.2.2 Executive Mode . .. .... 1-3 1.2.3 User I/O Mode . 1-4 CHAPTER 2 MEMORY 2.1 MEMORY ALLOCATION . 2-1 2.2 USER-MODE EXTENDED ADDRESSING . 2-3 2.3 USER MEMORY . .. 2-4 2.4 CONTROLLING PROG~ SEGMENTS . 2-4 2.4.1 Adjusting the Size of Segments . 2-5 2.4.2 Merging Low Segments . .. ....... 2-5 2.4.3 Writing Into High Segments . 2-5 2.4.4 Testing for a Sharable High Segment . 2-6 2.4.5 Finding the Origin of a High Segment . 2-6 2.4.6 Modifying a High Segment and Meddling . 2-6 2.5 RUNNING A PROGRAM . 2-8 2.5.1 Functions of RUN and GETSEG . 2-9 2.5.2 Reading Command Files . .. .... 2-11 2.6 CONTROLLING PAGES . 2-12 2.6.1 Handling Page Faults . 2-12 2.6.2 The System's Page Fault Handler 2-12 2.6.3 Building Your Own Page Fault Handler . 2-12 2.7 LOCKING AND UNLOCKING A JOB IN MEMORY 2-13 CHAPTER 3 JOB CONTROL 3.1 EXECUTING A PROGRAM 3-1 3.1.1 Starting a Program 3-1 3.1.2 Stopping a Program . ..... · 3-2 3.1.3 Suspending a Program . ... · . 3-3 3.2 CONTROLLING MULTIPLE JOB CONTEXTS · . 3-3 3.3 RUNTIMES, TIMES, AND DATES . 3-4 3.3.1 Runtimes . .. ...... · 3-4 3.3.2 The System Date . .. ... · 3-5 3.3.3 The Universal Date . 3-5 3.3.4 The System Time . · . 3-6 3.3.5 Date-Time Elements from GETTAB Tables · .. 3-6 CHAPTER 4 THE JOB DATA AREA 4.1 JOB DATA IN THE LOW ·SEGMENT · . 4-1 4.2 JOB DATA IN THE HIGH SEGMENT . · 4-5 CHAPTER 5 NETWORKS 5.1 ANF-10 NETWORK MONITOR CALLS . · . 5-2 5.2 ANF-10 INTERTASK COMMUNICATION . · .. 5-3 5.2.1 Initiating a Connection · . 5-4 5.2.1.1 Using the LOOKUP/ENTER UUOs 5-5 iii 5.2.1.2 Using the TSK. UUO .. ........... 5-6 5.2.2 Sending and Receiving Between Tasks . 5-7 5.2.3 Breaking the Intertask Communication . 5-8 5.3 TASK TO TASK PROGRAMMING WITH DECnet-10 . 5-8 5.3.1 Specifying a Destination Task 5-10 5.3.2 Specifying a Source Task . 5-13 5.3.3 Reading the Connect Information . 5-15 5.3.4 Accepting the Connection . .. .... 5-16 5.3.5 Rejecting the Connection. 5-17 5.3.6 Reading the Connect Confirm Data . 5-18 5.3.7 Reading the Status of the Link 5-18 5.3.8 Using the PSI System . 5-21 5.3.9 Setting the PSI Reason Mask . 5-21 5.3.10 Enabling the PSI Interface . 5-22 5.3.11 Reading and Setting the Link Quota and Goal 5-23 5.3.12 Transferring Information Over the Network 5-24 5.3.13 Sending Normal Data . 5-24 5.3.14 Receiving Normal Data . 5-25 5.3.15 Sending Interrupt Data . 5-27 5.3.16 Receiving Interrupt Data . 5-27 5.3.17 Closing a Network Connection 5-28 5.3.18 Releasing a Channel . .. 5-29 5.3.19 Aborting a Connection 5-29 5.3.20 Reading the Disconnect Data . 5-30 5.4 OBTAINING INFORMATION ABOUT DECNET-10 5-31 5.5 ETHERNET NETWORKS ....... 5-36 5.5.1 Transmitting and Receiving.Information . 5-37 5.5.2 Returned Channel Information . 5-38 5.5.3 Returned Portal Information ..... 5-40 5.5.4 Returned Controller Information . 5-40 CHAPTER 6 TRAPPING, INTERCEPTING, AND INTERRUPTING 6.1 TRAPPING ERRORS AND CONDITIONS . 6-1 6.2 INTERCEPTING ERRORS . ....... 6-3 6.2.1 Using the .JBINT Intercept Block . ...... 6-4 6.2.2 Examples of Error Intercepts . ... 6-6 6.3 USING PROGRAMMED SOFTWARE INTERRUPTS . 6-7 6.3.1 PSI Monitor Calls . 6-9 6.3.2 Interrupt Control Block . 6-10 6.3.3 Interrupt Conditions . 6-12 6.3.4 Example Using Programmed Interrupts 6-16 CHAPTER 7 COMMUNICATING BETWEEN PROCESSES USING IPCF 7.1 PACKETS . 7-1 7.2 FORMAT OF THE PHB . .. ...... 7-2 7.2.1 IPCF Instruction Flags . 7-3 7.2.2 IPCF Packet Descriptor Flags .. .... 7-4 7.2.3 Process Identifiers . 7-6 7.2.4 Symbolic Names . .. ......... 7-6 7.2.5 IPCF Capability Word . 7-7 7.3 LONG-FORM MESSAGES . .. .... 7-7 7.4 QUOTAS .. ..... ..... 7-8 7.5 SENDING AN IPCF PACKET USING IPCFS. UUO .. 7-8 7.6 RETRIEVING AN IPCF PACKET USING IPCFR. UUO . 7-9 7.7 QUERYING THE NEXT IPCF PACKET USING IPCFQ. UUO. 7-10 7.8 SYSTEM PROCESSES . 7-10 7.8.1 [SYSTEM] INFO . 7-11 7.8.2 [SYSTEM] IPCC .. .... ....... 7-15 iv CHAPTER 8 RESOURCE CONTROLS: THE ENQ/DEQ FACILITY 8.1 REQUESTING A RESOURCE . 8-2 8.1.1 Sharable Resources . ..... ..... 8-3 8.1.1.1 Resource Pools . 8-3 8.1.1.2 Partitioned Resources . 8-4 8.1.2 Multiple-Lock Request.s . 8-5 8.1.2.1 ENQ. Quotas . 8-5 8.1.2.2 Request Levels . 8-5 8.1.3 Granting Loc~s . .. 8-6 8.1.3.1 ENQ. Software Interruption . 8-6 8.1.3.2 Time Limits . .. .... 8-6 8.1.3.3 Deadlock Detection . 8-7 8.2 RELEASING RESOURCES . 8-7 8.3 PASSING DATA TO OTHER JOBS . 8-8 8.4 ENQ/DEQ MONITOR CALLS . 8-9 8.5 BUILDING REQUESTS . 8-9 8.6 QUEUEING REQUESTS: ENQ. UUO . 8-12 8.6.1 Requesting and Waiting for Locks . .... 8-13 8.6.2 Requesting Locks Only if Available . 8-13 8.6.3 Requesting and Interrupting when Locked 8-13 8.6.4 Modifying a Previous Request . 8-14 8.7 DEQUEUEING REQUESTS: DEQ. UUO . 8-14 8.7.1 Cancelling a Specific Request . 8-14 8.7.2 Cancelling All Requests for a Job . 8-15 8.7.3 Cancelling Requests Based on Request-id 8-15 8.8 CONTROLLING ENQ/DEQ: ENQC. UUO . 8-15 8.8.1 Obtaining the Status of a Request . 8-16 8.8.2 Obtaining the Quota for a Job 8-17 8.8.3 Setting the Quota for a Job . 8-18 8.8.4 Dumping the ENQ. Database . 8-18 8.9 ENQ. ERRORS . 8-21 8.10 EXAMPLE USING THE ENQ. FACILITY 8-22 CHAPTER 9 PROGRAMMING FOR REALTIME EXECUTION 9.1 CONNECTING REALTIME DEVICES ........ 9-1 9.1.1 Normal Block Mode . .. 9-6 9.1.2 Fast Block Mode . 9-8 9.1.3 Single Mode . 9-10 9.1.4 EPT Mode . 9-12 9.1.5 Exec-Mode Trapping . 9-12 9.2 USING RTTRP AT THE INTERRUPT LEVEL . 9-14 9.3 RELEASING REALTIME" DEVICES . 9-14 9.4 DISMISSING REALTIME INTERRUPTS . 9-15 9.5 ASSIGNING RUN QUEUES . .. .... 9-15 9.6 SUSPENDING OTHER JOBS 9-15 CHAPTER 10 ANALYZING SYSTEM PERFORMANCE 10.1 THE PERFORMANCE FACILITY: PERF. 10-1 10.1.1 Performance Modes . 10-1 10.1.2 Performance Enable Flags . .. ... 10-1 10.1.3 PERF. Functions . .. .. 10-2 10.1.3.1 Initializing the Performance Meter . 10-3 10.1.3.2 Starting the Performance Meter . 10-5 10.1.3.3 Reading the Performance Meter . 10-5 10.1.3.4 Stopping the Performance Meter . 10-6 10.1.3.5 Releasing the Performance Meter .