This table of contents gives an idea of the features of Multics and the topics that were important to explain to programmers using the system. This version of the manual came out after MR11.0, sometime around 1984. An earlier version of the manual, AG91-01, dated December 1975, has been scanned and put online by Al Kossow.
(Links are to the Multics Glossary.)
Section 1 | Multics Concepts and Characteristics | 1-1 | ||||
System Concepts | 1-1 | |||||
System Characteristics | 1-2 | |||||
Segments | 1-3 | |||||
Virtual Memory | 1-3 | |||||
Paging | 1-4 | |||||
Process | 1-4 | |||||
Selective Sharing | 1-5 | |||||
Access Control List | 1-6 | |||||
Access Isolation Mechanism | 1-6 | |||||
Ring Structure | 1-6 | |||||
System Administration | 1-7 | |||||
User Interfaces | 1-7 | |||||
Environment Shaping | 1-7 | |||||
System Software | 1-8 | |||||
PL/I | 1-8 | |||||
FORTRAN | 1-8 | |||||
BASIC | 1-8 | |||||
COBOL | 1-8 | |||||
APL | 1-8 | |||||
Pascal | 1-9 | |||||
ALM | 1-9 | |||||
Qedx | 1-9 | |||||
Ted | 1-9 | |||||
Emacs | 1-9 | |||||
Communications Software | 1-9 | |||||
Sort/Merge | 1-9 | |||||
GCOS Environment Simulator | 1-10 | |||||
Multics Graphics System | 1-10 | |||||
Multics Data Base Manager | 1-10 | |||||
Multics Report Program Generator | 1-10 | |||||
Logical Inquiry and Update System | 1-10 | |||||
Word Processing | 1-10 | |||||
Extended Mail Facility | 1-10 | |||||
Executive Mail | 1-11 | |||||
Forum | 1-11 | |||||
Executive Forum | 1-11 | |||||
Transaction Processing Tools | 1-11 | |||||
The FAST/DFAST Facility | 1-11 | |||||
Menu Creation Facilities | 1-11 | |||||
Inter-Multics File Transfer Facility | 1-11 | |||||
Report Writer | 1-11 | |||||
File Transfer To and From Personal Computers | 1-11 | |||||
Other Support Facilities and Tools | 1-12 | |||||
Access to the System | 1-12 | |||||
Service to Large and Small Users | 1-13 | |||||
System Design | 1-13 | |||||
Continuous Operation | 1-13 | |||||
System Reliability | 1-13 | |||||
Glossary of Multics Terms | 1-14 | |||||
Section 2 | Multics Storage System | 2-i | ||||
Segment References | 2-1 | |||||
Logical Volumes | 2-2 | |||||
Logical Volume Attachment | 2-4 | |||||
Master Directories | 2-4 | |||||
Storage System Entry Types | 2-6 | |||||
Segment | 2-6 | |||||
Directory | 2-6 | |||||
Link | 2-6 | |||||
Multisegment File | 2-6 | |||||
Data Management File | 2-6 | |||||
Extended Entry Types | 2-7 | |||||
Entry Attributes | 2-7 | |||||
System Directories | 2-13 | |||||
Section 3 | Naming, Command Language, and Terminal Usage | 3-1 | ||||
Constructing and Interpreting Names | 3-1 | |||||
Entrynames | 3-1 | |||||
Pathnames | 3-2 | |||||
Archive Component Pathnames | 3-4 | |||||
Star Names | 3-5 | |||||
Constructing Star Names | 3-5 | |||||
Interpreting Star Names | 3-5 | |||||
Equal Names | 3-7 | |||||
Constructing Equal Names | 3-7 | |||||
Interpreting Equal Names | 3-8 | |||||
Archive Component Pathnames and Equal Names. | 3-12 | |||||
Reference Names | 3-14 | |||||
Entry Point Names | 3-15 | |||||
Command, Subroutine, Condition, and I/O Switch Names | 3-16 | |||||
Request IDs | 3-16 | |||||
Date/Time Names | 3-17 | |||||
Date/Time Input Values | 3-17 | |||||
Time Strings (DT Values) | 3-17 | |||||
Date/Time Output Values | 3-23 | |||||
Time Format | 3-23 | |||||
List of Format Keywords | 3-23 | |||||
Command Language | 3-31 | |||||
Command Environment | 3-32 | |||||
Simple Command Line | 3-32 | |||||
Compound Command Line | 3-33 | |||||
Reserved Characters and Quoted Strings | 3-34 | |||||
Iteration | 3-35 | |||||
Active Strings | 3-36 | |||||
Concatenation | 3-39 | |||||
Typing Conventions | 3-40 | |||||
Canonical Form | 3-41 | |||||
Canonicalization | 3-43 | |||||
Column Assignment | 3-44 | |||||
Overstrike Canonicalization | 3-44 | |||||
Overstrike Canonicalization Examples | 3-45 | |||||
Replacement Canonicalization | 3-45 | |||||
Replacement Canonicalization Examples | 3-47 | |||||
Erase and Kill Characters | 3-48 | |||||
Examples of Erase and Kill Processing | 3-50 | |||||
Escape Sequences | 3-51 | |||||
Typing Convention Examples | 3-52 | |||||
Column Canonicalization Examples | 3-53 | |||||
Erase, Kill, and Escape Examples | 3-53 | |||||
Terminal Output | 3-56 | |||||
Carriage Motion | 3-56 | |||||
Delays | 3-57 | |||||
Output Escape Sequences | 3-58 | |||||
Continuation Lines | 3-58 | |||||
End-of-Page Processing | 3-58 | |||||
Escape Conventions on Various Terminals | 3-58 | |||||
Selectric Devices | 3-59 | |||||
Upper-Case-Only Devices | 3-60 | |||||
Execuport 300 | 3-60 | |||||
CDI Model 1030 | 3-61 | |||||
Flow Control | 3-61 | |||||
Input Flow Control | 3-61 | |||||
Output Flow Control | 3-62 | |||||
Block Transfer | 3-62 | |||||
Section 4 | Multics Programming Environment | 4-1 | ||||
Program Preparation | 4-1 | |||||
Programming Languages | 4-1 | |||||
Creating and Editing the Source Segment | 4-2 | |||||
Creating an Object Segment | 4-3 | |||||
Object-Segment Format | 4-4 | |||||
Debugging Facilities | 4-5 | |||||
Writing a Command | 4-5 | |||||
Writing an Active Function | 4-7 | |||||
Address Space Management | 4-9 | |||||
Dynamic Linking | 4-9 | |||||
Search Rules | 4-10 | |||||
Binding | 4-11 | |||||
Making a Segment Known | 4-12 | |||||
Address Space Management Subroutines | 4-13 | |||||
Multics Stack Segments | 4-14 | |||||
Stack Header | 4-14 | |||||
Stack Frames | 4-14 | |||||
Combined Linkage Region | 4-14 | |||||
Clock Services | 4-14 | |||||
Access to System Clocks | 4-15 | |||||
Facilities for Timed Wakeups | 4-16 | |||||
Writing a Process Overseer | 4-16 | |||||
Process Initialization | 4-17 | |||||
Process Overseer Functions | 4-19 | |||||
Some Notes on Writing a Process Overseer | 4-21 | |||||
Direct Process Overseers | 4-21 | |||||
Handling of Quit Signals | 4-21 | |||||
Creating an Extended Entry | 4-22 | |||||
Interactive Subsystem Programming Environment | 4-27 | |||||
Subsystem Invocations | 4-27 | |||||
Use of sci_ptr and info_ptr in Interactive Subsystems | 4-28 | |||||
Stand-Alone Invocations | 4-28 | |||||
Monitoring Subsystem Usage | 4-29 | |||||
The Subsystem Environment | 4-29 | |||||
Subsystem Request Loop | 4-30 | |||||
Subsystem Request Language | 4-30 | |||||
Modifying the Standard Request Processor | 4-32 | |||||
The rp_options Structure | 4-33 | |||||
Defining a Request Language | 4-34 | |||||
Abbreviation Processing | 4-37 | |||||
Writing Subsystem Requests | 4-38 | |||||
Argument Processing | 4-38 | |||||
Error Handling | 4-39 | |||||
The Apply Request | 4-39 | |||||
Subsystem Requests and Multics Commands | 4-40 | |||||
Subsystem Areas and Temporary Segments | 4-43 | |||||
Using exec_coms in Subsystems | 4-43 | |||||
Tailoring the Subsystem Environment | 4-44 | |||||
Replaceable Procedures for cpescape and unknown_request | 4-45 | |||||
Request Loop Replaceable Procedures | 4-46 | |||||
Other Replaceable Procedures | 4-47 | |||||
Subsystem Documentation Facilities | 4-47 | |||||
Subsystem Info Segments and Directories | 4-48 | |||||
Using the Standard Requests Info Segments | 4-49 | |||||
Subsystem Debugging Facilities | 4-50 | |||||
Subsystem Request Tables | 4-50 | |||||
Standard Requests and Standard Request Tables | 4-51 | |||||
Using Standard Requests | 4-51 | |||||
Defining Request Tables | 4-52 | |||||
Using the Request Macros | 4-52 | |||||
Syntax | 4-53 | |||||
The request Macro | 4-53 | |||||
The set_default_flags Macro | 4-55 | |||||
The unknown_request Macro | 4-55 | |||||
The multics_request Macro | 4-56 | |||||
The set_default_multics_flags Macro | 4-57 | |||||
The set_default_Multics_doc Macro | 4-58 | |||||
Section 5 | Input and Output Facilities | 5-1 | ||||
Multics Input/Output System | 5-1 | |||||
System Input/Output Modules | 5-2 | |||||
How to Perform Input/Output | 5-4 | |||||
Input/Output Switches | 5-7 | |||||
Attaching a Switch | 5-7 | |||||
Opening a Switch | 5-8 | |||||
Closing a Switch | 5-9 | |||||
Detaching a Switch | 5-9 | |||||
Synonym Attachments | 5-10 | |||||
Standard Input/Output Switches | 5-14 | |||||
Initialization of External Pointer Variables | 5-14 | |||||
Interrupted Input/Output Operations | 5-14 | |||||
Programming Language Input/Output Facilities | 5-15 | |||||
File Input/Output | 5-15 | |||||
Unstructured Files | 5-16 | |||||
Sequential Files | 5-16 | |||||
Blocked Files | 5-17 | |||||
Indexed Files | 5-18 | |||||
File Opening | 5-20 | |||||
File Closing | 5-22 | |||||
File Position Designators | 5-22 | |||||
Terminal Input/Output | 5-24 | |||||
tty_ Support | 5-24 | |||||
window_io_ Support (the Video System) | 5-24 | |||||
What is a Window | 5-24 | |||||
Window Capabilities | 5-25 | |||||
Positioning the Cursor | 5-25 | |||||
Selective Erasure | 5-26 | |||||
Scrolling | 5-26 | |||||
Selective Alteration | 5-26 | |||||
Miscellaneous | 5-26 | |||||
Real-Time Editing | 5-27 | |||||
The Erase Character | 5-27 | |||||
The Kill Character | 5-27 | |||||
The Line Editor | 5-27 | |||||
Moving the Cursor | 5-28 | |||||
Deleting Characters and Words | 5-28 | |||||
Retrieving Deleted Text | 5-28 | |||||
Other Editor Requests | 5-30 | |||||
Writing Editor Extensions | 5-31 | |||||
Line Editor Routines | 5-32 | |||||
Window Editor Utilities | 5-35 | |||||
End-Of-Window Processing | 5-37 | |||||
More Processing | 5-37 | |||||
Output Buffering | 5-38 | |||||
Structure of the Video System | 5-38 | |||||
I/O Modules | 5-38 | |||||
Subroutines | 5-39 | |||||
Command | 5-39 | |||||
Using the Video System | 5-39 | |||||
Attaching the Video System | 5-39 | |||||
Detaching the Video System | 5-42 | |||||
Design Requirements for Windows | 5-43 | |||||
Create Window Operation | 5-44 | |||||
Important Window Requests | 5-44 | |||||
Change Window Operation | 5-47 | |||||
Destroy Window Operation | 5-47 | |||||
Clear Window Operation | 5-49 | |||||
Magnetic Tape Input/Output | 5-49 | |||||
Magnetic Tape Input/Output in Releases Previous to MR 11.0 | 5-49 | |||||
Magnetic Tape Input/Output in MR 11.0 | 5-50 | |||||
Bulk Input and Output | 5-50 | |||||
Printed Output | 5-50 | |||||
Vertical Format Control | 5-51 | |||||
Punched-Card Output | 5-53 | |||||
Punched-Card Input | 5-53 | |||||
Access Required for Card Input | 5-54 | |||||
Card Input Registration and Password | 5-54 | |||||
Card Input Access Control Segment | 5-55 | |||||
Station Access Control Segment | 5-56 | |||||
Control Card Information | 5-56 | |||||
Bulk Data Input | 5-57 | |||||
Control Card Format of a Card Deck for Bulk Data Input | 5-57 | |||||
Remote Job Entry | 5-58 | |||||
Format of a Card Deck for Remote Job Entry | 5-58 | |||||
Remote Job Entry with Foreign Computer Systems | 5-59 | |||||
Submitting Card Decks to a Remote System | 5-59 | |||||
Receiving Output from a Remote System | 5-59 | |||||
Format of an output File Transmitted to Multics for Online Perusal | 5-60 | |||||
Implementation Of Input/Output Modules | 5-61 | |||||
I/O Control Blocks | 5-62 | |||||
I/O Control Block Structure | 5-63 | |||||
Attach Pointers | 5-64 | |||||
Open Pointers | 5-64 | |||||
Entry Variables | 5-65 | |||||
Synonyms | 5-66 | |||||
Writing an I/O Module | 5-66 | |||||
Design Considerations | 5-67 | |||||
Implementation Rules | 5-68 | |||||
Attach Operation | 5-69 | |||||
Open Operation | 5-71 | |||||
Close Operation | 5-73 | |||||
Detach Operation | 5-74 | |||||
Modes and Control Operations | 5-75 | |||||
Performing Control Operations From Command Level | 5-75 | |||||
Other Operations | 5-78 | |||||
Outer Modules | 5-78 | |||||
Resource Control Package | 5-79 | |||||
Relationship of RCP to Other I/O Facilities | 5-80 | |||||
Summary of RCP Actions | 5-82 | |||||
Reservation, Assignment, and Attachment | 5-82 | |||||
Resource Reservation | 5-84 | |||||
Device Assignment | 5-84 | |||||
Device Attachment | 5-85 | |||||
Device Limits | 5-86 | |||||
Resource Naming Conventions | 5-86 | |||||
Device Names | 5-87 | |||||
Volume Names | 5-87 | |||||
I/O Workspaces | 5-87 | |||||
Resource Management Facility | 5-88 | |||||
Summary of Resource Management Facility Actions | 5-89 | |||||
Acquiring Resources | 5-89 | |||||
Naming Rules for Attributes | 5-90 | |||||
Access Control Interface with RCP and Resource Management | 5-91 | |||||
Access Control Segments | 5-91 | |||||
Access Class Ranges | 5-92 | |||||
RCP Effective Access | 5-93 | |||||
Manipulating RCP Effective Access | 5-94 | |||||
Section 6 | Multics Security | 6-1 | ||||
User Names and Passwords | 6-1 | |||||
Access Control Lists | 6-2 | |||||
Objects Subject to Access Control | 6-2 | |||||
Access Identifier | 6-2 | |||||
Access Modes | 6-3 | |||||
Access Modes on Entries in the Storage System | 6-3 | |||||
Access Modes on Resources Protected by RCP | 6-5 | |||||
Access Modes on Communications Channels | 6-6 | |||||
Access Modes on Daemon Source Names | 6-6 | |||||
Creating, Modifying, Listing, and Deleting Items in an Access Control List | 6-6 | |||||
Granting Access to Groups of Individuals | 6-7 | |||||
Using the Asterisk Character | 6-7 | |||||
Missing Components | 6-8 | |||||
Calculating Access Rights | 6-8 | |||||
Initial ACL's | 6-9 | |||||
SysDaemon Entries | 6-10 | |||||
ACL Entry for the Creating User | 6-10 | |||||
User-Defined Initial ACL's | 6-11 | |||||
Access Control Segments | 6-11 | |||||
Access Control Segments for RCP Resources | 6-11 | |||||
Access Control Segments for Communications Channels | 6-12 | |||||
Access Control Segments for Daemon Source Names | 6-12 | |||||
Access Isolation Mechanism | 6-12 | |||||
AIM Classification System | 6-12 | |||||
Policy Rules and Objectives | 6-13 | |||||
Relationships Between AIM Attributes | 6-13 | |||||
Setting AIM Attributes | 6-14 | |||||
Enabling AIM | 6-14 | |||||
Marking of Data | 6-15 | |||||
Segment | 6-15 | |||||
Directory | 6-15 | |||||
Message Segment | 6-16 | |||||
Mailboxes | 6-16 | |||||
Marking of Users | 6-17 | |||||
Marking of RCP Resources | 6-18 | |||||
Marking of Communication Channels | 6-19 | |||||
AIM Access Rules | 6-19 | |||||
Segments | 6-19 | |||||
Directories | 6-20 | |||||
Message Segments | 6-20 | |||||
Interprocess Communication | 6-20 | |||||
Inter-System AIM | 6-20 | |||||
The Ring Mechanism | 6-22 | |||||
Advantages of the Ring Mechanism | 6-22 | |||||
Ring Attributes and Access Control | 6-22 | |||||
Ring Brackets | 6-23 | |||||
Write Bracket | 6-23 | |||||
Read Bracket | 6-23 | |||||
Execute Bracket | 6-23 | |||||
Gate Bracket | 6-24 | |||||
Null Access | 6-24 | |||||
Using the Ring Mechanism | 6-24 | |||||
Implementing Ring Protection | 6-28 | |||||
Setting Segment Ring Brackets | 6-28 | |||||
Modifying Segment Ring Brackets | 6-29 | |||||
Directory Ring Bracket Validation Level and Access Rights | 6-29 | |||||
Validation Level | 6-30 | |||||
Directory Ring Bracket Access Rights | 6-30 | |||||
Setting Directory Ring Brackets | 6-31 | |||||
Modifying Directory Ring Brackets | 6-31 | |||||
User Ring Brackets | 6-31 | |||||
Trusted Path | 6-32 | |||||
Section 7 | Handling Unusual Occurrences | 7-1 | ||||
Printed Messages | 7-1 | |||||
Status Codes | 7-2 | |||||
Creation of Status Code Tables | 7-3 | |||||
List of System Status Codes and Meanings | 7-4 | |||||
Conditions | 7-26 | |||||
Multics Condition Mechanism | 7-26 | |||||
Example of the Condition Mechanism | 7-28 | |||||
On Unit Activated by All Conditions | 7-30 | |||||
Continuation of Search | 7-30 | |||||
Interaction with the Multics Ring Structure | 7-32 | |||||
Nonstandard Location of On Unit for Special Conditions | 7-32 | |||||
Action Taken by the Default Handler | 7-32 | |||||
System Condition Wall | 7-33 | |||||
Signalling Conditions in a User Program | 7-33 | |||||
Obtaining Additional Information About a Condition | 7-33 | |||||
Machine Condition Data Structure | 7-34 | |||||
Information Header Format | 7-37 | |||||
PL/I Condition Data Structure | 7-38 | |||||
System Conditions and Default Handler | 7-40 | |||||
List of System Conditions | 7-42 | |||||
Nonlocal Transfers and Cleanup Procedures | 7-83 | |||||
Epilogue Handling | 7-84 | |||||
Faults | 7-84 | |||||
Simulated Faults | 7-84 | |||||
Null Pointer | 7-85 | |||||
Process Termination Fault | 7-85 | |||||
Undefined Pointer Fault | 7-85 | |||||
Section 8 | Backup | 8-1 | ||||
Dumping | 8-1 | |||||
Incremental Dumps | 8-2 | |||||
Consolidated Dumps | 8-2 | |||||
Complete Dumps | 8-3 | |||||
Recovery | 8-3 | |||||
Section 9 | Administrative Controls | 9-1 | ||||
Administrative Hierarchy | 9-i | |||||
System Administrators | 9-2 | |||||
Project Administrators | 9-2 | |||||
Users | 9-3 | |||||
Administrative Capabilities | 9-4 | |||||
Pricing | 9-4 | |||||
Interactive And Foreground Absentee Usage | 9-4 | |||||
Background Absentee Usage | 9-4 | |||||
I/O Daemon Usage | 9-5 | |||||
Other Charges | 9-5 | |||||
Apportioning System Capacity | 9-5 | |||||
Load-Control Groups | 9-5 | |||||
Work Classes | 9-5 | |||||
Access Control | 9-6 | |||||
Gate Access | 9-6 | |||||
Device Access | 9-6 | |||||
Volume Access | 9-6 | |||||
Absentee and Daemon Queues | 9-6 | |||||
Storage Quota | 9-7 | |||||
Section 10 | Multics Data Management | 10-1 | ||||
Introduction | 10-1 | |||||
Features and Benefits of Multics Data Management | 10-2 | |||||
Data Management Files | 10-3 | |||||
Creating Data Management Files | 10-4 | |||||
Data Management Files as Protected Entities | 10-4 | |||||
Accessing Data Management Files | 10-4 | |||||
Manipulating Data Management Files | 10-5 | |||||
Using MRDS with Data Management | 10-6 | |||||
Building an MRDS Data Management Database. | 10-7 | |||||
Using MRDS Applications with DM Files | 10-7 | |||||
Data Storage and Retrieval Services | 10-8 | |||||
Relation Manager | 10-9 | |||||
The Relation Manager and MRDS Databas Requests | 10-9 | |||||
Relations and Data Management Files | 10-9 | |||||
Record Manager | 10-10 | |||||
Index Manager | 10-10 | |||||
Collection Manager | 10-10 | |||||
File Manager | 10-11 | |||||
File Manager and DM File Manipulation | 10-12 | |||||
File Manager and Integrity Services | 10-12 | |||||
File Manager as a Direct Interface | 10-13 | |||||
Integrity Services | 10-13 | |||||
Transactions and Database Consistency | 10-14 | |||||
Defining Transactions | 10-15 | |||||
Building Transactions in Existing MRDS Applications | 10-16 | |||||
Transaction Definition Table | 10-17 | |||||
Concurrent Access Control | 10-18 | |||||
Locking Conventions | 10-18 | |||||
Deadlock Detection and Resolution | 10-19 | |||||
Recovery Procedures | 10-20 | |||||
Transaction Failure | 10-21 | |||||
Process Failure | 10-21 | |||||
Role of the Daemon | 10-22 | |||||
Abandoning a Transaction | 10-22 | |||||
Crash Recovery | 10-23 | |||||
Conventions and Use of Before Journals | 10-24 | |||||
Creating and Opening Before Journals | 10-25 | |||||
Manipulating Before Journals in the File System | 10-26 | |||||
DMS Initialization | 10-26 | |||||
DMS Shutdown | 10-28 | |||||
DMS Shutdown as Part of a Multics Shutdown | 10-28 | |||||
DMS Shutdown as a Privileged Request | 10-29 | |||||
Shutdown Information | 10-29 | |||||
User Warning | 10-30 | |||||
Begin Shutdown | 10-30 | |||||
User Shutdown | 10-30 | |||||
User Bump Time | 10-31 | |||||
Daemon Logout | 10-31 | |||||
Administering Data Management | 10-31 | |||||
Installation Considerations | 10-31 | |||||
Creating a Data Management System Directory | 10-31 | |||||
Shaping the Run-Time Environment | 10-32 | |||||
Daemon Registration | 10-32 | |||||
AIM Considerations | 10-33 | |||||
Monitoring Performance | 10-33 | |||||
Command Level Interface to Data Management | 10-33 | |||||
User Commands | 10-33 | |||||
Administrative Commands | 10-35 | |||||
Appendix A | Multics Character Sets | A-1 | ||||
ASCII Character Set | A-1 | |||||
Printing Graphic Characters | A-1 | |||||
Control Characters | A-1 | |||||
Nonstandard Control Character | A-4 | |||||
Unused Characters | A-4 | |||||
Multics Extended Character Set | A-4 | |||||
Appendix B | Defining Terminals and Naming Channels Within the Multics Communications System | B-1 | ||||
Terminals and Channels | B-1 | |||||
Attachments | B-2 | |||||
Data Transformation | B-2 | |||||
Terminal Type Concept | B-2 | |||||
Terminal Type and Line Type | B-3 | |||||
Terminal Type Table and Terminal Type File | B-3 | |||||
Setting Terminal Types | B-3 | |||||
Changing Terminal Type Definitions | B-4 | |||||
Terminal Type Table | B-4 | |||||
Syntax of the TTF | B-6 | |||||
Generalized Character Specifications | B-6 | |||||
Terminal Type Entry | B-7 | |||||
Video Table Definition | B-14 | |||||
Modes Operation | B-18 | |||||
Global Statements | B-22 | |||||
Conversion Table Entry | B-23 | |||||
Translation Table Entry | B-24 | |||||
Function Key Table Entry | B-25 | |||||
Example | B-26 | |||||
Special Characters Table Entry | B-26 | |||||
Default Types | B-28 | |||||
Answerback Table | B-29 | |||||
Preaccess Commands | B-30 | |||||
Examples | B-30 | |||||
Names of Communications Channels | B-33 | |||||
T & D Channel | B-34 | |||||
Examples | B-34 | |||||
Appendix C | Punched-Card Input Output and Returned Output Control Records | C-1 | ||||
Bulk Data Input | C-1 | |||||
Control Cards for Bulk Data | C-2 | |||||
++DATA | C-3 | |||||
++PASSWORD | C-3 | |||||
++AIM | C-4 | |||||
++FORMAT | C-4 | |||||
++CONTROL | C-5 | |||||
++INPUT | C-5 | |||||
User Data Cards | C-6 | |||||
Remote Job Entry | C-6 | |||||
Example of Remote Job Entry | C-7 | |||||
Control Cards for Remote Job Entry | C-7 | |||||
++RJE | C-7 | |||||
++PASSWORD | C-8 | |||||
++RJECONTROL | C-9 | |||||
++RJEARGS | C-9 | |||||
++EPILOGUE | C-10 | |||||
++ABSIN | C-10 | |||||
++FORMAT and ++INPUT | C-10 | |||||
User Absentee Commands | C-11 | |||||
Card Formats | C-11 | |||||
Card Input Conversion Modes | C-11 | |||||
Deck Size | C-12 | |||||
Errors | C-12 | |||||
Punched Card Output | C-12 | |||||
Card-Output Conversion Modes | C-13 | |||||
Punched-Card Codes | C-14 | |||||
Card-Input Escape Possibilities | C-23 | |||||
Returned Output Control Records | C-24 | |||||
++IDENT | C-25 | |||||
++CONTROL | C-25 | |||||
++FORMAT | C-26 | |||||
++INPUT | C-27 | |||||
Appendix D | Standard Data Types | D-1 | ||||
Summary of Data Descriptor Types | D-1 | |||||
Symbolic Names for Data Descriptor Types | D-2 | |||||
Other Symbolic Names | D-4 | |||||
Standard Data Type Formats | D-5 | |||||
Arrays | D-29 | |||||
Appendix E | List of Names with Special Meanings | E-1 | ||||
Reserved I/O Switch Names | E-1 | |||||
Reserved Segment Names | E-2 | |||||
Reserved Segment-Name Suffixes | E-4 | |||||
Reserved Object-Segment Entry Point | E-8 | |||||
Appendix F | Multics Standard Magnetic Tape Format | F-1 | ||||
Standard Tape Format | F-1 | |||||
Standard Record Format | F-1 | |||||
Physical Record Header | F-2 | |||||
Physical Record Trailer | F-4 | |||||
Administrative Records | F-4 | |||||
Standard Tape Label Record | F-5 | |||||
Bootable Tape Label Record | F-5 | |||||
End of Reel Record | F-9 | |||||
Density and Parity | F-9 | |||||
Data Padding | F-9 | |||||
Compatibility Consideration | F-9 | |||||
Standard Checksum | F-10 | |||||
Algorithm | F-10 | |||||
Appendix G | Multics Standard Object Segment with Symbol Table Organization | G-1 | ||||
Format Of An Object Segment | G-1 | |||||
Structure of the Text Section | G-3 | |||||
Entry Sequence | G-3 | |||||
Gate Segment Entry Point Transfer Vector | G-4 | |||||
Structure of the Definition Section | G-5 | |||||
Definition Section Header | G-7 | |||||
Expression Word | G-11 | |||||
Type Pair | G-11 | |||||
Trap Word | G-13 | |||||
Initialization Structure for Type 5 System and Type 6 Links | G-13 | |||||
Definition Hash Table | G-14 | |||||
Structure of the Static Section | G-17 | |||||
Structure of the Linkage Section | G-18 | |||||
Linkage Section Header | G-18 | |||||
Internal Storage Area | G-20 | |||||
Links | G-20 | |||||
First-Reference Trap | G-23 | |||||
Structure of the Symbol Section | G-24 | |||||
Symbol Block Header | G-24 | |||||
Source Map | G-27 | |||||
Relocation Information | G-28 | |||||
Structure of the Object Map | G-31 | |||||
Generated Code Conventions | G-33 | |||||
Text Section | G-33 | |||||
Entry Sequence | G-34 | |||||
Text Relocation Codes | G-34 | |||||
Definition Section | G-35 | |||||
Definition Relocation Codes | G-35 | |||||
Implicit Definitions | G-36 | |||||
Linkage Section | G-36 | |||||
Internal Storage | G-36 | |||||
Links | G-36 | |||||
Linkage Relocation Codes | G-36 | |||||
Static Section | G-37 | |||||
Symbol Section | G-37 | |||||
Structure of Bound Segments | G-37 | |||||
Internal Link Resolution | G-39 | |||||
Definition Section | G-39 | |||||
Binder Symbol Block | G-39 | |||||
Bind Map | G-41 | |||||
Symbol Table Organization | G-43 | |||||
The PL/I Symbol Block | G-44 | |||||
The PL/I Runtime Symbol Table | G-46 | |||||
The Runtime-Token Node | G-47 | |||||
The Runtime Block Node | G-48 | |||||
The Entry Info Block | G-51 | |||||
The Pascal "with" Block | G-51 | |||||
The Runtime_Symbol Node | G-52 | |||||
Encoded Values | G-57 | |||||
Controlled Variable Control Block | G-60 | |||||
Picture Information Block | G-60 | |||||
The Pascal Runtime Symbol Node | G-61 | |||||
Additional Information About Pascal Symbol Nodes | G-68 | |||||
Special Runtime Symbol Data Type Codes | G-71 | |||||
The Statement Map | G-72 | |||||
Appendix H | Standard Execution Environment | H-1 | ||||
Standard Stack and Link Area Formats | H-1 | |||||
Multics Stack | H-1 | |||||
Stack Header | H-1 | |||||
Multics Stack Frame | H-7 | |||||
Linkage Offset Table | H-10 | |||||
Internal Static Offset Table | H-10 | |||||
Subroutine Calling Sequences | H-11 | |||||
Call Operator | H-12 | |||||
Entry Operator | H-12 | |||||
Push Operator | H-13 | |||||
Return Operator | H-13 | |||||
Short Return Operator | H-14 | |||||
Pseudo-op Code Sequences | H-14 | |||||
Register Usage Conventions | H-15 | |||||
Argument List Format | H-16 | |||||
Parameter Descriptors | H-22 | |||||
Appendix I | Data Base Descriptions | I-1 | ||||
Name | I-2 | |||||
Usage | I-2 | |||||
sys_info | I-2 | |||||
whotab | I-4 | |||||
Appendix J | Standard Request Tables And Standard Requests | J-1 | ||||
Standard Request Tables | J-1 | |||||
Standard Requests | J-2 | |||||
Index | i-I | |||||
Illustrations | ||||||
Figure 1-1. | Process Characteristics Per Ring | 1-5 | ||||
Figure 2-1. | Storage System Hierarchy | 2-3 | ||||
Figure 2-2. | Relationship of Directories to Logical Volumes | 2-5 | ||||
Figure 2-3. | Directory Hierarchy | 2-14 | ||||
Figure 3-1. | Sample Storage Hierarchy | 3-3 | ||||
Figure 5-1. | Interrelationship between User Code, iox_, RCP, IOI, and the I/O Module | 5-81 | ||||
Figure 6-1. | Gate Mechanism | 6-26 | ||||
Figure 6-2. | Logical Flow in Homework Program | 6-27 | ||||
Figure 7-1. | Simplified Handler Algorithm | 7-31 | ||||
Figure 9-1. | Multics Administrative Hierarchy | 9-1 | ||||
Figure D-1. | Single-Precision, Unpacked, Floating-Point Binary-Operand Format | D-6 | ||||
Figure D-2. | Single-Precision, Packed, Floating-Point Binary-Operand Format | D-6 | ||||
Figure D-3. | Double-Precision, Unpacked, Floating-Point Binary-Operand Format | D-7 | ||||
Figure D-4. | Double-Precision, Packed, Floating-Point Binary-Operand Format | D-7 | ||||
Figure D-5. | Typical Type 9 Decimal Datum | D-9 | ||||
Figure D-6. | Typical Type 10 Decimal Datum | D-9 | ||||
Figure D-7. | ITS Pointer Format | D-10 | ||||
Figure D-8. | Packed Pointer Datum Format | D-11 | ||||
Figure D-9. | Offset Datum Format | D-11 | ||||
Figure D-10. | Typical Type 29 Datum | D-13 | ||||
Figure D-11. | Typical Type 30 Datum | D-14 | ||||
Figure D-12. | Typical Type 35 Datum | D-15 | ||||
Figure D-13. | Typical Type 36 Datum | D-16 | ||||
Figure D-14. | Typical Type 38 Datum | D-16 | ||||
Figure D-15. | Typical Type 39 Datum | D-17 | ||||
Figure D-16. | Typical Type 41 Datum | D-17 | ||||
Figure D-17. | Typical Type 42 Datum | D-18 | ||||
Figure D-18. | Single-Precision, Unpacked, Floating-Point Hex-Operand Format | D-19 | ||||
Figure D-19. | Single-Precision, Packed, Floating-Point Hex-Operand Format | D-20 | ||||
Figure D-20. | Double-Precision, Unpacked, Floating-Point Hex-Operand Format | D-20 | ||||
Figure D-21. | Double-Precision, Packed, Floating-Point Hex-Operand Format | D-21 | ||||
Figure D-22. | Typical Type 81 Datum | D-27 | ||||
Figure D-23. | Typical Type 83 Datum | D-28 | ||||
Figure D-24. | Floating-Point Binary Generic Format | D-28 | ||||
Figure G-1. | Sample Definition List | G-6 | ||||
Figure G-2. | Definition Hash Table | G-15 | ||||
Figure G-3. | Structure of a Link | G-21 | ||||
Figure G-4. | Structure of a Bound Segment | G-38 | ||||
Figure H-1. | Stack Header Format | H-2 | ||||
Figure H-2. | Stack Frame Format | H-8 | ||||
Figure H-3. | Standard Argument List | H-17 | ||||
Tables | ||||||
Table 5-1. | Opening Modes and Allowed Input/Output Operations | 5-12 | ||||
Table 5-2. | Opening Modes Supported by I/O Modules | 5-13 | ||||
Table 5-3. | File Types and Allowed Input/Output Operations | 5-19 | ||||
Table 5-4. | Compatible File Attachments | 5-21 | ||||
Table 5-5. | File Position Designators at Open | 5-23 | ||||
Table 5-6. | Translations of Paper Motion Commands in Output Files | 5-61 | ||||
Table 5-7. | I/O Workspaces | 5-88 | ||||
Table 5-8. | RCP Effective Access | 5-94 | ||||
Table A-1. | ASCII Character Set on Multics | A-2 | ||||
Table C-1. | Correspondence Between ASCII Characters and EBCDIC Characters | C-16 | ||||
Table C-2. | Summary of Extensions to EBCDIC to Obtain Multics Standard Codes | C-22 | ||||
Table C-3. | Summary of Differences Between Multics Standard Card Codes and Proposed ASCII Standard Card Codes | C-23 | ||||
Table D-1. | Overpunched Sign Encoding | D-14 | ||||
Table G-1. | Contents of Pascal Symbol Nodes | G-69 | ||||
Table G-2. | Data Type Codes Used by Variables vs. Types | G-71 |