SDS 940 Time-Sharing System Technical Manual
Total Page:16
File Type:pdf, Size:1020Kb
Price: $3.50 SOS 940 TIME-SHARING SYSTEM TECHNICAL MANUAL SDS 90 11 16A November 1967 SCIE NTIFIC DATA SYSTEMS/1649 Seventeenth Street/Santa Moni co, Cal iforn ia ©1967. Scientific Data Systems. Inc Pnnted In USA. PREFACE This preliminary manual describes the Berkeley Time-Sharing System as modified for the SDS 940 Computer. The design and implementation of the system is explained, as well as certain of its operational features. The manual covers this in three major parts: Mon itor, Executive, and subsystems. Chapters 2-11 deal with the Monitor, chapters 12-19 discuss the Executive, and chapters 20-28 explain the various system programmed operators (SYSPOPS) and branch system routines (BRS) that can be used with this system. Illustrations and explanations are also given of important tables associated with the sys tem, such as the PAC Table, Phantom User Queue Entry, Job Table, Pseudo Memory Table, etc. This publication is a reference guide for experienced programmers rather than a primerfor beginners. It assumes that the reader is fami Iiar with the basi c concepts of the SDS 940 Time-Sharing System. Additional information about the system can be obtained from the related publications listed below. RELATED PUBLICATIONS Title Publication No. SDS 940 Computer Reference Manual 900640 SDS 940 Terminal Users Guide 90 11 18 SDS 940 FORTRAN II Reference Manual 90 00 10 SDS 940 BASIC Reference Manual 90 11 11 SDS 940 TAP Reference Manual 90 11 17 SDS 940 DDT Reference Manual 90 11 13 SDS 940 CAL Reference Manuai 90 Ii 14 SDS 940 QED Reference Manual 90 11 12 SDS 940 FORTRAN II Technical Notes 90 11 42 SDS 940 FORTRAN IV Reference Manual 90 11 15 NOTICE The specifications of the software system described inthis publication are subject to change without notice. The availability or performance of some features may depend on a specific configuration of equipment such as additional tape units or larger memory. Customers should consult thei r SDS sales representative for details. ii CONTENTS l. INTRODUCTION 15. SUBSYSTEMS 38 2. THE SCHEDU LER 16. MISCELLANEOUS EXECUTIVE FEATURES 39 Forks 1 17. MISCELLANEOUS MONITOR BRSs 39 The Program Active Table 1 The Phantom User 4 18. STRING PROCESSING SYSTEM 40 3. FORKS AND JOBS 5 19. FLOA TING POINT 40 Creation of Forks 5 Operating Characteristics 43 Memory Acquisition 6 Panic Conditions 6 20. BRS AND SYSPOP INDEXES 45 Jobs 7 Index of BRSs and System Operators 4. PROGRAM INTERRU PTS 8 by Number 45 Index of BRSs and SYSPOPs by Type 47 5. THE SWAPPER, MEMORY ALLOCATION AND RAD ORGANIZATION 9 2l. SCHEDULING, FORKS AND PROGRAM INTERACTION 52 Relabeling 9 22. INPUT/OUTPUT 65 6. MISCELLANEOUS FEATURES 11 23 .. TELETYPES 84 7. TELETYPE INPUT/OUTPUT 12 24. MEMORY 96 8. ORGANIZATION OF DISC AND BUFFER DEVICES 15 25. STRING PROCESSING 103 File Storage on Disc 15 26. NUMBERS 113 File Buffers 15 Devices 18 27. EXECUTIVE COMMAND OPERATIONS 120 System Data on Outer Arm Positions of Disc_ 19 28. MISCELLANEOUS 121 9. SEQUENTIAL FILES 19 Sequential Disc Files 19 Other Sequential Files 21 File Control Blocks 22 APPENDIXES Character Buffers 22 Permanently Open Files 22 A. GLOSSARY OF TERMS 127 10. SUBROUTINE FILES 23 B. GENERAL DESCRIPTION OF THE 1l. EXECUTIVE TREATMENT OF FILES 23 COMBINED FILE DIRECTORY 129 12. EXECUTIVE COMMANDS RELATED TO FILES 27 13. EXECUTIVE COMMANDS 28 ILLUSTRATIONS 14. OPERATOR EXECUTIVE ROUTINES 29 Function 29 l. PAC Tabl e - One Per Fork 2 Description of Control Commands 29 2. Phantom User Queue Entry 4 Operating Procedures 30 General Operating Instructions 30 3. Significance of Bits in A Register 5 Program Loading and Assembly Procedure __ 30 Description of Operator Executive 4. Job Tables 7 Routines 30 5. Pseudo Memory Table PMT Entries 9 iii 6. Disc Map 16 TABLES 7. Buffers 17 1. Activation Conditions for Currently 8. Device Tables 18 Inactive Fork 3 9. File Control Block 22 2. Panic Table 5 3. Teletype Table 12 10. Fixed File Numbers 22 4. Control Numbers 20 11. File Directory Arrangement 25 5. Device Numbers 21 6. File Control for Mag-tape 21 12. Hash Table Entry 26 7. Control Commands 29 13. Format Word for Floating Point 42 8. Error Conditions 43 iv 1. INTRODUCTION The SDS 940 Time-Sharing System consists of three main Since the user cannot address the computer directly, the res parts: Monitor, Executive, and subsystems. ident SYSPOP and BRS utility routines have been provided to allow him to perform I/o functions and control other sys The Monitor is the portion of the system concerned with tem operati ons. When accessed, these routi nes cause a transfer to monitor mode of operati on and a branch to a pro • scheduling cessing routine. The BRS instruction requires an integer in its address field that specifies the function to be performed. • input/output operati ons SYSPOP instructions require no such integer. Each SYSPOP • interrupt processing name is unique and specifies, by itself, the function desired. Not all of these routines are accessible to every user; special • memory allocation user status is required to access some of the routines. • swapping of programs and data from disc to core memory Subsystems are maj or processors such as FORTRA N II, CAL, • control of active programs QED, etc. These subsystems are programs that are permanent ly connected to the main system. Each subsystem is called The Executive is concerned with by name through the Executive. Tables in the Executive in dicate how the subsystem is to be started and where its en • the command language through which the user controls tries are in the shared memory table. the system from his teletype The processors implemented as 940 subsystems have such a high identi fi cati on of the vari ous users • rate of usage that they have been written as reentrant programs, • the specification of the limits of each user's access to enabl i ng many users to share the same processor si mu I taneousl y. the system Programming reference information on the major subsystems • control of the directory of symbol i c fi I e names, and is contained in individual manuals listed under related pub backup storage for these fi I es lications in front of this manual. 2. THE SCHEDULER FORKS control, each operating independently. There is also a tem porary storage area called a TS block that is shared with The 940 Ti me- Shari ng System is pri mari I y concerned wi th each active fork associated with a user. program entities called forks. A fork is a self-contained body of code for performing some process. At any point during this process it is possible to activate another fork. THE PROGRAM ACTIVE TABLE Forks are similar to programs and subprograms in other sys tems, but they differ from their non-time-sharing-system A fork is defined by its entry in the program active table counterparts in a number of important respects. (PAC table or PACT). This table contains all the informa ti on requi red to speci fy the state of the computer that the A fork can be all or part of a program. It can have one or user is programming, except for that contained in the user's more forks or subprograms running concurrently under its memory or in the system's permanent tabl es. Each PACT fu II control. entry has the format shown in Figure 1. A fork can share all, part, or none of its allocated memory Note that the PACT contains locations for saving the pro with the controlling program. gram counter, P, and the contents of the A register. The B and X registers are saved in the TS block. The PACT 01 so Forks are similar to subroutines, except that, theoretically, contains two pseudo-relabel ing registers for the user. A all forks making up a program could be executing simulta third one, that specifies the monitor map, is kept in the job neousl yin the ti me-shari ng mode. However, forks can, and tables. Pseudo-relabeling is discussed in detail in Chapter frequently do, exist in a hierarchical relationship with one 5. The word PTEST determines the conditions under which another. the fork should be reactivated if it is not currently running. There is at least one fork associated with each active user The panic table address in PTAB and the three pointers called in the system, but a user can have many forks under his PFORK, PDO'vVN and PPAR are discussed in Chapter 3. Introduction/The Scheduler Next queue or next program on queue PNEXT <0 - next ro ram <0 - next ueue o 10 23 PL Saved (P) o 1 2 3 8 9 10 23 PA Saved (A) o 23 Rll First pseudo-relabel ing register o 23 RL2 Second pseudo-relabeling register o 23 PPTR PDOWN PFORK or chain for free entries 0 11 12 23 Test word addrs., or into no., or status PTEST of dead fork 23 PQU I~I~ 10 1 QR 1QTAB PPAR o 1 2 3 8 9 11 12 23 PTAB IWI~ IIJOb No. H Panic Table Address I o 1 2 3 8 9 10 23 IEM PIM 0 XPB TO I~I~ 1~1oI1 2 3 4:56789 10 :111 o 1 2 3 4 14 15 17 18 20 21 23 UM USei mode (1) Add no memory OV Overflow TP Termination pending (checks for rubout) EX Executive program NT Non-terminabi I ity EXB Exec BRS IEM Interrupt enable mask QR Amount of long quantum left 1-4 System interrupt QTAB Index for long quantum 5-10 = Program interrupt LM Local memory 11 = Interrupt on di sc errors EX1 Subsystem status XPB Index to PB in TS block TS TS block assigned TO Ti me out interrupt armed Figure 1.