Skip to content

Page 1

Norsk Data

SINTRAN III

Timesharing/Batch Guide

ND-60.1122.03


Page 2

SINTRAN III

Timesharing/Batch Guide

ND-60.132.03


Page 3

NOTICE

The information in this document is subject to change without notice. Norsk Data A.S assumes no responsibility for any errors that may appear in this document. Norsk Data A.S assumes no responsibility for the use or reliability of its software on equipment that is not furnished or supported by Norsk Data A.S.

The information described in this document is protected by copyright. It may not be photocopied, reproduced or translated without the prior consent of Norsk Data A.S.

Copyright © 1982 by Norsk Data A.S.


Page 4

Manual Information

This manual is in loose leaf form for ease of updating. Old pages may be removed and new pages easily inserted if the manual is revised.

The loose leaf form also allows you to place the manual in a ring binder (A) for greater protection and convenience of user. Ring binders with 4 rings corresponding to the holes in the manual may be ordered in two widths, 30 mm and 40 mm. Use the order form below.

The manual may also be placed in a plastic cover (B). This cover is more suitable for manuals of less than 100 pages than for large manuals. Plastic covers may also be ordered below.

A | Ring Binder
B | Plastic Cover

Please send your order to the local ND office or (in Norway) to.

Norsk Data A.S
Graphitic Center
P.O. Box 25, Bogerud
0621 Oslo 6, Norway


ORDER FORM

I would like to order

Item Price
Ring Binders, 30 mm, at nkr 20,- per binder
Ring Binders, 40 mm, at nkr 25,- per binder
Plastic Covers at nkr 10,- per cover

Name
Company
Address
City


Page 5

I'm unable to convert the image as it appears blank or unreadable. Could you please provide a clearer image or check the scanned document?


Page 6

PRINTING RECORD

Printing Notes
06/80 Version 01
01/82 Version 02
10/82 Version 03

Sintran III Timesharing/Batch Guide
Publ 0N0. ND-600 .132 : 03

Norsk Data A.S
Graphic Center
P.O. Box 25, Bogerud
0621 Oslo 6, Norway


Page 7

Manual Updates

Manuals can be updated in two ways, new versions and revisions. New versions consist of a complete new manual which replaces the old manual. New versions incorporate all revisions since the previous version. Revisions consist of one or more single pages to be merged into the manual by the user, each revised page being listed on the new printing record sent out with the revision. The old printing record should be replaced by the new one.

New versions and revisions are announced in the Customer Support Information (CSI) and can be ordered as described below.

The reader’s comments form at the back of this manual can be used both to report errors in the manual and to give an evaluation of the manual. Both detailed and general comments are welcome.

These forms and comments should be sent to:

Documentation Department
Norsk Data A/S
P.O. Box 25, Bogerud
0621 Oslo 6, Norway

Requests for documentation should be sent to the local ND office or (in Norway) to:

Graphic Center
Norsk Data A/S
P.O. Box 25, Bogerud
0621 Oslo 6, Norway

Page 8

Preface

The Product

This manual documents the H version of SINTRAN III VS, VSE and VSE-500.

The Reader

This manual is intended for the user who needs an explanation of the time-sharing and batch facilities in SINTRAN III.

Prerequisite Knowledge

The reader should be familiar with the contents of the manual:

RTNTRAN III INTRODUCTION (ND-660.173)

The Manual

This manual shows command and monitor calls available for the time-sharing and batch user. The commands and monitor calls are ordered according to functional category as opposed to the SINTRAN III REFERENCE MANUAL where they are fully documented in alphabetical order.

Related manuals guiding the users are:

  • SINTRAN III REAL TIME GUIDE (ND-660.133)
  • SINTRAN III COMMUNICATION GUIDE (ND-660.137)
  • SINTRAN III REFERENCE MANUAL (ND-660.128)
  • SINTRAN III SYSTEM SUPERVISOR (ND-660.103)
  • SINTRAN III UTILITIES (ND-660.151)
  • SINTRAN III RT LOADER (ND-660.051)

ND-6601822.03


Page 9

I'm unable to assist with the content of the specific image you've shown. If you have text or content you need converted to Markdown, feel free to provide it here!


Page 10

SINTRAN III/VS

INTRODUCTORY

  • ND–60.126
    Sintran III Introduct.

USER'S GUIDES

Code Title
ND–600134 Commonic. Guide
ND–60.132 Timestaal / Batch Guide
ND–60.133 Real Time Guide

REFERENCE

Code Title
ND–600151 Sintran III Utilities
ND–60c128 Sintran III Ref. Man.
ND–660.051 Real Time Loader

OPERATOR/SUPERVISOR

Code Title
ND–330.001 NORD 10/50 Oper. Guide
ND–330.003 Sintran III Sys. Sup. Gu.
ND–60.110 Postmortem Investigatu

INTERNAL SYSTEM DOCUMENTATION

Code Title
ND–660.062 Sintran III Sys. Docum.
ND–60.122 File Sys. Sys. Docum.
ND–660.072 Rf Loader Sys. Docum.
ND–660.081 Nordnet Sys. Docum.
ND–60.112 Sintran III Data Fields

SINTRAN III/PART

Code Title
ND–60.082 Sin. III/PART Ref. Man.

Page 11

Preface

This manual provides detailed information about the components and features of the system. The various features, functions, and service components that are common to most systems are described in simple terms.

Table of Contents

Section Page
Introduction 1
System Overview 5
Installation 13
Configuration 27
Operation 45
Maintenance 61
Troubleshooting 75
Appendices 89
Glossary 97

Page 12

TABLE OF CONTENTS

Section Page
1. Introduction
1.1. General 1
1.2. User Categories 1
    1.2.1. Time-Sharing and Batch Users 1
    1.2.2. The Real-Time User 2
    1.2.3. System Supervisor 2
1.3. Commands and Monitor Calls 2
1.4. Hardware Environment 3
1.5. RTNTRAN TIT Subsystems 4
1.6. Documentation N

| 2. Using The Terminal | 5 | | 2.1. The MD Terminals | 6 | | 2.2. Logging In | 6 | | 2.3. Executing Commands and Programs | 8 | | 2.4. Writing SINTRAN III Commands | 9 | |     2.4.1. Single Line Commands | 9 | |     2.4.2. Abbreviation in Commands | 10 | |     2.4.3. Use of Asterisk (*) | 10 | |     2.4.4. Default Values | 10 | |     2.4.5. Prompting Line Commands | 11 | |     2.4.6. Correcting Typing Errors | 11 | |         6.1. Correcting the Current Line | 11 | |         6.2. Editing the Previous Line | 12 | | 2.5. Error Messages from SINTRAN III | 13 | | 2.6. Listing Information about the System | 14 | | 2.7. @LOGOUT | 16 | | 2.8. @CHANGE-PASSWORD | 16 |


Page 13

Section

Section Page
?.0. Dialed-up Terminals 16
7.9.1. Acoustic Coupling 17
2.9.2. Wired Coupling 17
9.10. User Programs in SINTRAN III 18
2.10.1. Monitor Calls from FORTRAN Programs 18
2.10.2. Monitor Calls from MAC Assembly Programs 19
2.10.3. Monitor Call Formats 19
2.10.M. Aborting a User Program 20

2. The File System

1.1. General

1.2. Files
3.2.1. General 26
2.2.?. File Names 27
?.2.3. File Types 29
?.2.1. File Versions 30
3.2.R. Terminal Types 30
3.2.6. Scratch Files 30
3.2.7. Logical Device Number 31
3.2.8. FORTRAN Unit Number 33
3.2.9. Logical Device Numbers for Terminals 34

?.2. File Directories

| 2.3.1. General | 34 | | 1.3.2. Directory Commands | 35 | | 2.1. @CREATE-DIRECTORY | 35 | | 2.2. @ENTER-DIRECTORY | 35 | | 2.3. @OPERATE-USER | 36 | | 2.b. @GIVE-USER-USRSPACE | 36 | | 2.5. @RELEASE-DIRECTORY | 36 |

3.H. File Creation and Deletion

| 3. 1. @CREATE-FILE | 35 | | %.H.2. @EXPAND-FILW | 37 | | %.H.3. @CREATE-NEW-VERSION | 38 | | 3.H.4. @ALLOCATE-FILE | 38 | | %.H.5. @ALLOCATE-NEW-VERSIONS | 39 | | 3.H.6. @RENAME-FILE | 39 | | 3.H.7. @DELETE-FILE | 39 | | 3.%.8. @DELETE-USERS-FILES | 39 | | RL.M.9. @SET-TEMPORARY-FILE | 40 | | 3.%.10. MODIFY (MON 5H) | 40 |

%.G. File Access Permission and Reservation

| 3.5.1. User Types | 41 | | 3.5.2. Granting Access to Files | 42 | | 3.5.3. @SET-FILE-ACCESS | 42 |

NID-6.80.132.03


Page 14

Section

Section Page
3.5.4. @SET-DEFAULT-FILE-ACCESS 43
3.5.5. @CREATE-FILENAME 43
3.5.6. @DELETE-FILENAME 44
3.5.7. @SET-FILENAME-ACCESS 45

3.6. Requesting Access to Files

46

3.7. Reserving and Releasing Files

Subsection Page
3.7.1. @RESERVE-FILE 46
3.7.2. @RELEASE-FILE 47
3.7.3. @RESERVE-DEVICE-UNIT 47
3.7.4. @RELEASE-DEVICE-UNIT 47
3.7.5. RESRV (MON 122) 48
3.7.6. RELES (MON 123) 48

3.8. Reading and Writing Data

3.8.1. General

49

3.8.2. Opening Files

Subsection Page
2.1. @OPEN-FILE 49
2.2. @CONNECT-FILE 50
2.3. @SCRATCH-WOPEN 50
2.4. @SET-PERMANENT-OPENED 50
2.5. OPEN (MON 50) 51

3.8.3. Sequential Input/Output

Subsection Page
3.1. INBIT (MON 1, FORTRAN call: INCH) 51
3.2. OUTBT (MON 2, FORTRAN call: OUTCH) 52
3.3. INSTR (MON 161) 52
3.4. OUTST (MON 162) 52
3.5. MSG (MON 32) 52
3.6. IOUT (MON 35) 53
3.7. NOWT (MON 36) 53

3.8.4. Random Input/Output

Subsection Page
4.1. @RFILE 54
4.2. @WFILE 54
4.3. RFILE (MON 117) 55
4.4. NFILE (MON 120) 55

3.8.5. Closing Files

Subsection Page
5.1. @CLOSEFILE 56
5.2. CLOSE (MON 43) 56

3.8.6. Data Access Parameters

Subsection Page
6.1. @SET-BYTE-POINTER 57
6.2. @SET-BLOCK-SIZE 57
6.3. @SET-BLOCK-POINTER 57
6.4. SETBT (MON 74) 58
6.5. REABT (MON 75) 58
6.6. SMAX (MON 73) 58
6.7. RMAX (MON 62) 58
6.8. SETBS (MON 76) 58
6.9. SETBL (MON 77) 59
6.10. CIBUF (MON 13) 59
6.11. COBUF (MON 14) 59
6.12. ISIZE (MON 66) 59
6.13. OSIZE (MON 67) 59

NND-6801322.03


Page 15

Section

Page
3.9. Commands for Copying Files 60
3.9.1. COPY 60
3.9.2. COPY-FILE 60

| 3.10. Commands for Listing File System Information | 60 | | 3.10.1. LIST-FILES | 61 | | 3.10.2. FILE-STATISTICS | 61 | | 3.10.3. LIST-OPENED-FILES | 62 | | 3.10.4. LIST-DIRECTORIES-ENTERED | 62 | | 3.10.5. DIRECTORY-STATISTICS | 62 | | 3.10.6. LIST-USERS | 63 | | 3.10.7. USER-STATISTICS | 63 | | 3.10.8. LIST-FRIENDS | 63 | | 3.10.9. LIST-VOLUME | 64 | | 3.10.10. WHERE-IS-FILE | 64 | | 3.10.11. LIST-DEVICE | 64 |

| 3.11. Initialising a Floppy-Disk | 64 |

| 3.12. Manipulating Magnetic Tapes, Floppy Disks, Versatec and cassettes | 66 |

| 3.13. Taking Backups | 67 |

4. Sintran Information

| M.1. General | 71 |

| M.2. Miscellaneous | 71 | | M.2.1. LIST-REENTRANT | 71 | | M.2.2. LIST-TITLE | 71 | | M.2.3. HELP | 71 | | M.2.4. TERMINAL-STATUS | 72 | | M.2.5. AJOB-JS-ON | 72 |

| 4.3. The SINTRAN III Calendar | 72 | | 4.3.1. EXTCAL | 72 | | 4.3.2. TIME-USED | 72 | | 4.3.3. CLOCK (MON 113) | 72 | | 4.3.4. TIME (MON 11) | 72 | | 4.3.5. TUSED (MON 114) | 73 |

G. Executing User Programs and Subsystems

| 1. General | 75 |


NID-460.132.03


Page 16

Section

Section Page
5.2. Creating a PROG-File 75
5.2.1. @MEMORY 75
5.2.2. @DUMP 76
3.3. Controlling Execution 76
5.3.1. @RECOVER 76
5.3.2. @CONTINUE 77
5.3.3. @GOTO-USER 77
5.4. Examining User's Registers and Memory 78
5.4.1. @STATUS 78
5.4.2. @LOOK-AT 78
5.4.3. @SET-MEMORY-CONTENTS 79
5.5. Loading Binary Programs 79
5.5.1. @LOAD-BINARY 79
5.5.2. @PLACE-BINARY 79
8.6. Error Messages From User Programs 79
5.6.1. BRMSG (MON 64) 80
5.6.2. @BRMS (MON 65) 80
5.7. Communicating with One's Own Terminal 80
5.7.1. SETCM (MON 12) 80
5.7.2. COMND (MON 70) 81
5.7.3. Terminating Programs 81
5.7.4. LEAVE (MON 0) 81
5.7.5. @TEXT (MON 13) 81

6. Terminal Characteristics

Section Page
6.1. General 83
6.2. Terminal Communication 82
6.2.1. @TERMINAL-MODE 83
6.2.2. @DISABLE-ESCAPE-FUNCTION 84
6.2.3. @ENABLE-ESCAPE-FUNCTION 84
6.2.4. TERMIO (MON 52) 84
6.2.5. DESOF (MON 71) 85
6.2.6. DESCF (MON 72) 85
6.2.7. ECHOM (MON 3) 85
6.2.8. BRKM (MON 0) 85
6.3. Terminal Identification 86
6.3.1. @SET-TERMINAL-TYPE 86
6.3.2. @GET-TERMINAL-TYPE 86
6.3.3. NSTTY (MON 17) 86
6.3.4. MCTTY (MON 16) 86

6.4. Suspending the Terminal

Section Page
6.4 87

NOD-460/1822.03


Page 17

Section

Page
6.6.1. PHOLD 87
6.6.2. HOLD (MON 10M) 87

7. Batch- and Mode-Jobs

89

7.1. General

89

7.2. Definitions

89

7.3. Sample Batch File

90

7.9. Commands for Running Batch Jobs

7.9.1. @APPEND-BATCH 91
7.9.2. @ABORT-JOB 91
7.9.3. @DELETE-BATCH-QUEUE-ENTRY 92
7.9.4. @LIST-BATCH-QUEUE 92
7.9.5. @LIST-BATCH-PROCESS 92

7.5. Commands for Running Mode-Jobs

7.5.1. @MODE 93

7.6. Commands within Mode- or Batch-Jobs

7.6.1. @ENTER 94
7.6.2. @SCHEDULE 94
7.6.3. @CC 94

7.7. Monitor Calls for Mode- and Batch-Jobs

7.7.1. RSIO (MON 163) 99

8. Spooling

95

8.1. General

95

8.2. Appending and Changing the Queue Entry

8.2.1. @APPEND-SPOOLING-FILE 98
8.2.2. @SET-NUMBER-OF-PRINT-COPIES 98
8.2.3. @DEFINE-SPOOLING-FILE-MESSAGE 99

8.3. Changing the Order in the Queue

8.3.1. @MOVE-SPOOLING-QUEUE-ENTRY 99
8.3.2. @REMOVE-FROM-SPOOLING-QUEUE 99
8.3.3. @DELETE-SPOOLING-FILE 100

8.4. Starting and Stopping the Print

8.4.1. @START-PRINT 100
8.4.2. @STOP-PRINT 100
8.4.3. @RESTART-PRINT 100

NOD-6-80/1822.03


Page 18

Section

Section Page
8.4.3. @ABORT-PRINT 100
8.5. Adjusting the Print
8.5.1. @FORWARD-SPACE-PRINT 101
8.5.2. @BACKSPACE-PRINT 101
8.6. Statistics
8.6.1. @LIST-SPOOLING-QUEUE 101
8.6.2. @SPOOLING-PAGES-LEFT 102
8.6.3. @LIST-SPOOLING-FORM 102
8.7. Monitor Calls for Spooling
8.7.1. SPCLO (MON NO) 102
8.7.2. RSPQE (MON 55) 103

9. Sending Messages to Other Terminals

Section Page
9.1. @MAIL 105
9.2. @OPERATOR 105
9.3. @WAIT-FOR-OPERATOR 106

10. NORD-NET

Section Page
10.1. Introduction 107
10.2. The Communication Line
10.2.1. General 108
10.2.2. @COMMUNICATION-STATUS 109
10.2.3. @COMMUNICATION-LINE-STATUS 109
10.3. Remote Terminals
10.3.1. General 110
10.3.2. @REMOTE 111
10.3.3. @LOCAL 112
10.3.4. Example of @REMOTE and @LOCAL 112
10.3.5. Detailed Description of Remote Terminal Connection 118

10.4. Remote File Access

Section Page
10.5. Data Transfer
10.5.1. General 117
10.5.2. WIR01 (MON 163) 121

NID-660.132.03


Page 19

Section W

Section Page
APPENDIX A, Editing Control Characters for Commands 123
APPENDIX B, Index 127

NED-6061632.03


Page 20

Table of Figures

Fig nr Description Sec nr
1 A User CRT Terminal 2.1
2 A Console Terminal (Hard-Copy) 2.2
3 The Log In Procedure 2.2
4 The States of a User Terminal 2.3
5 Categories of Hardware Devices 3.1.1
6 Data Organization on a Mass Storage Medium 3.1.1
7 Indexed File 3.2.1.1
8 Contiguous File 3.2.1.1
9 Allocated File 3.2.1.1
10 File Types 3.2.3
11 Categories of Logical Devices 3.2.5
12 Normal File Protection 3.5.1.1
13 Granting Access to Files 3.5.6
14 Spooling System for Time Sharing Users 8.1.1
15 Spooling System, Queue Entry 8.1.1
16 A Communication Line 10.1
17 Example of Logical Device Numbers in NORD-NET 10.2.1.1
18 Remote Terminal Processing 10.3.1.1
19 Remote Processing, State Diagram 10.3.4
20 Remote Program Using a Local File 10.3.5

Page 21

I'm sorry, the image appears to be blank and doesn't contain any text or content to convert to Markdown. If you have another image or document, feel free to share it!


Page 22

SINTRAN III TIME SHARING BATCH GUIDE

1. Introduction

1.1. General

An ND computer system is a medium scale, general-purpose computer system which, because of its modular design, can be configured for a wide variety of applications.

SINTRAN III is a multiprogramming, multilingual operating system that supervises the processing of real-time, time-sharing, and batch programs submitted to an ND computer system. SINTRAN III relieves the user from much of the mundane work connected with the developing and running of user programs.

A SINTRAN III system can run in as little as 32 K words, the memory resident SINTRAN III PART. The virtual storage versions, SINTRAN III V/SEK and VSE-500 may be expanded within up to 32 Mbytes of main memory, up to eight 288 MB disks, connections to other computers, etc. Several ND computers may therefore form a computer network.

This manual is primarily oriented towards the SINTRAN III V/SE systems. The SINTRAN III PART system is documented in "SINTRAN III - RT USER'S GUIDE (ND-66.008.82)".

Each terminal and batch activity is run as a separate process. These processes are called background programs and are run on a time sharing basis in the ND computer. The other type of processes, foreground programs, are created by real-time programmers. They normally run with a higher priority in the computer. In general, a real-time program may be either a background or foreground program.

1.2. User Categories

While this manual is only concerned with time-sharing users, other types of users recognized in SINTRAN III are the real-time user, developing foreground programs, and system supervisors, managing the computer installation. Another type of user is the "end user", performing application oriented tasks such as data entry or data inquiry through application programs. This user will not be discussed in the SINTRAN III documentation.

1.2.1. Time-Sharing and Batch Users

This user group will access the system through a terminal or by submitting jobs for batch processing from disk files or card decks containing the necessary commands and data.

Time-sharing and batch users are known to the system by names which must be presented when logging in as timesharing users or as a parameter to the first command in a batch job. The user name may be protected by a password chosen by the user to prevent unauthorized access.

ND-660.322.03


Page 23

SINTRAN III TIME SHARING BATCH GUIDE

Introduction

Access to the system.

The user name must be created by those responsible for the system. Time-sharing and batch users access the system in its "background" processing mode, normally executing programs with a lower priority than real-time programs executing in "foreground" mode. The time-sharing and batch processes are normally given processing time on an equal basis.

Trying to execute real-time user and system supervisor commands is not permitted and will produce an error message.

1.2.2. The Real-Time User

The operating system recognizes a special user name RT as a privileged user capable of controlling real-time programs. This user name should be protected by a password to prevent unauthorized access.

This user is permitted to use commands for developing and running real-time programs. The manual "SINTRAN III REAL-TIME GUIDE" (ND-60.133) gives the details about this activity.

The user RT may also use the time-sharing and batch facilities for program development and testing purposes. Trying to execute system supervisor commands is not permitted and will produce an error message.

1.2.3. System Supervisor

The operating system recognizes a special user name SYSTEM as the privileged user having the access to all commands in SINTRAN III. The special SYSTEM commands facilitate creating and deleting users, creating and deleting directories, together with other commands for system management. The manual "SINTRAN III SYSTEM SUPERVISOR" (NDe 60.1103) gives the details about system management.

This user name should be protected by a password.

1.3. Commands and Monitor Calls

A command may be entered from a terminal, a mode input file, or a batch input file. The command is checked for validity and the appropriate function is performed.

Commands are classified according to user categories.

Time-Sharing/Batch Commands

  • Calling compilers, assemblers, editors, other subsystems and user programs
  • Creating, deleting, and maintaining files

NID-6.601/52.03


Page 24

SINTRAN III TIME SHARING BATCH GUIDE

Introduction

  • reserving and releasing files, devices, etc.

= communication with remote computers.

Real-Time Commands

  • starting and stopping RT programs
  • loading new RT programs using the RT loader
  • reserving and releasing peripheral devices on behalf of RT programs, etc.

The Real Time Guide describes these functions.

System-Supervisor Commands

  • starting and stopping the system
  • creating, entering, and releasing file directories on disk
  • creating and deleting users
  • allocating resources, etc.

The System Supervisor manual contains a guide to using these functions.

Monitor Calls

A monitor call is a special instruction in machine code. It is used to call service functions within the operating system. Monitor calls in machine code or assembly code can only be performed in MAC. In high-level code such as FORTRAN, a corresponding set of subroutine calls is used. In this manual, the examples show only the FORTRAN call, if it is available.

1.1. Hardware Environment

The minimum hardware configuration required to run SINTRAN III/V/S is:

  • ND-10/S or ND-100 with memory management system
  • main memory of 128 Kbytes
  • disk unit with controller
  • floppy disk unit
  • console terminal

SINTRAN III/V/SE requires an ND-100, while SINTRAN IV/V/SE/800 requires an ND-500 system.

NID-6.601/822.03


Page 25

SINTRAN III TIME SHARING BATCH GUIDE

Introduction

The range of standard peripherals includes alphanumeric, graphic, and colour display systems, hard-copy terminals, printers, plotters, paper tape readers and punches, card readers and punches, magnetic tape stations, floppy disks, hard disks, A/D and D/A converters, telex, modem, CAMAC interfaces, etc. Processor options include local and multiport memory up to 32 Mbytes, Direct Memory Access and cache memory. Norsk Data marketing information gives further details about the hardware available.

1.5. SINTRAN III Subsystems

Some subsystems are integrated into the operating system. They are the file system, the RT-loader, the spooling system, the assembler/debugger for RT programs, and parts of the accounting system. The other subsystems are distinct from, but run under, the operating system. They are compilers, text editors, program loaders, data-base systems, etc. Norsk Data marketing information gives further details about these subsystems.

Lifleaeaaatitiee

All commands and monitor calls are documented in detail in the SINTRAN III REFERENCE MANUAL (NID-660.126). That manual contains complete definitions listed in alphabetical order.

The SINTRAN III user's guides, on the other hand, document SINTRAN III facilities in a functional order and do not contain all details. The time-sharing/batch guide describes most of the facilities available to these types of users. Some commands and monitor calls are restricted to real-time users only. They are described in the Real Time Guide. Special facilities available to the user SYSTEM are described in the System Supervisor manual.

In addition there are two reference manuals for special subsystems under SINTRAN III. The RT Loader manual contains reference documentation for this subsystem alone, while the SINTRAN III Utilities manual documents the BACKUP-SYSTEM, MAIL, ACCOUNTING, LOOK-FILE, FILE EXTRACT, PERFORM and GPM subsystems.


Page 26

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

9. Using The Terminal

2.1. The ND Terminals

A User CRT terminal (figure 1) is used for the interactive communication with the system. All terminals connected to a system can function as user terminals. However, one terminal is always selected as the error device. This is the terminal where the system error messages will appear.

Each ND computer system contains a console terminal as shown in figure 2. It is first used by the System Supervisor to get SINTRAN III operational. After this is done, the console terminal will normally function as the error device. However, the System Supervisor can select any terminal to be the error device. So, a console terminal is always the same physical terminal. However, being an error device is a function that can be assigned to any output device.

Appendix A of SINTRAN III REFERENCE MANUAL (ND-660.128) shows the standard terminals delivered with ND systems. If your terminal is not documented here, refer to the manufacturer's "User's Manual" for definition of the keyboard layout, or contact your local ND representative.

Figure 1. A User CRT Terminal

ND-660.182.03


Page 27

3.2. Logging In

You are probably familiar with the process of logging in by now, but in this section we give a more general explanation of the procedure.

The System Supervisor is responsible for configuring the terminals (i.e., cabling, selecting speed of transmission, etc.). The rest of the process involves the user.

After turning on the terminal and making sure the terminal is online (press LINE if necessary), press ESCAPE and SINTRAN III returns the time and asks for the user's identification ("User Name") created for him by user SYSTEM. When this user name has been entered, followed by CR, a prompt is received for a password. This is optional and can be any set of characters terminated by CR. If used, the password will be checked but not echoed for security reasons. If it is not used, only CR should be entered. If the accounting system is running a further prompt is now issued for a project password. This is also optional, its function being to identify responsibility for the cost of the computer time. The password, if any, followed by CR, should be entered, whereupon the logging-in procedure is complete and the commercial at(@) will be displayed indicating that SINTRAN III is waiting for a command or call to a subsystem.

A Console Terminal (Hardcopy)


Page 28

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

Flowchart

  • Power on, On-line

    • Terminal OK?
      • NO: Contact System Supervisor for finding faults
      • YES: Press ESCAPE
    • Any message?
      • NO: Contact System Supervisor for availability
      • YES:
        • Message =ENTER etc.

          • Enter user name, password
            • Accepted
              • NO: Delay on receiving @, enter command
              • YES:
                • Project number requested?
                  • NO: Delay on receiving @, enter command
                  • YES: Enter number

Fig. 3. The Log In Procedure

NBD-6801.1822.03


Page 29

2.7 Executing Commands and Programs

The different states of the interactive terminal work are shown in figure 4. After you have logged in, you enter the command mode as indicated by the @ on the screen. The terminal is now waiting for a command or the name of a program. If you enter a command (consisting of name and parameters) you will enter the command execution mode. The command may be written as upper or lower case letters. It may terminate by itself or you can in most cases terminate by pressing ESCAPE. In the command mode you can also enter the name of a program: This can be either a system program (i.e., subsystem, a program supplied with the machine) or a user program (a program written by the user). The program is loaded and the terminal enters the user mode. All terminal input (except ESCAPE if enabled) is now handled by the user program. In a way similar to command execution, the program may terminate by itself or you may at any time press ESCAPE to stop the execution (if not disabled by the program). When you receive @, you are back in command mode.

1. Logged out
log
log im
------------------- --------------------- ---------------------------------
2. Command mode
E! @
S lenter lenter
C lcommand lprog.
A ltermin. lname
P lby lby
E litself commands litself
------------------- --------------------- ---------------------------------
3. Command exec control User mode
cution mode of

These commands are @RECOVER, @CONTINUE, and @GOTOeUSER

Fig. 4. The States of a User Terminal


Page 30

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

9.M. Writing SINTRAN III Commands

2.M.1. Single Line Commands

A SINTRAN III command is normally written on one line. As an example, consider the command below.

Definition:

@LIST-FILES <file name>,<output file>

Example:

@LIST-FILES OLE,TERMINAL

The command elements are: command name (LIST-FILES) and parameters (OLE and TERMINAL). The elements are separated by space or comma. The command name consists of one or more parts (LIST and FILES) separated by hyphen (-). Parameters are defined in the documentation by enclosing the name in angular brackets (<file name>). A parameter may be one of four types:

  1. A numeric parameter is either octal or decimal. If you specify just the digits, the radix is determined by the command. The radix can be specified explicitly by appending a B for octal or D for decimal, e.g.:

    @GET-TERMINAL-TYPE 35

    will use 35 as a decimal number. The command could have been written as:

    @GET-TERMINAL-TYPE 43B

  2. A parameter may be a file name. This is either the name of a data file or a peripheral file.

  3. The parameter can be a selection, i.e., an answer to a question, such as YES or NO.

  4. The parameter can be a character string terminated by an apostrophe (') or CTRL/L before the comma or space.

NID-6.801:32.03


Page 31

2.4.2. Abbreviation in Commands

Command names, file names and selections can be abbreviated. Command names can be abbreviated as long as they are unique, e.g., @LIST-FILES may be written as @L-FIL or @LI-FI. However, @LI-F would give the message:

AMBIGUOUS COMMAND

since it can mean both @LIST-FILES and @LIST-FRIENDS. The same applies to file names and selections. When creating a file, however, the name must be given in full.

Sometimes we want to refer to several objects with one abbreviation. For example, the command:

@LIST-FILES OLE%TERM

will list all files matching the name OLE, such as OLE-1, OLE-2, OLEANNA, etc.

2.4.3. Use of Asterisk (*)

If an asterisk (*) appears in a command element, it will match any character, e.g.:

@LIST-FILES %COPY%TERM

will list files such as ACOPY, BCOPY etc.

2.4.N. Default Values

Many parameters have default values. If the parameter is omitted (as indicated by two subsequent element separations), the default value will be selected, e.g.:

@LIST-FILES,,LINEPRINTER

will list all the user's own files in his/her default directory on the printer. (Default directory will be explained in chapter 3.) The command:

@LIST-FILES OLE,,Z

will list all files matching the file OLE on the TERMINAL, which is the default (output file). Note that two commas must end this command or else the last parameter will be asked for.

NID-6:801:32.03


Page 32

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

2.H.5. Prompting Line Commands

Until now, all command elements have been entered on the same line. It is also possible to enter each command element on a separate line:

@LIST=FILES
FILE NAME:OLE
OUTPUT FILE:TERMINAL

Each entry is followed by RETURN. Leading text requesting parameters are called prompting lines. Just pressing RETURN as an answer to a request indicates a default value, e.g.:

@LIST=FILES
FILE NAME:
OUTPUT FILE:

has the same function as:

@LIST=FILES, OLE

If you do not specify all parameters in a command, the rest will be asked for (prompted). For example:

@LIST=FILES OLE22,
OUTPUT FILE:

The last parameter is prompted, since the first line ended with only two commas.

2.H.6. Correcting Typing Errors

To correct errors while you are typing, SINTRAN III has control characters available. They are the same characters used by the EDIT command in the QED subsystem. You can correct the line you are currently typing, or edit the previous command and enter it again. In the latter case, the previous command must have been a single line command. This section demonstrates a minimum set of control characters. For a more complete list, refer to appendix A.

2.H.6.1. Correcting the Current Line

CTRL/H deletes the previous character in the current line or effectively backspaces the line. SINTRAN responds with a ° (up-arrow). Assume the cursor is positioned after the last character in the (erroneous) line.


Page 33

Using The Terminal

To Eliminate the Last U

To eliminate the last U, type CTRL/A twice and resume the typing from the error.

@TERM#IAL:STATUUGSAAS,,

The up-arrows are echoes to CTRL/A and indicate that you have eliminated the previous two characters.

CTRL/Q deletes the current line. If you have typed the following and the cursor is positioned after the U:

@TERMINEE:STATU

You might prefer to start the line all over again. Hit CTRL/Q and the cursor will advance to the beginning of the next line where the command can be typed again. SINTRAN responds with underlines:

@TERM#INAL:STATU
TERMINAL-STATUS

2.U.1.6.?. Editing the Previous Line

The basic commands for this purpose are CTRL/D, CTRL/C, CTRL/S, CTRL/E, CTRL/Z and CTRL/Q.

CTRL/D copies the rest of the old command (on the previous line) to the new command (on the current line). You can use it to enter the previous single line command once again. Or, you can use it to terminate a correction. If by mistake you type:

@TERM#NAL-STATUS,,
NO SUCH FILE NAME
@

You can correct it by typing T, E, and CTRL/D,

@TERM#ING#ESTNATICS,,

The command has now been correctly entered.

CTRL/C copies one character from the old command to the new command. For example:

@LU=FI,,
NO SUCH FILE NAME
@

Now, type CTRL/C once, then the correct character (I instead of U) and then CTRL/D to terminate the command.

@L=FI,,

NID-6.601139.0R


Page 34

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

Your command will now be accepted.

CTRL/S skips one character in the old command, e.g.

@L1=F,,

NO SUCH FILE NAME @

To correct the command, enter CTRL/C twice, then CTRL/S and finally CTRL/D.

@L%=F,,

When CTRL/S is typed, SINTRAN responds with percent (%) instead of the character in the old command.

CTRL/E is used for insert mode: The first time CTRL/E is typed you enter insert mode, the next time you type CTRL/E you leave insert mode. In insert mode, all printing characters will be inserted in the old command. For example:

@L==F,,

AMBIGUOUS COMMAND ^

Press CTRL/C, CTRL/E and enter the missing character, Finish the editing with CTRL/E and CTRL/D.

@K%=F,,

When you enter insert mode a start angle bracket (<) is echoed. When you return from this mode an end angle bracket (>) is echoed. There is no restriction on how many times you may use CTRL/E on one line.

2.5a Error Messages from SINTRAN III

This section gives an overview of the error messages you may get at the terminal. A complete list of error messages is included in appendix D of the SINTRAN III REFERENCE MANUAL.

There are three types of error messages:

a. Runtime errors are errors directly from the SINTRAN III kernel. (i.e., the central part of the operating system.) The message format is as follows:

ERROR nn AT aaaaaa;

The meaning of the number nn and the is shown in Appendix D.1.2 of the SINTRAN III REFERENCE MANUAL which lists the different error messages.


NED-600182.03


Page 35

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

b. Filesystem errors are displayed only as <error text>. The different texts are shown in the aforementioned Appendix under the column "meaning".

c. Command processor errors are displayed as <error text>.

Errors may also occur when you are running user programs. Error messages are then either displayed directly by SINTRAN III on the terminal, or returned with an error indicator from a monitor call.

ELRun-timeeerrors may occur in the same way as for commands. The message is displayed directly on the terminal.

b. Filesystem errors are indicated on return from monitor calls. For example, OPEN (MON 50) has an error exit with the A-register containing the error number. The numbers are listed in appendix D.2.1 of the SINTRAN III REFERENCE MANUAL. The monitor calls ERMSG (MON 61) or QERMS (MON 65) are normally used to display the <error text> on the user terminal. A call may then look as follows:

MON 60       %OPEN
MON 65       %QERMS, TERMINATE ON RETURN
             <normal return>

c. Command processor errors may also be caused by monitor calls. The <error text> is displayed. The messages cannot be produced by ERMSG or QERMS.

d. FORTRAN run-time errors are written out directly from a FORTRAN library routine according to the format:

FORTRAN RUN-TIME ERROR nnn AT ADDRESS aaaaa
<error text>

The number nnn and the corresponding <error text> is shown in appendix F.11 of the SINTRAN III REFERENCE MANUAL.

Errors may occur in SINTRAN III subsystems. These system programs have their own set of messages. Consult the user manual of the subsystem for documentation of error messages.

Finally, error messages from RealTime programs are routed to the error device (normally the console terminal.) This also applies to input/output messages from the batch output device.

2.6. Listing Information about the System

At this point you should have become familiar with the way SINTRAN III commands are written. To exercise your skill, you can try out some commands which list information about the system. The first group lists information about the other users. Each command below is explained together with its definition and an example.


Page 36

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

@LIST-USERS <user name>,<output file>

@LIST-USERS,,,

This command lists all users defined in main and default directories in the file system. The list appears on the TERMINAL and it will be similar to the one below:

USER 0 : PACK=ONE:2SYSTEM
USER 1 : PACK=ONE:GUEST
USER 2 : PACK=ONE:TRPS-SYSGEN
USER 3 : PACK=ONE:HAP-SB
USER 4 : PACK=ONE:BACKUP:SIBAS
USER 5 : PACK=ONE:AGCM:BOH
USER 6 : PACK=ONE:JOHN:SMITH
USER 7 : PACK=ONE:JOE-GREEN
USER 8 : PACK=ONE:FLOPPY-USER
USER 9 : PACK=ONE:JERRY:JONES

@WHO-IS-ON

This command will show which users are logged in on time sharing terminals, batch processors or NORD-NET connections. It will be a subset of the previous list and might look as follows:

1 SYSTEM  
35 LASSE  
* => 80 GUEST  
670 SYSTEM  

The first column shows the logical device number (see section 3.1) of the terminal where the user is logged in. The arrow indicates your own terminal.

@TERMINAL-STATUS <logical dev. no>,<interval>

@TERMINAL-STATUS,,,

LOG.NO USER MODE CPU*MIN OUT OF LAST COMMAND
1 SYSTEM COMMAND 0 15 SYS
35 LASSE USER 0 50 CC CC
80 GUEST COMMAND 4 54 PTN

It is possible to obtain a periodic report on the activity of one or all terminals logged in. The above example produces a report on all terminals every 10 seconds. The reporting will continue until you press ESCAPE to get back to command mode.

The last set of commands is used to check the time.

@DATE

The command gives you the date and time according to SINTRAN III clock.

NID-6.80:182.03


Page 37

@TIME-USED

The command lists the amount of CPU time you have used and the period for which you have been connected (called the connect time).

1.7: @Logout

When you want to finish using the terminal, you log out from the system by giving the command:

@LOGOUT

11.09.18 28 JULY 1982

--EXIT--

(or just @EOJ)

If the accounting system is running, the "TIME-USED" information is also displayed.

@9997

11.09.18 26 JULY 1982

TIME USED IS | 1 MINS 23 SECS OUT OF | 4 MINS 56 SECS
---|---
--EXIT--

At this point you are no longer logged in on the computer.

It is good practice to log out if you are leaving the terminal for more than a few minutes.

2.8. @CHANGE-PASSWORD

@CHANGE=PASSWORD ,

The password can be changed at any time. If you do not want to have the password displayed on the screen, enter the command as multiple lines, e.g.:

@CHANGE=PASSWORD

OLD PASSWORD: (old password is entered but is not echoed)
NEW PASSWORD: (new password is entered but is not echoed)
@

2.9. Dialed-up Terminals

Some users access the system through dialed-up telephone lines. These users must establish phone connection with the computer in addition to the normal log-in procedure. When logging out the phone must be disconnected.

Most terminals work in the full-duplex mode. This means that you can send data to the computer at the same time as the computer is sending data back, just as when you use a normal terminal connection.

NID-60.132.03


Page 38

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

There are two types of couplings at the terminal site, acoustic coupling and wired coupling.

2.9.1. Acoustic Coupling

A terminal with this type of coupling has two rubber cups where the telephone receiver is mounted. Logging in proceeds as follows:

  1. Turn the terminal on.

  2. Dial the computer. You should get high pitch tone.

  3. Mount receiver in acoustic coupler.

  4. Press ESCAPE to start the normal log-in procedure.

The log-out procedure is as follows:

  1. Enter the @LOGOUT command.

  2. Put the receiver back on the hook to disconnect the line.

2.9.2. Wired Coupling

A terminal with this type of coupling is wired to the telephone modem. Logging in proceeds as follows:

  1. Turn the terminal on.

  2. Turn switch on modem to the "PHONE" position.

  3. Dial the computer to get the high pitch tone.

  4. Turn switch to "DATA" position and put receiver back on the hook.

  5. Press ESCAPE to start the normal log-in procedure.

The log out procedure is as follows:

  1. Enter the @LOGOUT command.

  2. Turn switch to the "PHONE" position.

  3. Lift the receiver momentarily from the hook to ensure that the line is disconnected.

NID-80.132.03


Page 39

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

2.10. User Programs in SINTRAN III

2.10.1. Monitor Calls from FORTRAN Programs

The previous sections have described various commands the user can enter at the terminal. When running programs, it is possible to use the facilities of SINTRAN III by means of monitor calls. In FORTRAN the call is made to a subroutine or function. The routine then checks the parameters and makes the corresponding monitor call in machine code.

A small program to demonstrate the use of FORTRAN monitor call is shown below. It obtains the time used since you logged in by calling TUSED. Firstly we use QED to enter the symbolic code. (For a description of QED, see the QED USER'S MANUAL (ND-60 0031)).

@RØ
ØR6*W.3
RA

DOUBLE INTEGER TDay,TDDy,TUSED
TD=TUSEDØJZ
ED=DBØD
WRITE(7,7Ø)TDD
10 FORMAT('TIME USED IS '9159' SECONDS')
STOP
EØ

(Type RETURN and CTRL/L)

*w "TEST"
6E*NØNRB$WRITTFRN
@EX
@

The program file created is TESTSXYMBØ. It can now be compiled by the FORTRAN compiler as follows:

@FTN
MØRE 1Ø/1ØØ FORTRAN COMPILER FTN=2090H
$ØØM TEST,"TEST"
7 LINE'S COMPILED'. OCTAL SIZE = 130
CPU-TIME USED IS 0.3 SEC.
@EX
@

ND-6000132e03

Page 40

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

The input to the compiler was the file TESTS@MMB (SYMBdefault) and a new file of object code, TEST:BRF (BRRFidefault), was created. The program is ready to be loaded and run by the NRL, ND Relocating Loader:

@NRL
RELOCATING LOADER LDR=1935H
%LOAD TEST,FTNLIB
FREE ! 035116*177777
*BDPE

TIME USED IS 3 SECONDS

022202 STOP 0
@

2.10.2. Monitor Calls from MAC Assembly Programs

Monitor calls are made directly in MAC programs by using the MON n instruction, where n is the monitor call number. A program similar to the one in the previous section is shown below. The monitor call for TUSED is MON 11M. IOUT (MON 35) is used to print the number.

In order to enter the program use is made of the direct program entry feature of MAC.

Code

-MAC-
ig!Xyxzpq MON 114 set location counter to 10, call TUSED
SAT 62 divide AD by 50, AD contains time used in RDIV ST basic time units, i.e. 20msec. Division
-M- gives quotient in A, remainder in D.
SAT 12 print in decimal
MON 35 ...
MON 0 exit to command mode
191 2 start execution in 106. 10
@

In this case, we have used 2 seconds of CPU time. The result can be verified by using the command corresponding to TUSED:

@TIME-USED
TIME USED IS 2 SECS OUT OF 9 MINS MU SECS
@

2.10.3. Monitor Call Formats

The monitor calls described in the previous two sections are all available from time-sharing and batch programs. Some calls are only available from RTprograms. Refer to the SINTRAN III REFERENCE MANUAL for the availability of each monitor call.

ND-660.132.03

Page 41

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

In general, passing parameters in MAC monitor calls is performed in two different ways:

A: Through hardware registers

Normally the T, A, D and X registers are used. The input parameters must be loaded by the user program before the call is made. An example is INBT (MON 1%):

SAT  1   %device no. is 1  
MON  1   %INBT - read one character  
JMP ERR %error return9, A = error no.  
STA CHR %skip return, A + character in bits 7-0  

B: By using a standard call format

The A register points to a parameter list containing the addresses of the values of each parameter, or the values themselves; for a mixture of the two. An example is CLOCK (MON 113).

LDA (PAR  %A rego points to parameter list  
MON 113   %CLOCK w read date and time  
          % next instruction  
)FILL PAR, ARRAY  %pointer to 7 word array  
ARRAY,0 %basic units
0 %seconds
0 %minutes
0 %hours
0 %day
0 %month
0 %year

Most monitor calls use the two following instructions as return points (see example A above), the first if an error occurs, the second when the function is performed correctly. In case of the error return, the A register usually contains the filesystem error number. Appendix D.2.11 of the SINTRAN III REFERENCE MANUAL lists the different errors.

When executing a MON instruction within a user program, an interrupt is generated, transferring control to a system routine on interrupt level 14. This routine activates the required function on a lower interrupt level (1, 3, A, or 5) on behalf of the calling program.

2.10.1. Aborting a User Program

As mentioned in section 2.03, a user program or subsystem can be aborted by pressing the ESCAPE key, unless escape is disabled e.g., in a SIRAS application program. The terminal will then display the message:

USER BREAK AT aaaaaa

Where aaaaaa is the next address to be executed after the point of interruption. All opened files will be closed, except the ones which...

NOD-6.60:132.03


Page 42

SINTRAN III TIME SHARING BATCH GUIDE

Using The Terminal

are permanently opened (Section 3.8.2).

Three commands are useful after aborting a program, they are:

@STATUS

Display the contents of the program registers at the point of interruption.

@CONTINUE

Restart the program at the restart address if any (Section 5.2.2).

@GOTO-USER

Restart the program at

. The default address is the next one (aaaaaa, as shown above). If the program uses files when it is interrupted, it is essential to set them permanently opened before the program is started for the first time. They will then still be open when the program is restarted.


Page 43

SINTRAN III TIME SHARING BATCH GUIDE


NDD-6301182.03


Page 44

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3. The File System

§3.1 General

The SINTRAN III File System is designed to manipulate files on disks and floppy-disks. A "file" in this context is a collection of records or blocks, ordered randomly or sequentially. It is also able to handle floppy disks, magnetic tapes and standard peripherals as sequential files. The file system is designed to operate as part of SINTRAN III.

Each file in the file system is named with a character string, and these strings are used in all commands to the file system. The File has an owner, which must be one of the users in the file system. Each user may have several (up to 8) of the other users as friends (see section 3.5.1.). The file system provides individual protection of files, with separate protection modes for the owner, the owner's friends and the public access to the file.

The structure of the physical devices connected to an ND computer is shown in figure 50. The lowest element of the hierarchy is a device or a data storage medium. (Note that this is just a logical organization of devices by functional category as opposed to how they are physically interconnected.) A peripheral file name is associated with each of the character devices and may be associated with a NORDMENT line.

A directory is associated with each of the mass storage media except for tape. The data area of a directory is divided into user areas and each area will contain a set of mass storage files (see figure n). A file name may thus be either a peripheral file or a mass storage file name. For example, if you want to copy a file from a mass storage file (OLE) to a peripheral file (LINE-PRINTER) you can just write:

@COPY LINE-PRINTER,OLE

where LINE-PRINTER is the name of a line-printer. If you want to copy between two mass storage files, you can use the same command:

@COPY OLE,PSB

The command copies to mass storage file OLE from the mass storage file PER byte by byte. A better command for this is the COPY-FILE command described later in the manual. It is much faster and it avoids the problem with holes. The system will itself make the distinction between the two types of files.


Page 45

SINTRAN III TIME SHARING BATCH GUIDE

The File System

Hardware Devices

Character Devices

  • Device 1
  • Device 2
  • ...
  • Device n

Mass Storage Devices

  • DISK-20MB
    • Unit 2
    • Fixed pack
  • DISK-10MB
    • Unit 2
    • Removable pack
  • Unit 0
  • DISK-338Mb
    • Unit 1
    • Removable pack

Process I/O

  • Device 1
  • ...
  • Device n

Miscellaneous

  • MCP
    • Device 1
    • ...
    • Device n
  • NDISK
    • Device 1
    • ...
    • Device n

Fig. 5. Categories of Hardware Devices

Magnetic tapes behave like peripheral files to a large extent, and can be treated as a character peripheral by using INBTN(MON 1) and OUTBTN(MON P). Input and output is, however, usually performed by means of the special monitor call MAGTP which is also used for all the subsidiary functions on tapes (e.g., rewind, write, and end of file). SINTRAN III Special I/O Guides, NID.60,134H, describes the handling of magnetic tapes in full.

NID-65001322.03


Page 46

SINTRAN III TIME SHARING BATCH GUIDE

The File System

When programming in FORTRAN, magnetic tapes are treated as they are, i.e., blocks in series, thus obviating special attention. Note that Backspace, Endfile, and Rewind statements can be used to control magnetic tapes from FORTRAN.

When a file is opened for data access it is associated with a number which is then used for all subsequent access operations. Access takes place via the CONNECT command, OPEN command, or from within a program by means of the OPEN monitor call, or an OPEN statement in FORTRAN or COBOL. This number is limited and restricted to certain values. The numbers for disk files are supplied on Open and they can no longer be used after CLOSE until another OPEN or CONNECT is performed. For magnetic tape and other peripheral files the number is that of the device (see section 3.2.7).

-----------------------
|      directory      |
-----------------------
          |
----------------------------
|           |      |       |
| "O"  "R"  | "W"  | "777" |
----------------------------
   |     |     |     |
---|-----|-----|-----
|   | "S" | "M" |
| a |  b  |  c  |
---|-----|-----
   |     | 
---|----------|
| fi | fi  | fi |
| le | le  | le |
| o  | d   | f  |
--------------

Figure 6. Data Organization on a Mass Storage Medium.

NID-680:132.03


Page 47

3.2. Files

3.2.1. General

A file is a collection of data under a given name. The term file in SINTRAN III applies both to mass storage files (figure 6) and peripheral files. A mass storage file may be, OLE:DATA. A peripheral file may be, LINEePRINTER, the name associated with the line-printer peripheral. The smallest unit of readable data in a file is a character or byte which is always 8 bits. In mass storage files the bytes are grouped into equal sized blocks. The normal block size is 512 decimal bytes (or 256 words). The block concept is only used for direct addressing of data within the file.

The allocation of data on a mass storage device is in terms of 1K word pages. Blocks and pages are independent collections of the same data. Random reading and writing of data to a mass storage file (see below) are made in terms of blocks. A block in this connection is a collection of bytes where the length is determined by the I/O command or monitor call. FORTRAN I/0 is transmitted in terms of records. The length of a record is datawidth defined.

Mass storage files are of two types. A type commonly used is the indexed file. Such a file may have its 1K word pages scattered around the mass storage device.

Fig. 7. Indexed File

It has an index with pointers to where the pages are located. The size of the file may expand dynamically as the user writes onto the file. The index is kept in a separate page belonging to the file so that the file always needs at least one more page than it has pages of data.

Not all pages in an indexed file need to be allocated. If a page is not written into, then the page is not allocated and the index table is then said to contain a hole.

ND-60.132.03


Page 48

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The other file type is contiguous file. The pages of this type of file are then placed on consecutive page numbers of the mass storage device. The file has a fixed size during all data access. The advantage of a contiguous file is that data access may be faster since there is no need to look up an index.

|   |   |   |   |   |   |   |   |   |   |
|---|---|---|---|---|---|---|---|---|---|
Fig. 8. Contiguous File

An allocated file is a special type of contiguous file, because here the user can specify where on the disk or floppy the pages should be placed, provided these pages are free to use.

| 2176 | 2177 | 2200 | 2201 | 2202 | 2203 | 2204 | 2205 |
|------|------|------|------|------|------|------|------|
Fig. 9. Allocated File

Reading and writing to files is performed by sequential access or by random access. Sequential access implies that reading or writing starts at the first block or record and proceeds sequentially through the records in the file. Reading and writing to random blocks in the file is called random access. All blocks in random files must be of the same size. The block size can be set by @SET-BLOCK-SIZE (SETBS MON 76).


Page 49

3.2.2.1 File Name

The format of a file name is defined as follows:

<file directory name>:<owner name>‘<object name>:<type>:<version>

The permissible characters used are numeric for <version>, alphanumeric for <type> and alphanumeric and hyphen (-) for all the others. <file directory name>, <owner name> and <object name> can contain at maximum 16 characters each. <type> can at maximum contain 6 characters. The maximum value of <version number> is 256.

It is not always necessary to specify the file name in full. As an example, assume you want to create an indexed data file in your own user area on your default directory. Enter the following:

*CREATE DATA

In this case you need only enter the <object name>. Default values are used for the rest of the name. For the full name:

DISPLAY 0L,
FILE 16 : (BIG-PACK:OLE:DATA1)

returns a message similar to the one above. SINTRAN III finds that you are logged-in as user GUEST and that GUEST’s default directory is BIG-PACK. File type is DATA and its version number is 1. (If there were more than one version, each one would be listed separately with its version number.)

Also, the character * will match any character. (See section 2.4.3 for further details).

ND-60.132.03


Page 50

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.2.3. File Types

@PED
*S R file
** W file
*E
:SYMB

@TIN
$COMPILE
$BKIT
:BRF

@NRL
$LOAD
$DUMP
* RUN
:PROG

EXECUTE
->
@ RECOVER

Fig. 10. File Types

File types are used to indicate the format of the information on the files. For example, most programs are created as SYMB files containing symbolic code. When it is compiled, normally a new file is created with the same (object name) but of type BRF (Binary Relocatable Format). A relocatable program has the type PROG. Subsystems and commands assume a default type when the file name is specified, without the type being specified.

NID-6.80132.03


Page 51

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.2.4. File Versions

Files may also differ in the version number. If a file is created in more than one version, then no. 1 will be the latest version, no. 2 the previous one, and so on. When a file is opened for read, no. 1 will be accessed. When it is opened for write, the version with the highest no. will be selected. When writing is finished and the file is closed, its no. becomes 1 and all other versions are increased by one. It is also possible to access a specific version of a file by specifying its version number, e.g.:

@LIST-FILES-0LE,,
will list all versions of file OLE, whereas:

@LISTFILES OLE:1,,
will list only version no. 1.

3.2.5. Terminal Types

A large number of different terminals are used with the ND computers. They are either display terminals (VDU units) or hard copy terminals from different manufacturers. To make it possible to distinguish between the different types, SINTRAN III will store a terminal type number as part of the information about a LDN, provided it's a terminal. A standard terminal type name and corresponding number for each type is shown in appendix B of the REFERENCE MANUAL. If a terminal is sold as part of the system it is also listed with its ND-number (supplied by ND marketing).

If a user wants to get a particular terminal standardized, he should contact his ND representative to get it placed in the list. The terminal type is stored in the operating system and used by some of the SINTRAN III subsystems.

Two commands are used to manage the terminal type, @SET-TERMINAL-TYPE and @GET-TERMINAL-TYPE. The corresponding monitor calls are MSTTY (MON 17) and MGTTY (MON 116). They are explained in section 6.3.

3.2.6. Scratch Files

Each terminal (with a background program) has been assigned a scratch file. The file is indexed and is kept permanently open while the terminal user is logged in. When the user logs out the file is reduced to a maximum of 32 pages. LDN 100 (octal) is permanently assigned to this file.

The scratch file can be used for temporary data on mass storage. Some subsystems use this file and it is then not available for the terminal user. However, the terminal user can specify 100 as BRF output from the FORTRAN compiler for example. The same number can then be specified as input to the ND Relocating Loader.


ND–60 0132.03


Page 52

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.2.7. Logical Device Number

As explained in section 3.1, a file name must be associated with a number for data access. A file may be a mass storage file (OLE:SYMB;1) or a peripheral file (LINE=PRINTER,2pdf)). When opening the file from a command or a MAC program, a number is supplied by the file system on return. This number is called the logical device number (LDN). Note that this number is in general different from the FORTRAN unit number as used by a FORTRAN OPEN statement. The Unit no. will be described in section 3.2.8.

For example, consider the command:

@OPEN#FILE OLE;RAW
FILE NUMBER IS 0001011

We have opened a mass storage file, and the file system has returned an LDN = 101 (octal). A character device can be opened as follows:

@OPEN#FILE LINE=PRINTER,RAW
FILE NUMBER IS 5

LINE=PRINTER is a peripheral file and has 5 permanently assigned as its LDN.

The number 101 obtained above is an example of a dynamic LDN which is assigned on demand as a file is opened. A dynamic file number was also allocated for LINE=PRINTER above, but only the static LDN was used in the Open command. A static LDN is global for the whole system. A dynamic LDN, however, is local to the particular user. That is, if another user opens another file, he may also get the number 101.

NID-6.80.1322.03


Page 53

SINTRAN III TIME SHARING BATCH GUIDE

The File System

SINTRAN III LOGICAL DEVICES

Dynamic Devices

  • TERMINAL
    • 0
    • 1
    • 64

Character Devices

  • TAPE-READER
    • 1
    • 2

Other

Software Devices

  • Internal Devices
  • Semaphores

Miscellaneous

  • NORCOCH
  • Process I/O

Internal System Devices

  • mucl U_C
100-177 Dynamic LDN
0-77 1020-4077
200-377 Static LDN
500-577 11020-1377

Fig. 11. Categories of Logical Devices

NND-6.601132.03


Page 54

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The structure of logical devices is shown in figure 11. The two most important main categories are dynamic devices, which are the opened files, and character devices. The way in which LDN's are assigned is shown at the right-hand side of the figure. (See appendix C of SINTRAN III REFERENCE MANUAL for a more detailed list.) Static file numbers are universal for all terminals but dynamic numbers are local to your own terminal. (An open file is only open for your own terminal.)

At the bottom of the hierarchy are the individual logical devices, each device being a device element. For the character device TERMINAL, this can be terminal 0, terminal 1, or terminal 2, etc. It is important to distinguish the element number from the LDN. For each device element of a character device (except terminal 0) there is also a peripheral file name, e.g., terminal no. 2 has peripheral file name TERMINAL, element no. 27, and LDN = 9. LDN for terminals are described separately in section 3.2.9. All devices attached to a SINTRAN system have a unique device number. An LDN can be reserved or released. Note that LDN numbers shown in figure 11 are in octal.

3.2.8. FORTRAN Unit Number

The unit number used in FORTRAN programs is similar to the LDN described in section 3.2.7. In an OPEN statement it is used for associating a value with the file name for later data access. As opposed to the LDN, a value must be supplied on input to the OPEN statement. This value is used throughout the rest of the data access. It is an advantage to use the same value as the LDN whenever possible.

Consider two cases of output from a program. Firstly, writing on the line printer. This can be done directly by a statement such as:

WRITE(5)100I,J

5 is the standard LDN of the LINE-PRINTER. If 5 has been opened by the OPEN statement then 5 will be assumed to be a LDN.

Secondly, writing to a file. The file must first be opened with a unit number, e.g.:

IFIL1265
OPENK(N[F1]J,F1LE='TIME:DATA',ACCESszłW')

The file TIME:DATA will now be open for data access with the unit number 65 (2101 in octal). It can now be written to by a statement such as:

WRITEf6fri11,,10)TiD(7),TiD(6),TiD(5),TiD(A),TiD(3),TiD<2),TiD(1)

In general, the terminal user should avoid mixing LDN and unit numbers whenever possible.

NID-6:80:1622.03


Page 55

3.2.9. Logical Device Numbers for Terminals

From a background program it is possible to write to or read from any terminal except the console terminal (TERMINAL 1). Mostly, we want to communicate with our own terminal and LDN = 0 and 1 are used for this purpose.

LDN = 0

This is only permitted for input. It specifies edited input from the terminal. Edited input means that the terminal user may use the control characters mentioned previously.

LDN = 1

This is permitted on both input and output. It specifies that all characters are input from or output to the terminal (except ESCAPE on input which terminates the program).

LDN ≠ 9, 31A, 35, etc.

This specifies input from or output to TERMINAL-2, TERMINAL-3, TERMINAL-M, etc. (Device element no. 2, 3, U, etc.) Appendix C of SINTTRAN III REFERENCE MANUAL lists the LDN's for all terminals.

3.3. File Directories

3.3.1. General

A directory is a set of files and has the structure as shown in figure 6. There can only be one directory per mass storage medium. Mass storage may be hard disks or floppy disks. Each directory may contain files for one or several users. If the directory is contained on a removable medium, it may be moved to other installations and used there. Each mass storage medium to be used as a directory must be created with a name and entered before it can be used by the system. When a directory is no longer needed, it may be released and physically removed from the system. The next time it is needed, it must be physically replaced and entered again.

The first directory entered containing SINTRAN III (and related subsystems) is regarded as a main directory. This directory cannot be released.

Any directory in the system on a disk can be a default directory. A user may have space in n, 0 <= n <= total number of default directories. However, the directory with lowest index in which he has space when he enters will be default, and he must specify the directory name to access all the others. If a user leaves out the directory name in a file name, this default directory is assumed.

The system supervisor (user SYSTEM) is responsible for entering the main and default directories, setting them up as main or default, creating and allocating space to the different users. Time-sharing


Page 56

SINTRAN III TIME SHARING BATCH GUIDE

The File System

users can enter and release all other directories. Time-sharing users can also create and administer floppy-disks.

3.3.2. Directory Commands

The following commands are used to establish and maintain directories. They are all generally available for time-sharing users, except when noted otherwise.

3.3.2.1. @CREATE-DIRECTORY

@CREATE-DIRECTORY (<dir. name>,<device name>[,<unit>][,<bit-file address>])

Establish a new directory on a mass storage medium. The only device permitted for time-sharing users is floppy-disk. <device name> must then be FLOPPY-DISK=1 or FLOPPY-DISK=Z. <unit> is only specified if more than one unit is connected to the same controller. (Note: If only one unit(No. 0) is installed, the unit number is neither necessary nor permitted in the command.) Usually the user chooses the default value of <bit-file address>. The location will then be chosen by the system. When allocating large contiguous files on a floppy-disk the bit-file should be allocated at the end of the disk. The value of the parameter would then be 150.

For example:

@CREATE-DIRECTORY FLOPPY=1,F=BD+J;0,0

Create a new directory on the floppy disk unit 0 attached (connected) to controller with name FLOPPY-DISK=1. It is given the name FLOPPY-1. Section 3.11 shows how to initialise a floppy disk.

3.3.2.2. @ENTER-DIRECTORY

@ENTER-DIRECTORY (<dir. name>,<device name>[,<unit>])

Make a directory available to the system. The parameters are the same as for @CREATE-DIRECTORY, except for bit file address, e.g.:

@ENTER-DIRECTORY F-1,F-BD+1,0

This makes the directory, with the name FLOPPY-1, on FLOPPY-DISK-1 known to the system. It must have the name FLOPPY-1 or any superset of F-1 up to 16 characters will do.


Page 57

3.3.2.3. @CREATE-USER

@CREATE-USER :

Enter a new user name on the specified directory. For time-sharing users the directory must be on a floppy-disk. The user name must already be known in a main directory, e.g.

@CREATE-USER F-1:GUEST

Create the new user named GUEST on directory F-1.

3.3.2.4. @GIVE-USER-SPACE

@GIVE-USER-SPACE :,

Reserve the number of pages for the given user on the directory. For time-sharing users the directory must be on a floppy-disk. The maximum number of pages that can be reserved on a floppy-disk is 1MB, e.g.:

@GIVE-USER-SPACE F-1:GUEST,138

3.3.2.5. @RELEASE-DIRECTORY

@RELEASE-DIRECTORY

Make the specified directory unavailable for the system. It may now be physically removed from the system, e.g.:

@RELEASE-DIRECTORY F-1

It is important to remember this before removing a floppy-disk from the floppy-drive.

3.N. File Creation and Deletion

Files can be created either by implicit file creation or explicit file creation. An example of how a file may be implicitly created, using the editor QED is:

%W "AAA"

This command creates the file AAA$WMB and writes the text-buffer to this file. Files created in this way are always indexed files. Files can be created implicitly both in subsystems, such as QED, and by commands. An example of an explicit creation of a file is:


Page 58

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.4.1. @CREATE=FILE

@CREATE-FILE <file name>,<no. of pages>

Create a new file with the given name and number of pages.

If <no. of pages> is zero, an empty file will be created. The first time the file is written to it will be marked as an indexed file.

If the file is expanded with EXPAND FILE, the file will be contiguous (provided enough space is available).

If <no. of pages> is greater than zero, an empty contiguous file will be created (provided enough space is available) with the indicated <no. of pages>. If the file name contains a version number, it specifies the number of versions to be created.

E.g.:

@CREATE-FILE FILE=FOUR,10

Create the file FILE=FOUR:DATA (DATA=default type) as a contiguous file with 10 pages (20K bytes). (Note that quotes are not used here, although the file is new.)

3.4.2. @EXPAND=FILE

@EXPAND-FILE <file name>,<no. of pages>

This command must be used in order to expand a contiguous file. The parameter specifies the additional number of pages to be added to the file. For example:

@EXPAND-FILE FILE=FOUR,9

FILE=FOUR:DATA is expanded by nine pages (provided the contiguous space is available).

NID-60.132.03


Page 59

SINTRAN III TIME SHARING BATCH GUIDE

The File System

@CREATE-NEW-VERSION

@CREATE-NEW-VERSION <file name>, <no. of pages>

Create one or more new versions of the specified file and give them the number of pages as indicated. The rule for <no. of pages> is the same as for @CREATE-FILE. The number of new versions to be created depends on how many versions exist and the version number on the file name of the command. Assume that there are two versions of the file F=1:DATA⊗

  • F=1:DATA⊗;1
  • Fulz:DATA⊗;2

If we give the command:

@CREATE-NEW-VERSION F=1:zz⊗

This command will create new versions up to and including H (F=1:DATA⊗;3 and Fulz:DATA⊗;2). Assuming instead that we had given the command:

@CREATE-NEW-VERSION F=1:;1,110

The new version created (containing no data) would be named as version 1; the previous version 1 would become version 2 and the old version 2 would become version R. A new version of a file can only be created by this command.

@ALLOCATE-FILE

@ALLOCATE-FILE <file name>, <page address>, <no. of pages>

In the above commands, we have allowed the file system to decide where to physically locate the file. It is possible to determine the location of a file by @ALLOCATE-FILE. This command is similar to @CREATE-FILE, but the file will be located at the <page address>. In order that the file should be created, the area in the directory must not be in use. It is also possible to allocate further versions of the file, in which case they will be located one after the other in the directory. For example:

@ALLOCATE-FILE FILE-THREE:DATA 100⊗8

An allocated file, FILE-THREE:DATA containing 8 pages, is created in default directory starting at page 100 (octal).

Wp-S0u〚132.03


Page 60

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.4.5. @ALLOCATE-NEW-VERSIONS

@ALLOCATE-NEW-VERSIONS <file name>,<page address>,<no. of pages>

This command is similar to @CREATE-NEW-VERSION, but instead one or more new versions are created with the first version starting at <page address>. For example:

@ALLOCATE-NEW-VERSIONS FILE=THREE:2,140,8

Version 2 of the contiguous file FILE=THREE:DATA is created starting at location 140. The file size is 8 pages.

3.4.6. @RENAME-FILE

@RENAME-FILE <old file name>,[<new object name>:<new type>]

Change object name and/or type of a file, e.g.:

@RENAME-FILE (PACK-TWO:GUEST) F-1: SRC:SYMB

Change the type of the file from SRC to SYMB.

3.4.7. @DELETE-FILE

@DELETE-FILE <file name>[:<type>]

For deletion of a single file. The file type must be given. If a version number is given, only that version is deleted. If not, all versions will be deleted. The corresponding monitor call MODIFY (MON 5*) is explained in section 3.H.1.0. E.g.:

@DELETE-FILE F-13:DATA

Deletes all versions of the file F-13:DATA.

3.4.8. @DELETE-USERS-FILES

@DELETE-USERS-FILES <file name>,<MANUAL CHECK?>

Delete all files matching <file name>. If the last parameter is YES, each file name will be printed out. The user can then decide whether to delete each file.


Page 61

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The files should be deleted or not. If NO, all matching files will be deleted at once, e.g.:

@DELETE-USERS-FILES ,NO

Deletes all files in the user's default directory.

3.4.9. @SET-TEMPORARY-FILE

@SET-TEMPORARY-FILE \<file name>

Define the contents of a file as temporary. The pages of such a file will be deleted after it has been read from. The command should be given immediately after the file is created. This command is mostly used for spooling files, e.g.:

@SET-TEMPORARY-FILE LINE-PRINTER;2

Declare the file LINE-PRINTER, version 2 to be a temporary file.

Two commands related to file creation are declared as system commands. They are @SET-TERMINAL-FILE and @SET-PERIPHERAL-FILE, and are described in the manual SINTRAN III SYSTEM SUPERVISOR.

3.4.10. MDLIFI (MON 54)

Delete a single file. The same rule applies to the file name as for @DELETE-FILE, e.g.:

LDX (FILE          % X REG POINTS TO FILE NAME STRING
MON 54             % MDLIFI
MON 64             % ERMSG ON ERROR RETURN
...                % NORMAL RETURN
FILE, 'FILE:-THREE?DATA'

This deletes the file FILE:-THREE?DATA.

ND-60.132.03


Page 62

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.5. File Access Permission and Reservation

A file may be accessed for read, write, append (i.e., add data to the end of the file), common (i.e., more than one user having access at the same time), and directory (i.e., creation, deletion, change access).

The access that you are allowed to do to a file depends upon which user type you belong to and what kind of access the owner of the file has permitted for your category. More about this in the next section.

3.5.1. User Types

The users of a file are divided into three categories:

Owner Type Description
OWN The owner of the file. The normal default access permitted for the owner of a file is all types of access.
FRIENDS A group of users designated by a given user. (They are friends relative to a user's files.) Normal default access types permitted are read, write, and append.
PUBLIC All other users. The normal default access type is read.

You obtain the default access type associated with a file when the file is created (For example, @CREATE-FILE). The term "normal default" signifies the default when the system is started. It can be changed later on by the command @SET-DEFAULT-FILE-ACCESS (to be explained below).

The protection given to a file is illustrated in figure 12. It is normally organised such that the file owner has the greatest access while the public has the least.


Page 63

SINTRAN III TIME SHARING BATCH GUIDE

The File System


PUBLIC USER, read access
FRIEND USER, read, write, append access
OWNER, all access types
FILE

Fig. 120 Normal File Protection

3.5.2. Granting Access to Files

The file access-type is stored in the directory as part of the information about each file. In addition, for each user there is a special list of access-types for friends (see figure 13). For the users own and public requests, only the permission stored with the file is checked. For friend access, the permission for the friend is checked in addition to the permission stored with the file. The access is granted only if it is permitted in both lists.

For commands that set the permitted access for individual files we have:

3.5.3. @SET-FILE-ACCESS

@SET-FILE-ACCESS <file name>,<public access>,<friend access>,<own access>

Which sets the access mode for a specific file. The access specification is any relevant combination of:

NID-660.132.03


Page 64

SINTRAN III TIME SHARING BATCH GUIDE

The File System

R - read permitted
W - write permitted
A - append permitted

C - common access permitted (contiguous files only)

D - directory access permitted (the file may be deleted, legal access mode changed and new versions created)

N - no access permitted

For example:

$SET-FILE-ACCESS F=FzDATA N,FW,RWACD

Public users are not permitted to access the file. Friends have read and write access. The owner has all types of access. The result of the command can be checked by the command:

%FILE=STATISTICS F=FzDATA

3.5.7. $SET=DEFAULT-FILE-ACCESS

$SET=DEFAULT-FILE-ACCESS <public access>,<friend access>, <own access>

Change the default file access. The default file access is the values the file will get when it is created. The values of default file access when the system is started are listed in section 3.5.1, e.g.:

@SET=DEFAULT=FILE=ACCESS N,,,

The default file access of public is changed to no access.

3.5.5. $CREATE=FRIEND

$CREATE=FRIEND <user name>

Create a user as a friend. Note that a user can only declare other users as friends. He cannot declare himself as friend of other users. Thus, the friendship may not be mutual.

It is only possible to have up to 8 friends, and then only in the same main directory (all users have to exist in at least one main directory). The friend will now normally get permission to read, write, and append to your file (provided also that the particular file permits this for friends), e.g.:

ND-660.132.03

Page 65

SINTRAN III TIME SHARING BATCH GUIDE

The File System

@CREATE-FRIEND GUEST

Declare the user GUEST as your friend.

3.5.6. @DELETE-FRIEND

@DELETE-FRIEND

Remove the user name from the list of your friends. He will now be a public user, e.g.:

@DELETE-FRIEND GUEST

The user GUEST is removed from the list of your friends.

permission stored permission stored
with friend with the file
information
------------------
own own
permission
(@SETFILFILE-)
ACCESS)
------------------
friend friend
permission permission
granted (@SETWFILE-)
(@SER- ACCESS)
FRIEND=
ACCESS)
------------------
public
permission
(@SETWFILE-)
ACCESS)

Fig. 13. Granting Access to Files.

NID-600132.03


Page 66

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.5.7. @SET-FRIEND-ACCESS

@SET-FRIEND-ACCESS <user name>,<access type>

Specify access from a friend to the user's own files. Figure 13 shows how this access permission is used together with the file permission.

Friend access for a file is W. By typing:

@SET-FRIEND-ACCESS GUEST,RW

Access to the file for user GUEST is now only W (It may only be opened with write access). E.g.:

File access for a friend (@SET-FRIEND-ACCESS):

R W A C D

@FILE-STATISTICS

FILE 0 : (PACK=SOMEFILE) WFILES8BYMB;1 (INDEXED FILE) - PUBLIC ACCESS : READ - FRIEND ACCESS : WRITE, APPEND - OWN ACCESS : READ, WRITE, APPEND, COMMON, DIRECTORY - OPENED 7 TIMES - CREATED 10:00:33 AUGUST 16, 1982 - OPENED FOR WRITE 10:10:43 AUGUST 16, 1982 - 1 PAGE, 65 BYTES IN FILE

Access for a friend (@SET-FRIEND-ACCESS):

R W A C D

@LIST-FRIENDS

FRIEND 0 : GUEST

ACCESS : READ, WRITE

Friends access to the file (The intersection of the two):

R W A C D

NBD-80.132903


Page 67

3.6. Requesting Access to Files

Files are accessed both from commands and monitor calls. The access is only accepted if the corresponding file (and friend) access allows it, as shown in the previous section. There are two ways of requesting access, explicitly (commands and monitor calls) or implicitly (commands only).

With explicit access mode, you specify which type of access you want by a character combination. The characters are:

Character Request Type
R a read request
W write request
X random access request
A append request
C common request (only for contiguous files)
D direct transfer (only for foreground programs)

For legal combinations of these, see SINTRAN III REFERENCE MANUAL (ND-60.128).

An example is @OPEN#FILE; the FORTRAN OPEN statement or OPEN (MON 50).

@OPEN#FILE OLE,RX

means that the file is opened for random read only. In FORTRAN a similar statement would be:

OPEN(NFII,9FILE:'OLE',ACCESSB:'RXb')

The file OLE is opened for random write only.

With implicit access mode, the access mode is implied by the command:

@COPY#FILE (SYSTEM)OLE,(SYSTEM)PER

means that you are requesting read access to (SYSTEM)PER:SYMB and write access to (SYSTEM)OLE:SYMB.

3.7. Reserving and Releasing Files

The previous sections showed that there is a mode of access called common when the file is opened. It is also possible to reserve the access to a file for the user's terminal. (Note that it is the terminal and not the user name.) Using commands, it is possible to reserve peripheral files by name and whole mass storage devices, while with monitor calls it is possible to reserve all static LDNs (see figure 11%).


Page 68

SINTRAN III TIME SHARING BATCH GUIDE

The File System

It is not possible to reserve mass storage files and dynamic LDNs.

3.7.1. @RESERVE-FILE

@RESERVE=FILE ()

Reserve a peripheral for the exclusive use of the user's terminal. (The corresponding monitor call RESRV (MON 122) is described in section 3.7.50) For example:

@RESERVE=FILE LINE=PRINTER

The peripheral file LINE=PRINTER is reserved for the exclusive use of the user's terminal.

3.7.2. @RELEASE=FILE

@RELEASE=FILE ()

Permit a peripheral to be used from other terminals.

3.7.3. @RESERVE=DEVICE=UNIT

@RESERVE=DEVICE=UNIT [,<'F' or 'R'>,]

Reserve a device for special use, such that the directory on the device cannot be entered. For time-sharing users this should be restricted to FLOPPY=DISK. For example:

@RESERVE=DEVICE=UNIT F=DI 0

Do not allow FLOPPY=DISK-1, unit 0 to be used from other terminals.

3.7.4. @RELEASE=DEVICE=UNIT

@RELEASE=DEVICE=UNIT [,<'F' or 'R'>,]

This is the release command corresponding to the reserve command above.

The monitor calls for reserving and releasing logical devices are RESRV and RELES.

NID-6601822.03


Page 69

3.7.5. RESRV (MON 122)

INTEGER RESRV

ISTAT=RESRV(<LDN>,<read/write>,<return flags>)

Reserve a static LDN for the exclusive use of this program: If <read/write> is zero, then the input part is to be reserved, if one, the output part is reserved. <return flags> specifies the return strategy to be used if the LDN is already reserved. If zero, the program is to be set in a waiting state. If one, the call will return with a function value of -1. Successful reservation always gives a function value of zero.

If the user program exists without releasing the LDN, then it will not be released until the user logs out. (User RT and SYSTEM can always force it to be released by the command @FRRESV.)

For example:

INTEGER RESRV
ISTAT=RESRV(5,1,0)

Reserve the output part of LDN = 5 (usually LINE-PRINTER#). If the device is already reserved the program will be set in a waiting state. It will be started again when the device is released.

3.7.6. RELES (MON 123)

CALL RELES(,)

This is the release routine corresponding to RESRV. A time-sharing user can only release a LDN via the terminal from which it was originally reserved.

For RT-programming there are two additional commands for reserving and releasing, @FRRESV and @FRRELS. They will force the reserving or releasing independently of its current state.

In RT-programs the monitor call WHDEV (MON 1WD) can be used to find out who has reserved a LDN.

NID-6:60132.03

Page 70

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.8 Reading and Writing Data

3.8.1 General

This section describes commands and monitor calls for transmitting data between files and the user's memory.

Most of the functions are performed by monitor calls since reading and writing data usually takes place in programs. Some of the calls have corresponding commands (e.g., OPEN and @OPEN-FILE).

3.8.2 Opening Files

The most frequently occurring command and monitor call is @OPEN-FILE and OPEN (MON 50). This function uses LDN (file number). In the FORTRAN OPEN statement we use the unit number as described in section 3.2.8. The other functions are commands to open a file with a specific LDN, to open it as a scratch file, and to set a file permanently open.

RJT-users have two special commands for opening a file for RJT-programs. They are @THROW-FILE and @TOCONNECT-FILE.

3.8.2.1a @OPEN-FILE

@OPEN-FILE <file name>,<access type>

Make a file available for data access and return the LDN to be used for accessing the file. The <access type> requested is checked with the legal access types for the file, as described in sec. 3.503. Only certain combinations are legal. The file can be created with the @OPEN-FILE command. The corresponding monitor call is described in section 3.8.205, eage:

@OPEN-FILE "PERSONNEL-1",WA
FILE NUMBER IS 000101

Create and open the file PERSONNEL-1:SYMB for write and append access. The file is given the number 101 (octal).

@OPEN-FILE (SYSTEM)OLE:SYMB,RW

NOT READ AND WRITE ACCESS

The command requests the file OLE:SYMB to be opened for read and write access. This example shows an unsuccessful result, and the reason for this is that the access was not set to allow you to open the file for

ND-660,132203


Page 71

SINTRAN III TIME SHARING BATCH GUIDE

The File System

read and write.

3.8.2.2. @CONNECT-FILE

@CONNECT-FILE (file name)<file no.>,<access type>

Open a file with the specified dynamic LDNo. The call is similar to @OPEN-FILE except that the user specifies the file no. e.g.:

@CONNECT-FILE OLE,111,0;RW
Q

Open OLE2SYMB for sequential read and write access. Its file no. will be 110 (octal).

3.8.2.3. @SCRATCH-OPEN

@SCRATCH-OPEN (file name),<access type>

Open the file as a scratch file. Such a file is only closed when logging out, or by the command @CLOSE-FILE -1 which closes all files not set permanent open. When closed, no more than 32 of the file's pages are retained. In other respects, the command is similar to @OPEN-FILE, e.g.:

@SCRATCH-OPEN TEMP,RWA
FILE NUMBER IS 000104
0

Open the file TEMP:SYMB as a scratch file for read, write, and append access. The file number 104 is allocated to the file.

3.8.2.4. @SET-PERMANENT-OPENED

@SET-PERMANENT-OPENED <LDN>

The already opened file cannot be closed by the command @CLOSE-FILE -1. For example

@OPEN-FILE OLE,RW
FILE NUMBER IS 101
@SET-PERMANENT-OPEN 101
...

@CLOSE -1
the file is still open. The command @CLOSE -1 does not close files opened by the command @SET-PERMANENT-OPENED. The command @LIST-WHEN-FILES,9, will list open files.

...

NID-660.132.03


Page 72

SINTRAN III TIME SHARING BATCH GUIDE

The File System

CLOSE 101

The file␣101 is now closed

3.8.2.5. OPEN (MON␣50)

Open a file for data access. The file name can be read either from the user program or the user terminal as follows:

LDX (FILE % X = addr. of name
LDA (FILTY % A = addr. of file type
SAT 4 % T + sequential read
% and write
MON␣50 % OPEN
MON␣64 % error return
… % normal return
FILE, 'PER' % file name string
FILTY,'SYMB' % file type string

For other access codes see the SINTRAN III REFERENCE MANUAL.

Open the file PER:SYMB for sequential read and write.

3.8.3. Sequential Input/Output

The following are monitor calls available from user programs. Selecting a call depends on how many characters you want to be read by one call, what type of return strategy you want etc. There is a corresponding output call for each input call (though not vice versa).

The 8-byte calls (M8INB, M8OUT, B8BINB, B8INW and B8OUT) may only be used for character devices and software devices (figure 11) and NORD-NET These calls are described in detail in the SINTRAN III REFERENCE MANUAL.

3.8.3.1. INBT (MON␣1, FORTRAN call: INCH)

Read one byte from a device. (Read one word if the device is a data-link or word-oriented device.) For example

ICH=INCH(2)  
IF(ERRCODE.NE.0)GO TO 1000

Read one character to ICH from Fortran unit number 2. The read was successful if ERRCODE is zero, if not it will contain the error number.

NDD-6601.132.03


Page 73

3.8.3.2. OUTBT (MON 2, FORTRAN call: OUTCH)

This is the output call corresponding to INBT above, e.g.:

CALL OUTCH(5,ICHAR)
IF(ERRCODE.NE.0)GO TO 1000

Output one character in ICHAR to Fortran unit number 5. ERRCODE contains error status on return.

3.8.3.3. INSTR (MON 161)

Read a string of characters from a peripheral device. (This call is an optional part of SINTRAN III and can be requested when ordering SINTRAN III from ND.) For example:

DIMENSION MTXT(60)
. . .
ISTAT=INSTR(1,MTXT,100,15B)
IF(ISTAT.NE.0)GO TO 1000

Read a string of characters from your own terminal to MTXT. Terminate after 100 characters are read or after receiving CARRIAGE RETURN (15B), whichever occurs first.

3.8.3.4. OUTST (MON 162)

Write a string of characters to a peripheral device. (This call is optional as in 3.8.3.3 above.) For example:

INTEGER OUTST
DIMENSION MOUT(50)
. . .
ISTAT=OUTST(1,MOUT,15B)

Write a string of characters from MOUT to your terminal. Terminate after the first CARRIAGE RETURN (15B).

3.8.3.5. MSG (MON 32)

Write a character string on your terminal, e.g.:

LDX (TEXT % X = addr. of character
% string
MON 32 % MSG
. . . % normal return
TFXT, 'ERROR IN INPUT DATA' % the text is terminated with '

The text ERROR IN INPUT DATA is written on your terminal.

NID-660.132.03


Page 74

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.8.3.6. ROUT (MON 35)

Print a number in octal or decimal format on your terminal, e.g.:

SAT 12    % print in decimal format
LDA (NUMB) % A ÷ number
MON 35    % ROUT
...       % normal return

The value of NUMB is written in decimal format.
SAT 22 instead of SAT 12 will print in octal.

3.8.3.7. NOWT (MON 36)

Set wait mode or no wait mode of I/O calls to character devices.

NOWT (no-wait) modifies the behaviour of INBT (INCH) and OUTBT (OUTCH) in the event of the device not being ready.

On input, the normal situation is that INBT will wait for the next character to be input, if one is not immediately available. However, NOWT may be used to cause INBT to return immediately if there is no character immediately available and, in this case, give an error code of 3. (End of file.)

On output, the normal behaviour of OUTBT if the device cannot receive the character, is to wait. With NOWT one can modify this to allow OUTBT to return immediately. In the example below HOLD is used to wait for I/O completion.

DIMENSION MTXT1(1000),MTXT2(1000)
...
C INITIALIZE OUTPUT TO LINE PRINTER 1 AND 2
ISTAT=NOWT(5,1,1)
IF(ISTAT.NE.0)GO TO 999
ISTAT=NOWT(13,1,1)
IF(ISTAT.NE.0)GO TO 990
J=1
J=1

C OUTPUT ARRAY MTXT1 AND MTXT2
100 IF(J.GT.1000)GO TO 200

C OUTPUT TO LINE PRINTER 1
CALL OUTC(5,5,MTXT1(J))
IF(ERRCODE.EQ.0)J=J+1
IF(ERRCODE.NE.0)RETURNCODE.NE.3)GO TO 999

C OUTPUT TO LINE PRINTER 2
200 IF(J.GT.1000)GO TO 300
CALL OUTC(13,5,MTXT2(J))
IF(ERRCODE.EQ.0)J=J+1
IF(ERRCODE.NE.0)RETURNCODE.NE.3)GO TO 999
...

NID-60.132903


Page 75

SINTRAN III TIME SHARING BATCH GUIDE

The File System

300 CALL HOLD(1000,A4)

GO TO 100

CONTINUE IF ANY PRINTER HAS MORE DATA

STOP

ERROR EXIT
999
STOP
END

The program will output the array MTXT1 containing 1000 characters to line printer 1 and the array MTXT2, also containing 1000 characters, to line printer 2. The first statements set the peripherals in no-wait-mode and initiate indexes to the arrays. The program loop consists of two sets of output statements. The call to OUTCH attempts to put a character in the output buffer; if successfully, the index can be incremented. If ERRCODE is 3, the index will not be incremented and an attempt will be made to output the same character at the next call to OUTCH for the same peripheral. If ERRCODE is neither 0 nor 3, there is an error and the exit is taken through statement 999.

HOLD operates in a special way in NO-WAIT mode. If a break condition is detected (i.e., a peripheral has signaled that a break character has been transmitted), there will be an exit from the call. The call to HOLD above then behaves as a "wait for break" statement. (The maximum hold time is specified in the call.) When any of the peripherals generate a break, HOLD will exit and the program will attempt to output the next character or the same character again. The output will continue until there is no further data for any device.

3.8.4. Random Input/Output

Random I/O can be used to access both indexed and contiguous files. A random file consists of a set of equal sized records. The records are addressed in terms of blocks. The standard block size is 256 16-bit words. The size can be modified by @SET-BOOK-SIZE or the parameter RECL (record length) in the FORTRAN OPEN statement.

The two most important monitor calls for this type of I/O are RFILE and WFILE. They are usually used as monitor calls, but are also available as commands. One call transmits a number of words which is independent of the block size.

3.8.14.1. R$@(n)

| @RFILE | ,,, |

Transfer <no. of words> from one or more random file blocks into the user's memory where <no. of words> is the number of words to be transferred. The number is independent of the block size, therefore, one or more blocks may be read, e.g.:

NID-60.132.03


Page 76

SINTRAN III TIME SHARING BATCH GUIDE

The File System

@RFILE 1011,U00,0,1000

(All parameters are in octal.) Read 1000 words from block 0 of file 1011 to memory address H00. The block size is U008 (standard), so two blocks are read. Also, a less than the block size may be specified.

3.8.4.2. @WFILE

@WFILE <file no.>,<memory address>,<block no.>,<no. of words>

Transfer from the user's memory to one or more blocks in a random file. For example:

@WFILE 1011,U00,0,1000

(All parameters are in octal.) Write 1000 words from memory address U00 to block 0 of file 1011. The block size is H00 (standard), so two blocks are written.

These two commands also exist as monitor calls as follows:

3.8.4.3. RFILE (MON 117)

Read a block from a file to the user's memory. For example:

DIMENSION MDATA(512)
CALL RFILE(101B,0,MDATA,0,512)

Read a block from file 101 to array MDATA. The extent starts in block 0 and is 512 decimal words long. The second parameter specifies that there will be no return from the call until all input is complete. It is the only permissible value for timesharing users.

3.8.4.4. WFILE (MON 120)

Write an extent to a file from the user memory, e.g.:

DIMENSION MDATA(512)
CALL WFILE(101B,0,MDATA,0,512)

Write an extent to file 101 from array MDATA. The extent starts in block 0 and is 512 words long. The second parameter must be zero for time-sharing users.


Page 77

3.8.5. Closing Files

Files can be closed both from commands and monitor calls. If a file is open when the program terminates, it will be closed automatically, unless permanently open. This applies to both normal and abnormal termination. (The user can avoid this by setting the file permanently open, see next section.)

If the file is opened by a command, it will always be closed when the user logs out.

3.8.5.1. @CLOSE-FILES

@CLOSE=FILE F 0EBNZ

Close one or more files. If the file number, , ≠ -1 then all files not permanently opened (see section 3.8.2.4) are closed. If ≠ -2 then all files are closed. For example:

@CLOSE 191

Close the file number 101.

3.8.5.2. CLOSE (MON M8)

The monitor call can close files in a manner similar to the command. For example:

Command Description
SAT -1 % close all files not permanently opened
MON M8 % CLOSE
JMP ERROR % error return
... % normal return

This call has a function similar to the command @CLOSE=FILE -1.

3.8.6. Data Access Parameters

This section deals with the parameters used for sequential and random data access of a file. For sequential access there is a byte pointer which points to the next byte to be accessed. The maximum byte pointer is one less than the number of bytes in the file. The block size may be modified and the byte pointer may be set to the beginning of a block.


NID-600.132.03


Page 78

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The block size is the only parameter relevant for random access.

ECHOM (MON 3) and BRKM (MON M) affect data access for terminals. The calls are documented in chapter 6:

3.6.6.10 @SET-BYTE-POINTER

@SET-BYTE-POINTER (file no.><byte no.)

Set the byte pointer to be used by the next sequential file access. The corresponding monitor calls are SETBT and READBT, e.g.:

@SET-BYTE-POINTER 10190

The byte pointer is reset to the beginning of the file.

3.6.6.2. @SET-BLOCK#SIZE

@SET#BLOCK#SIZE (file no.)>

Set the block size to be used by the next file access. The standard block size is 256 decimal words*. The corresponding monitor call is SETBS. For example:

@SET-BLOCK#SIZE 1019512

Set the block size to 512 decimal words».

3.6.6.3a. @SET#BLOCK#POINTER

@SET#BLOCK#POINTER (file no.>,<block no.)

Set the byte pointer to the beginning of a block. The position is then dependent on the block size. The corresponding monitor call is SETBlo For example:

@SET-BLOCK#SIZE 101,512 @SET-BLOCK-POINTER 101,11

Set the byte pointer to byte 1024 in the file». (The first byte has address 0»)

ND-60.132.03


Page 79

3.8.6.4. SETBT (MON 74)

Set the byte pointer of a file, e.g.:

DOUBLE INTEGER IBYTTR
...
IBYTTR : 0
CALL SETBT(10, IBYTE)

Reset the byte pointer of LDN = 10 to 0.

3.8.6.5. RRBAT (MON 75)

Read the byte pointer of a file, e.g.:

DOUBLE INTEGER IBYTE
...
CALL READBT(10, IBYTE)

Read the byte pointer of LDN = 10.

3.8.6.6. SMAX (MON 73)

Set the maximum byte pointer of a file, e.g.:

DOUBLE INTEGER MAXBY
...
MAXBY = 377777B
CALL SMAX(10, MAXBY)

Set the maximum byte pointer of LDN = 10 to 256K – 1. The maximum size of the file will then be 256K bytes.

3.8.6.7. RMAX (MON 62)

Read the maximum byte pointer of a file, e.g.:

DOUBLE INTEGER MAXBY
...
CALL RMAX(10, MAXBY)

Read the maximum byte pointer of LDN = 10.

3.8.6.80. SETBS (MON 76)

Set the block size of an open file. The standard block size is 256 decimal words, e.g.:

NID-6.601B22.03


Page 80

SINTRAN III TIME SHARING BATCH GUIDE

The File System

CALL SETRS

Set the block size of LDN : 101 (octal) to 112 (decimal) words. The block size can also be set by including REC.BL … in the OPEN statement.

3.8.6.9. SETBL (MON 77)

Set the byte pointer to the beginning of a block. The position in the file is then dependent on the block size, e.g.:

CALL SETRBS(10)1B,512)
CALL SETBL(10)1B,1)

Set the byte pointer to byte 1024 (decimal) in the file. (The first byte has address 0.)

3.8.6.10. CIBUF (MON 13)

Clear the input buffer of a device, e.g.:

CALL CIBUF(9)

Clear input buffer of terminal 2. (Logical Device Number 9.)

3.8.6.11. COBUF (MON 1A)

Clear the output buffer of a device, e.g.:

CALL COBUF(9)

Clear the output buffer of terminal 2. (Logical Device Number 9.)

3.8.6.12. ISIZE (MON 66)

Get the current number of bytes in an input buffer, e.g.:

NUMB=ISIZE(9)

On return NUMB will contain the number of bytes in the input buffer of terminal 2.

3.8.6.13. OSIZE (MON 67)

Get the current number of bytes in an output buffer, e.g.:


NID.60.132.03


Page 81

INTEGER OSIZE

NUMB=OSIZE(9)

On return NUMB will contain the number of bytes in the output buffer of terminal 2.

3.9. Commands for Copying Files

Data can be copied from a source file to a destination file. The methods of copying are: one character at a time or one page at a time. It is also possible to copy more than one file by using the @COPY-USERS-FILES command in the BACKUP-SYSTEM.

User SYSTEM has available commands for copying all files in a directory (@COPY-ALL-DIRECTORY) or copying all pages on a device (@COPY-DEVICE).

3.9.1. @COPY

@COPY <destination file>,<source file>

Copy the contents of the source file one byte at a time to the destination file, e.g.:

@COPY OLE,TAPE=READER

copy from the tape-reader to OLE23XMR0

3.9.2. @COPY-FILE

@COPY-FILE <destination file>,<source file>

Copy the contents of the source file one page at a time to the destination file. This command should be used if both files are mass storage files. For example:

@COPY-FILE OLE,PER

Copy the contents of PER:SYMB to OLE2SYMB.

You should note that @COPY-FILE is much faster than @COPY.

3.10. Commands for Listing File System Information

Commands are available for listing information about files, directories, users and friends. Some commands are similar to others, except that they give more details. (@FILE-STATISTICS give more details than @LIST-FILES) The command @LIST-OPENED-FILES gives information about the files open by the own user. However, user RT and

ND-603132-03


Page 82

SINTRAN III TIME SHARING BATCH GUIDE

The File System

SYSTEM have available a similar command for files opened by RT-programs. (@LIST-RTOPENEDFILES).

Some monitor calls also give information about the file system. Reading the byte pointer and its maximum value (REABT and RMAX) was shown in section 3:8:6. For RT-programs a monitor call is available for checking whether a device is reserved or not (WHDEV, see section 3:5).

3.10.1. @LIST-FILES

@LIST-FILES (<file name>,<output file>)

List names of files matching <file name> on <output file>. The number listed (FILE .o) is the file object number, e.g.:

@LIST-FILES PROGTERM
FILE 0 :   (PACK-ONE:GUEST)PROG-1;SYMB;1
FILE 12 :  (PACK-ONE:GUEST)PROG-22;SYMB;1
FILE 13 :  (PACK-ONE:GUEST)PROG-22;BRF;1
@

The files matching PROG are listed on TERMINAL.

3.10.2. @FILE-STATISTICS

@FILE-STATISTICS (<file name>,<output file>)

List complete information about files matching <file name> on <output file>. For example:

@FILE-STATISTICS PROG-22;SYMB,TERM
FILE 12 : (PACK-ONE:GUEST)PROG-22;SYMB;1
(INDEXED FILE)
PUBLIC ACCESS : READ
FRIEND ACCESS : READ, WRITE, APPEND
OWN ACCESS : READ, WRITE, APPEND, COMMON, DIRECTORY
OPENED 79 TIMES
CREATED 116,10,32 APRIL 23, 1979
OPENED FOR READ 21:59:16 AUGUST 15, 1979
OPENED FOR WRITE 10:56:15 APRIL 25, 1979
1 PAGE, 1000 BYTES IN FILE
@

Page 83

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.10.3. @LIST-OPENED-FILES

@LIST-OPENED-FILES <output file>

List dynamic file number and full name of all files opened for the terminal user. Note that this is the dynamic and not the static numbers, e.g.:

@LIST-OPENED-FILES.
FILE NUMBER 000100 : (BIGPACK:SCRATCH)SCRATCH&DATA;1
Opened files are listed (on TERMINAL in this example).

3.10.4. @LIST-DIRECTORIES-ENTERED

@LIST-DIRECTORIES-ENTERED <directory name>,<output file>

List names of entered directories matching <directory name> and devices where the directories are mounted, e.g.:

@LIST-DIRECTORIES-ENTERED.
DISC-2-75MB-1 UNIT 0 SUBUNIT 1: PACK-TWO
DISC-2-75MB-1 UNIT 0 SUBUNIT 0: PACK-ONE
All directories are listed (on the TERMINAL in this example).

3.10.5. @DIRECTORY-STATISTICS

@DIRECTORY-STATISTICS <directory name>,<output file>

List information about directories matching <directory name> on <output file>, e.g.:

@DIRECTORY-STATISTICS PACK-TWO.
DISC-2-75MB-1 UNIT 0 SUBUNIT 1: PACK-TWO (DEFAULT DIRECTORY)
1783 PAGES UNRESERVED AND 8847 PAGES UNUSED OUT OF 36945 PAGES

NDb460.132.03


Page 84

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.10.6. @LIST-USERS

@LIST-USERS [<directory name>:]<user name>,<output file>

List names of all users matching [:], e.g.:

@LIST-USERS PACK=FTWO:;
USER 0 : PACK=FTWO:SYSTEM
USER 1 : PACK=FTWO:JFB
USER 2 : PACK=FTWO:GUEST
@

3.10.7. @USERSTATISTICS

@USERSTATISTICS [<directory name>:]<user name>,<output file>

List complete information about all users matching [:] on . The default access used when creating a file for the user is listed if the directory is a main directory, e.g.:

@USERSTATISTICS PACK=ONESYS:;
  CREATED 13.49.27 JANUARY 2, 1979
  LAST DATE ENTERED 12.39.19 NOVEMBER 9, 1981
  DEFAULT PUBLIC ACCESS : READ
  DEFAULT FRIEND ACCESS : READ, WRITE, APPEND
  DEFAULT OWN ACCESS : READ, WRITE, APPEND, COMMON, DIRECTORY
  10801 PAGES USED OUT OF 12793 PAGES
@

3.10.8. @LIST-FRIENDS

@LIST-FRIENDS <user name>,<output file>

List names of friends to the user matching . The list is produced on the , e.g.:

@LIST-FRIENDS;;
FRIEND 0 : SYSTEM
            ACCESS : READ, WRITE, APPEND
FRIEND 1 : GUEST
            ACCESS : READ, WRITE, APPEND
@

All friends are listed together with their file access.


Page 85

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.10.9. @LIST-VOLUME

@LIST-VOLUME \<device name>,\<unit>,\<output file>

List the identification of a file, i.e., the reel label and the file labels.

3.10.10. @WHERE-IS-FILE

@WHERE-IS-FILE \<file name>
Check whether a file is opened and/or reserved. Also, list the user or RT-program who has opened or reserved the file, e.g.:

  • @WHEREIS-FILE ($CR)$CRATCH#0&:D
    SCRATCH#0&>DATA : OPENED BY USER GUEST ON TERMINAL 39
    @

3.10.11. @LIST-DEVICE

@LIST-DEVICE \<LDN>,\<read/write>
List name of the RT program having reserved the LDN. \<read/write> = 0 for read part, 1 for write part, e.g.:

  • @LIST-DEVICE 1,1
    RESERVED BY PROGRAM : BAK01
    @
    The output part of device 1 is reserved by the program BAK01.

3.11. Initialising a Floppy Disk

Most time-sharing users will use floppy-disks for backup of programs and data. A floppy-disk is normally used with a directory in the same way as hard disks. Before files can be written to the disk, a directory must be created. The procedure is as follows:

  1. Turn on power on the floppy-disk drive. (Not usual on NBD-1000).

  2. If it is a "virgin" floppy-disk it must first be formatted by the command

    • @DEVICE-FUNCTION \<peripheral file name>,FORMAT-FLOPPY

    For example:

    • @DEVICE-FUNCTION F-2-0,FORM-FLOP

The command takes 1-2 minutes to complete. If there are any unusable pages on the diskette, they will be marked by @DEVICE-FUNCTION and listed during the formatting. The diskette can still be used.

NBD-660.132-03


Page 86

SINTRAN III TIME SHARING BATCH GUIDE

The File System

Note that the first parameter is <peripheral file name> as opposed to <device name>. More information on @@DEVICE-FUNCTION is given in the next section (3.12).

Note: Diskettes from Norsk Data are formatted prior to delivery. This is not necessarily true of subsidiaries.

3. Creating the Directory

The directory can now be created by the command:

@@CREATE-DIRECTORY <dir. name>,<device name>{<unit>},<bit=file address>
For example:
@@CREATE-DIRECTORY BACKKBJDF:FD22.0

H. Entering the Directory

Entering the directory is performed by the command:

@@ENTER-DIRECTORY (dir. name>,<device name>,<unit>
For example:
@@ENTER-DIRECTORY :F= D=22,0

S. Establishing the User

Establishing the user is carried out by the two commands:

@@CREATE-USER <dir. name><user name>
@@GIVE-USER-SPACE <dir. name><user name>,<no. of pages>

The total {no. of pages} available on a floppy-disk is 148. If there are bad pages, the no. of pages must be reduced by the number indicated in step 2 above.

For example:

@@CREATE-USER BACKUP2GUEST
@@GIVE-USER-SPACE BACKUP: GUEST,148

The file space for BACKUP2GUEST is now available. Before the diskette can be removed the @@RELEASE-DIRECTORY command must be issued.

When using the floppy-disk the next time only steps 1 and 4 are necessary.

NDD-6:601622.03


Page 87

SINTRAN III TIME SHARING BATCH GUIDE

The File System

3.12. Manipulating Magnetic Tapes, Floppy Disks, Versatec and cassettes

A command used for device-dependent functions on magnetic tapes, floppy disks, Versatec and cassettes etc., is:

@DEVICE-FUNCTION <peripheral file name>,<function name>[,<optional parameter 1>,<optional parameter 2>]

Documentation on all of the possible function names will be found in the SINTRAN III REFERENCE MANUAL. However, some of the more frequently used ones are:

  1. Format floppy (see example in previous section, 3.11).

    New address information is written on the diskette. The default format is 256 words per sector, 8 sectors per track.

  2. Advance to EOR (Note that the tape is positioned immediately after the EOF).

    This enables a user to skip over a file on a tape or on a floppy disc.
    For example:

    @DEV-FU MAG-TAPE-1,ADV-T0EOF,2

    In order to advance through two end-of-file marks on magnetic tape unit 1.

  3. Rewind (i.e., Rewind the tape to its start position).

  4. Unload (i.e., unload the tape from the second reel to rewind it).

  5. Select Parity and Density

    This may be necessary in order to read a tape. For the selections available see the SINTRAN III REFERENCE MANUAL. The default value is zero.

The monitor call corresponding to @DEVICE-FUNCTION is MAGTP (MON 14#) as shown below.

MAGTP (MON 14#)

Select device function. It corresponds to @DEVICE-FUNCTION described above. For example, to format a floppy disc the call format is:

!!STAT = MS#GTR<function code>,<d>,<LDN>,<input format>,<d>

where <d> indicates a dummy parameter.

NID-660.132.03


Page 88

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The logical device number will be found in appendix C of the SINTRAN III REFERENCE MANUAL, and for floppy disk 1, unit 0, it is 1000 (octal). The function code is Al (octal). Documentation on call formats, codes and a full list of functions also appear in the SINTRAN III REFERENCE MANUAL under MAGTP (MON 14A). The call then becomes:

IDUM:0
ISTAT=MAXGT(F(HBUUM9,IDOB;IDUM,IDUM))
IF(ISS£GT.GE.T0)G0 T0 100
...
ok
...
100 error
0=0

3.13. Taking Backups

No matter how reliable a computer is, it will go wrong at some point. It may also happen that the user overwrites a wrong file, so the contents of that file is lost. In order to protect one's files from such mishaps, it is advisable to take a backup periodically.

A disk-to-disk copy is usually done once a week by the computer installation staff. So, in the worst case, you might lose a week's work. However, you can take your own backup, of all or part of your files, when you have something that you particularly do not want to lose.

Back-ups can be taken on a large disk, magnetic tape, or floppy.

A special program, called BACKUP-SYSTEM, is available for taking backup. This program has several functions, but most users will use it mainly for copying files. The COPY-US£R$&dFILES command can be used both for taking the back-up and for recovering, should you have to. Two sets of parameters are required, one to describe what you are copying to, the other to describe the source, i.e., what you are copying from. The files you have been working on are in a directory, on disk. The backup files will also be on a directory if they are on a large disk or floppy; on tape they will be on a volume.

The backup is taken by starting the BACKUP-SYSTEM program and giving the command COPY-USERS:£ERS&d (documentation on all of the possible function names will be found in the SINTRAN III Utilities Manual, ND-60.1F5):

@8ACKUPpSYSTEM

BA-SY:COHV4USEB8s6FILES < destination >,< source >

ND-6£01£22.03


Page 89

SINTRAN III TIME SHARING BATCH GUIDE

The File System

For example, to copy all of your files of type :TEXT onto a magnetic tape:

@BACKUP-SYSTEM

BA-SYSØCOPY-US:-HFI

DESTINATION TYPE: VOL

DEST. VOLUME-NAME: BACKUP

DEST. DEVICE-NAME: MAG-TAPE:1

DEST. UNIT-NUMBER: 0

DEST. FILEMANAGEMENT: 1

SOURCE TYPE: DIR

SOURCE DIRECTORY-NAME: PACK-ONE

SOURCE USER-NAME: JOHN-SMITH

SOURCE FILENAME: :TEXT

MANUAL CHECK: Ø

BA-SnØ:CHECK

The first parameter (VOL) indicates the type of the destination, here it is a volume.

The second parameter (BACKUP) is the name of the volume. (The system will make sure that the magnetic tape on the designated unit has the name you specify).

The third parameter (MAGTAPE:1) is the device on which the magnetic tape is mounted.

The fourth parameter (0) is the unit number on that device.

The fifth parameter (1) is the generation number, which allows several different copies of the same files to be kept on one volume.

The sixth parameter (DIR) starts the description of the source. Here it is a directory.

NID-660.132.03


Page 90

SINTRAN III TIME SHARING BATCH GUIDE

The File System

The seventh parameter (PACK-ONE) is the name of the directory.

The eighth parameter (JOHN-SMITH) is the name of the user whose files are to be copied.

The ninth parameter (:TEXT) names all the files you wish to be copied, in this case all files of the type TEXT.

The tenth parameter (Y(es)) means that for each file to be copied, the file name will be written on the terminal and the program will wait until you indicate whether the file really should be copied (press Y and CR) or whether it should be skipped (press N and CR). If you have finished copying and you still have many files to list, you can escape from this mode by pressing escape.

To recover these files one may write:

BA-SY:C-UaF DIR.PACK-ONE.,JOHN=SMITH.,
  VOL,BACKUP9MA6G^TAPE,^1901,2TEXT,N

where the first three parameters describe the destination, and the remainder describe the source.

Note: Volumes are created on new tapes by the command:

BA-SY:CREATE-VOLUME < volume name >,< device name >,< unit >

Floppies are best used for maintaining copies of a few crucial files.

To copy a single file, you can use the COPY*FILE command in SINTRAN:

@COPY*FILE < destination file >>< source file >

For example:

@COPY-FILE (FLOPPY=USER)FILE^DATAgFILE^DATA

which will copy your file called FILE^DATA onto the floppy disk. Note that the floppy disk contains a normal directory and that you are conforming to the normal file-naming conventions.

Note: Before you use a floppy you must use the command ENTER-DIRECTORY. Similarly, when you have finished using the floppy you must use the command RELEASE-DIRECTORY.

NDM60.132^03


Page 91

I'm unable to convert this page to markdown as it appears to be mostly blank.


Page 92

SINTRAN III TIME SHARING BATCH GUIDE

Sintran Information

4. Sintran Information

4.1. General

This chapter describes commands and monitor calls for measuring the performance and obtaining information about programs.

Commands for listing file system information is described in section 3.10. Commands to give performance information are found in the SINTRAN III Real Time Guide (ND 60.133).

4.2. Miscellaneous

4.2.1. @LISTaREENTRANT

List the reentrant subsystems established by the @DUMP-REENTRANT command (user SYSTEM) for example:

@LIST-REENTRANT
START  RESTART  SEGMENT
0      1        112  QED
177777 177775   114  MAC
...
4.2.2. @lISTmTItgG

List the system identification normally displayed when logging on, e.g.:

@lISTmTIrLE
SINTRAN III a VS VERSION F
@
4.2.3. @HELP
@HELP <commandh><output file>
List command names matching <commandh9> e.g.:

@HELP EX,1
RT: EXECUTE-lOX
FiLSYS: EXPANDwiFILE
@

Two commands start with "EX", one RT and one file-system command.

ND-660.132.03


Page 93

4.2.7. @TERMINAL-STATUS

See section 2.6.

4.32.5. @WAKE-ON

See section 2.6.

4.3. The SINTRAN III Calendar

ND computers are equipped with a clock. The date and time of day are stored in SINTRAN III in basic time units. One basic time unit is normally 20 milliseconds. The calendar can be read either in basic time units or to an array in decoded form.

4.03.1. @DATCL

See section 2.60

4.33.2. @TIME-USED

See section 2.66.

4.3.3. CLOCK (MON 113)

Read the current setting of date and time of day, e.g.:

INTEGER CLDAT(7)
CALL CLOCK(CLDAT)

CLDAT will receive the following data:

CLDAT(1) basic time units
CLDAT(2) seconds
CLDAT(3) minutes
CLDAT(4) hours
CLDAT(5) day
CLDAT(6) month
CLDAT(7) year

4.3.4. TIME (MON 11)

Read current internal time, e.g.:

DOUBLE INTEGER TIME, TT

NID-600:132603


Page 94

SINTRAN III TIME SHARING BATCH GUIDE

Sintran Information

TI:=TIME(0)

TI will receive the internal time in basic time units.

U.3.5. TUSED (MON 114)

Read the CPU time used since the user logged on or the batch job was started. For example:

DOUBLE INTEGER TD,TUSED
TD:=TUSED(0)

TD will receive the CPU time used in basic time units.

ND-60.132.03


Page 95

SINTRAN III TIME SHARING BATCH GUIDE

ND-60.132.03


Page 96

SINTRAN III TIME SHARING BATCH GUIDE

Executing User Programs and Subsystems

5. Executing User Programs and Subsystems

5.1. General

When creating and executing programs under SINTRAN III, the symbolic code is created as a SWA8E-file. By compiling it, a ERR8-file is created, containing relocatable code. The ND Relocating Loader (NRL) is used to load and execute the program.

Once the program is loaded, SINTRAN III has available commands for:

  • creating a PROG-Ffile. This is the program in relocatable format.
  • loading, starting, and restarting a program.
  • examining the user’s registers and memory.
  • loading binary programs. A binary program is loaded from a BRUN-file. It is similar to a PROG-file except that it can also be loaded as a stand-alone program (i.e., independently of SINTRAN III).

Also, there are monitor calls available for extending the address space from 64K to 128K words.

Time-sharing users have available a command for listing programs defined as reentrant subsystems, @LIST-REENTRANT. It is described in chapter A.

5.2. Creating a PROG-FFile

When a program has been loaded by the ND Relocating Loader the program area in the user's memory may be dumped to a PROG-file. The file will contain the program in relocatable format.

5.2.1. @MEMORY

@MEMORY <low address>,<high address>

Define the area of the user’s memory to be dumped (by @DUMP, see section 5.2.2.). An example:

@MEMORY 10,1777

Set dump limits to 10 to 1777 (octal), limits inclusive.

NID-60.132.03


Page 97

5.2.2. @DUMP

@DUMP ,,

Dump the user memory area (as defined by @MEMORY) to a file. When the program is started by @RECOVER, the execution will begin at . When restarted by @CONTINUE, the execution will begin at . For example:

@MEMORY 1777
@DUMP MYPROG,10,11

The file MYPROG:#PROG in the user's default directory will contain a dump of the user area 10-1777. Program start address is 10 and restart address is 11. (All values in octal.)

5.3. Controlling Execution

This section describes commands for starting user programs and subsystems. A general description of how to execute programs is found in section 2.3. The commands described here are used for the transfer between Command Mode and User Mode as shown in figure Ma. The command type determines the start address to be used.

5.3.1. @RECOVER

@RECOVER

Load a #PROG# file to the user's memory and start it at the as specified by @DUMP or @DUMP#REENTRANT. (@DUMP#REENTRANT is explained in the SINTRAN III System Supervisor Manual.) @RECOVER is a default command, i.e., if only the program name is specified, the command is assumed to be @RECOVER. For example:

@RECOVER MAC

where MAC is a SINTRAN III subsystem, is equivalent to

@MAC
@RECOVER MYPROG

where MYPROG#PROG is a user-defined program, is equivalent to

@MYPROG

When SINTRAN III searches for a file name or program name, it first searches the user's files.


Page 98

SINTRAN III TIME SHARING BATCH GUIDE

Executing User Programs and Subsystems

USER is searched:

IF <file name> is:

Condition Action
found and not ambiguous File is fetched.
ambiguous User SYSTEM is searched.
not found User SYSTEM is searched.

User SYSTEM is searched:

IF <file name> is:

Condition Action
found and not ambiguous File is fetched.
ambiguous Error message 'AMBIGUOUS FILE NAME'.
not found Error message 'NO SUCH FILE NAME' (if not found when user was searched) or 'AMBIGUOUS FILE NAME'(if ambiguous when user was searched).

Example:

The user types:
@FORT
If the user has no such file name, SINTRAN III will search user SYSTEM's files. User SYSTEM has one file FORTRAN=QL02PROG and one file FORTRAN=620608:PROG. The error message will then be:
AMBIGUOUS FILE NAME
since FORT can be any of the two.

5.3.2. @CONTINUE

Restart a program at the <restart address> as specified by @DUMP. (The program is not loaded, only restarted.)

5.3.3. @GOTO-USER

@GOTO-USER <address>

Note: Address indicating the memory location number (-P= register address, see example below).

Start a program at a specific address. The default address is the point at which the program was interrupted, e.g.:

(The user presses ESCAPE during execution.)

@STATUS
P=  1723
X=  5

@GOTO

The program is restarted in address 1723 octal. (@STATUS is explained in the next section).


ND-60.132603


Page 99

5.4 Examining User's Registers and Memory

User's registers and memory may be both examined and modified by the following commands (all figures are octal):

RUG ESMMM

Display the contents of the user's registers, e.g.:

@STATUS
P: $077 %Program counter
X: 13302 %X register
T: 1005 %T register
A: 12663 %A register
D: 677 %D register
L: 600% %L register
S: 140 %Status register
B: 1011 %B register

SJIZ.QgMKjE

@LOOKWAT

This is a general command for modifying user's registers and memory. The permitted for timesharing users are:

  • MEMORY - the time-sharing user's virtual memory (0-60MK)
  • ALT-MEMORY - the time-sharing user's alternative virtual memory. The addresses are specified relative to the 60K boundary.

The references SEGMENT, RTCOMMON and REGISTER are restricted to users RT and SYSTEM, the references IMAGE and RESIDENT only to user SYSTEM while ALT-MEMORY is available to all users. Addresses and registers are specified on the line following the command. Typing . (dot) causes return to command mode, e.g.:

@LOOK@!REG
S7 13302 13000
.END

Change the contents of the X register from 13302 to 13000.

@LOOK@!MEM
13000/  10  100
11

Change the contents of location 13000 from 10 to 100. (11 is the contents of location 13001)

NID-680UI32.03


Page 100

SINTRAN III TIME SHARING BATCH GUIDE

Executing User Programs and Subsystems

5.4.3. @SET-MEMORY-CONTENTS

@SET-MEMORY-CONTENTS <contents>,<low address>,<high address>

Set all locations of an area of the user's memory to the same value.
This is more convenient than using @LOOK-AT MEMORY, e.g.:

@SET-MEMORY-CONTENTS 12,10000,0,177777

Set all locations of the user's memory to z4000 (i.e. the instruction JMP *).

5.5. Loading Binary Programs

The following two commands are used for loading programs created by the BPUN command in MAC or by the BPUN command in NRL:

5.5.1. @LOAD-BINARY

@LOAD-BINARY (file name)

Load a program in BPUN format into the user's memory and start executing it. The command is similar to @RECOVER except that the program file is in BPUN format. For example:

@LOAD-BINARY PROG-1

The program in the file PROG-1:BPUN is loaded and executed.

5.5.2. @PLACE-BINARY

@PLACE-BINARY (file name)

Load a program in RPUN format into the user's memory. The program is not started, e.g.:

@PLACE-BINARY PROG-1

The program in the file PROG-1:BPUN is loaded.

5.6. Error Messages from User Programs

Section 2.5 gives an overview of error handling in SINTRAN III. By selecting one of two monitor calls the user can decide whether an error should just be displayed or whether it should also cause program termination.


ND-60.132.03


Page 101

SINTRAN III TIME SHARING BATCH GUIDE

Executing User Programs and Subsystems

5.6.1. ERMSG (MON 6A)

Display the error message for a given error number. This monitor call is mostly used in connection with the error return of some other call, e.g.:

| MON 50 | %OPEN | | MON 6A | %ERMSG, error return | | ... | %normal return |

After displaying the error message the execution resumes at the next location.

5.6.2. QERMS (MON 65)

Display the error message for a given error number and exit from the program. The monitor call is used similarly to ERMSG:

| MON 50 | %OPEN | | MON 65 | %QERMS, error return | | ... | %normal return |

After printing the error message the program exits.

6.7. Communicating with One's Own Terminal

LDN = 0 specifies your terminal in input/output monitor calls. On input the text line is transferred to the SINTRAN III input buffer on receiving a carriage return. While the line is being entered, the QED control characters are available. In order to use the 'old line' for editing, the user program must first read the line and then use SETCM to transfer the line back to the input buffer.

By using LDN=0 the program may start with reading the rest of the @RECOVER command. This is carried out with a REWIND statement. Assume the @RECOVER command is:

@USPROG Text

where USPROG is the name of the user program and "TEXT" is text to be read by the program. USPROG must then look as follows:

REWIND 0
READ(0,1)AA
10 FORMAT(A1I6)

Finally, a SINTRAN III command may be executed by specifying it as a text string, (COMND).

6.7.1. SETCM (MON 12)

Transfer a string to the command input buffer. It is used for 'old line' editing.


Page 102

SINTRAN III TIME SHARING BATCH GUIDE

Executing User Programs and Subsystems

5.7.2. COMND (MON 70)

Execute a character string as a SINTRAN III command, e.g.:

CHARACTER DDELIF*50
DATA DDELIF/'DELETE-FILE XXXXXX*'/
...
CALL COMND(DDELIF)

The command:

@DELETE#FILE XXX*YM*MB

is executed. If an error occurs, the program is aborted.

5.7.3. Terminating Programs

Normally only the monitor call LEAVE is used for program termination, but batch jobs need two methods of termination. Either the user program is to be terminated or, if there is a serious error, the whole job should be terminated. RTEXT is used in the latter case.

5.7.4. LEAVE (MON 0)

Terminate the executing program and return control to the operating system. In batch jobs, the next command of the job is executed.

5.7.5. RTEXT (MON 13M)

Terminate the executing program and return control to the operating system. In batch jobs the job is terminated.

NBD-660.132.03


Page 103

SINTRAN III TIME SHARING BATCH GUIDE

ND-60.132.03


Page 104

SINTRAN III TIME SHARING BATCH GUIDE

Terminal Characteristics

6. Terminal Characteristics

6.1. General

With the wide variety of computer terminals on the market, it is necessary for SINTRAN III to treat the different models individually.

This treatment includes adapting to the communication characteristics (@TERMINAL-MODE, @DISABLE-ESCAPE-FUNCTION, @ENABLE-ESCAPE-FUNCTION) and identifying the model (@SET-TERMINAL-TYPE, @GET-TERMINAL-TYPE).

In addition, the system supervisor has available commands for selecting which terminal is to receive the system error messages (@SET-ERROR-DEVICE, @GET-ERROR-DEVICE) and commands for selecting the value of the ESCAPE (ESC) character (@DEFINE-ESCAPE-CHARACTER).

These commands are explained in the SINTRAN III System Supervisor manual, ND-60.103.

The terminal type is identified by a 16-bit terminal number associated with the LDN. The current numbers defined by Norsk Data A.S are shown in appendix B of the SINTRAN III Reference Manual. If a terminal is sold as part of the system it is also listed with its ND-number.

If a user wishes to standardize a particular terminal, he should contact ND to ask it to be entered into the list.

6.2. Terminal Communication

6.2.1. @TERMINAL-MODE

This command sets the communication mode of the terminal. The mode determines how SINTRAN III should handle the terminal. The functions are:

  • Converting lower case alphabetic characters to upper case on input.
  • Causing delay after CARRIAGE RETURN (CR) on output by printing filler (dummy) characters.
  • Stopping after 20 lines of output in order to make it possible to read fast displays.
  • Logging out the terminal on detecting that the carrier is missing. (RS 232/N22M lines only)

ND-60.132.03


Page 105

SINTRAN III TIME SHARING BATCH GUIDE

Terminal Characteristics

The command parameters are yes or no in answer to questions. Default values cause no change in the function, e.g.:

@TERMINAL-MODE
CAPITAL LETTERS? N
DELAY AFTER CR? =
STOP ON FULL PAGE?
LOGOUT ON MISSING CARRIER?
@

Capital letters should not be converted. Output should stop after 20 lines of output. The other functions are not changed.

6.2.2. @DISABLE-ESCAPE-FUNCTION

@DISABLE-ESCAPE-FUNCTION

Disable the function of the ESCAPE character. It is disabled until the command @ENABLE-ESCAPE-FUNCTION is given or the user logs out. Time-sharing users are only permitted to use the default value of <LDN> which is their own terminal. (Only user SYSTEM can specify a terminal other than his own.)

6.2.3. @ENABLE-ESCAPE-FUNCTION

@ENABLE-ESCAPE-FUNCTION

Enable the function of the ESCAPE character. Time-sharing users are only permitted to use the default value of the parameter which is their own terminal. (Only user SYSTEM can specify a terminal other than his own.)

6.2.4. TERM0 (MON 52)

Set terminal mode for any terminal. The call corresponds to @TERMINAL-MODE, e.g., in a background program:

INTEGER TERM0
ISTAT=TERM0(O,M)

Set "stop on full page" for user's terminal. All other modes are set to NO.

NID-660.132.03


Page 106

SINTRAN III TIME SHARING BATCH GUIDE

Terminal Characteristics

6.2.5. DESCF (MON 71)

Disable escape function. The call corresponds to @DISABLE-ESCAPE-FUNCTION above. For example:

CALL DESCF(<ITEMM>)

Disable the escape function for one's own terminal. The LDN in ITEMM is ignored for background programs.

6.2.6. EESCF (MON 72)

Enable escape function. It corresponds to @ENABLE-ESCAPE-FUNCTION above. For example:

CALL EESCF(<ITEMM>)

ITEMM is ignored for background programs.

6.2.7. ECHOM (MON 3)

Set the echo strategy of a terminal. A description of this strategy is found in SINTRAN III SYSTEM DOCUMENTATION, section 3.6.6.4 (ND-60.062), e.g.:

LDN:9
CALL ECHOM(LDN,1)

On terminal 2 set echo on all characters except control characters.

6.2.8. BRKM (MON 4)

Set the break strategy of a terminal. A description of this strategy is found in SINTRAN III SYSTEM DOCUMENTATION, section 3.6.6.1 (ND-60.062), e.g.:

LDN:9
CALL BRKM(LDN,0)

On terminal 2 set break on all characters.


Page 107

SINTRAN III TIME SHARING BATCH GUIDE

Terminal Characteristics

6.3. Terminal Identification

6.3.1. @SET-TERMINAL-TYPE

@SET-TERMINAL-TYPE <LDN>,<terminal number>

Associate a terminal-type number with a terminal. Time-sharing users are only permitted to use the default value of the parameter which is their own terminal, e.g.:

@SET-TERMINAL-TYPE ,1600078

The terminal is identified as TANDBERG-TDV2000.

6.3.2. @GET-TERMINAL-TYPE

@GET-TERMINAL-TYPE <LDN>

Display the terminal type or type number. (Time-sharing users may use any LDN.) For example:

@GET-TERMINAL-TYPE 52
TERMINAL TYPE: -81&9

The terminal number of LDN = 52 (decimal) is displayed as a decimal signed integer.

6.3.3. MSTTY (MON 17)

Set the terminal type, e.g.:

CALL MSTTY(p,u)

Set the terminal number of the terminal to t.

6.3.4. MGTYY (MON 16)

Get the terminal number, e.g.:

CALL MGTYY(q,ITY)

The terminal type of this terminal is stored in ITY.


Page 108

SINTRAN III TIME SHARING BATCH GUIDE

Terminal Characteristics

6.U. Suspending the Terminal

6.U.1. @HOLD

@HOLD <no. of time units><time unit>

Keep the terminal waiting for a specified amount of time, e.g.:

@HOLD 5,3

@

The last @ occurs after 5 minutes.

6.U.2. HOLD (MON 10H)

Set the calling program in a wait state for a specified amount of time. For example:

CALL HOLD((10,2))

The calling program will wait for 10 seconds before continuing with the next statement.

NID-6601832.03


Page 109

SINTRAN III TIME SHARING BATCH GUIDE


ND-60.132.03


Page 110

SINTRAN III TIME SHARING BATCH GUIDE

Batch- and Mode-Jobs

7. Batch- and Mode-Jobs

General

SINTRAN III commands can be processed interactively on the terminal by the user, as a mode-job or as a batch-job independent of any terminal.

A mode-job allows a user to submit a set of commands and other input responses previously stored (normally on a mass storage file) to be executed automatically. Running a mode file occupies the terminal to which command output can be routed. A batch-job (also on a mass storage file, or from a card-reader) runs independently of the terminal with file and command output routed to some other file or line-printer.

The SINTRAN III batch processing system comprises one or more batch processors. The number is determined at system generation time. Internally, each processor is implemented as a background program similar to the ones that run the terminals.

User SYSTEM has available commands for starting and stopping each batch processor (@BATCH and @ABORT-BATCH).

A batch processor may be in one of three states:

  • PASSIVE: the batch processor has not been started.
  • IDLE: the batch processor has been started but its queue is empty.
  • ACTIVE: the batch processor is working on a batch job.

In the IDLE state, when any user appends a batch file to a queue, the processor will be activated. Batch files will be taken from the queue until it becomes empty. The processor then goes back to the idle state.

7.2. Definitions

A batch job is a collection of SINTRAN III and subsystem commands, arranged in the sequence they would be entered from a terminal keyboard. The first command of the job must be @USER. It has the function of "logging on" a batch user. The batch job will then "belong to" this user. The commands in the job will be regarded as coming from this user for file access and accounting. Double escape is logging the batch job off (Entered by control 0 and escape (<<Esc>>)).

ND-660.132.03


Page 111

SINTRAN III TIME SHARING BATCH GUIDE

Batch- and Mode-Jobs

The following are not permitted in batch jobs:

  • running a mode-job(@MODE).
  • use TERMINAL as output file.
  • the command @LOGOUT.
  • append a batch job(@APPEND=BATCR).

A mode-job is equivalent to a batch-job, only it is used in a different way. The mode-job is started by the @MODE command and the terminal is dedicated to the mode processing until all commands are executed. Any @ENTER commands are ignored. The mode-job belongs to the user giving the @MODE command.

A job input file is either a batch input file or a mode input file. It contains one or more jobs to be processed. The boundaries between the jobs are determined by @ENTER or the end of the job input file. @ENTER are used for batch only.

A job output file is either a batch output file or mode output file. It is the destination of the command output normally displayed on the terminal. A batch job cannot have TERMINAL as output file.

A batch queue is a list of batch files to be input to the batch processor. Each entry in the queue consists of a batch input file and a corresponding batch output file.

7.3. Sample Batch File

The example below will do the following:

  • Compile a FORTRAN program included in the job.
  • Load the program together with subprograms and library routines.
  • Execute the program with data from the batch file.
@ENTER U6SRFO(NEN)181A,100,2
@CC ****************************
@CC *** SAMPLE BATCH FILE ***
@CC ****************************
@FTN
COM 1,1IPROGA
PROGRAM A
11:0
12:0
ILL:10
...
END
EOF
EX
@KML
LOAD TEST,SUBLIB
LOAD PTNLIBR
RNTNRS=DEFINED

ND-60.132.03


Page 112

SINTRAN III TIME SHARING BATCH GUIDE

Batch- and ModernJobs

ENTRIES-UNDEFINED

DUMP PROGA
EXITT
@PROGA
10 20 30
11 15 4

In the example above, 181N is the password of USER-ONE, 100 is the project password and 2 is the maximum no. of minutes for the job. Note that SINTRAN III commands must include the attention character (@). The subcommands must not have the attention character prefixed unless when SINTRAN-SERVICE-PROGRAM or NWAIL commands.

The job can also be run as a modern job. The @ENTER command will then be ignored. It must be run by USER-ONE only if files accessed are peculiar to USER-ONE.

7.N. Commands for Running Batch Jobs

These are commands for appending a batch file, aborting the currently running job and deleting an entry from the batch queue. It is also possible to list the contents of a queue and the status of the batch processor.

7.4.1. @APPEND-BATCH

@APPEND-BATCH <batch no.>,<input file>,<output file>

Append a batch file to the queue of a batch processor, e.g.:

@APPEND-BATCH 1,JOB=1,LINE=PRINTER

The batch file JOB-1:3DMB is appended to the batch processor. Output will be appended to the LINE=PRINTER.

7.4.2. @ABORT-JOB

@ABORT-JOB <batch no.>,<user name>

Abort the current batch job being processed. The next job will be initiated. A time-sharing user can only abort a job if it belongs to his own user name. For example:

(user giving the command is GUEST)
@ABORT-JOB 1,GUEST

The current batch job for batch processor 1 is aborted provided its owner is GUEST.


Page 113

7.13. @DELETE-BATCH-QUEUE-ENTRY

@DELETE-BATCH-QUEUE-ENTRY <batch no.>,<input file>,<output file>

Delete a batch file in the batch queue. A time-sharing user can only delete a file belonging to himself. <input file> and <output file> must be spelled the same way as in the corresponding @APPEND-BATCH command. (Use @LIST-BATCH-QUEUE to find the correct spelling.) For example:

@DELETE-BATCH-QUEUE-ENTRY 1,JOB-1,LINE-PRINTER

The batch file JOB-1 is deleted from the queue of batch processor 1, provided the second and third parameters match exactly an entry in the queue.

7.14. @LIST-BATCH-QUEUE

@LIST-BATCH-QUEUE <batch no.>

List the contents of the batch queue, e.g.:

@LIST-BATCH-QUEUE 1
1 CARD-READER LINE-PRINTER
P (USER=NAME)JOB-1 LINE-PRINTER
@

There are two entries in the queue. The file "CARD-READER" is the next one to be processed.

7.15. @LIST-BATCH-PROCESS

List the state of each batch process defined in the system, e.g.:

@LIST-BATCH-PROCESS
1 IDLE, NO USER LOGGED ON
2 ACTIVE USER GUEST LOGGED ON
3 PASSIVE
@

Three processors are defined. The second one runs a job belonging to user GUEST.


Page 114

7.5. Commands for Running Mode-Jobs

7.5.1. @MODE

@MODE ,

Substitute the current command input (normally TERMINAL) with commands from the <input file>. Command output is routed to the <output file> (normally TERMINAL). When receiving end-of-file on the <input file> the command input and output are routed to the previous destinations, e.g.:

(user is logged on as USER-ONE)
@MODE JOB-1,TERM
...
(command output)
@

If the command is issued interactively at the terminal, the next commands are taken from the mass storage file "JOB-1:8YMB". The command output is routed to the terminal.

(The following command resides in the file JOB-1:8YMB)
@MODE JOB-2,TERM
.

The next commands will be taken from JOB-2:8YMB and the output is routed to the <output file> specified by the @MODE-command previously given at the terminal. This is the <output file> at the "top" of the @MODE nesting and need not necessarily be TERMINAL.

7.6. Commands within Mode or Batch-Jobs

The command @ENTER has already been mentioned as the first command in a batch file. @SCHEDULE is used to reserve devices.

Each SINTRAN III command must start with the attention character @. Subcommands, except for SINTRAN PROGRAM and \MAIL, do not use any attention character. All command parameters must be specified on the same line. @LOGOUT is not permitted within batch jobs. Also, some commands are only relevant for interactive use. Modejobs may contain @MODE commands for nesting jobs.

If an error occurs in a job, the error message is written to the job output file together with the message

*** BATCH JOB ABORTED ***

The job is then aborted. If an error occurs in accessing the job input or output file, an error message is routed to the error device. This applies to batch only.

ND-660.132.03


Page 115

SINTRAN III TIME SHARING BATCH GUIDE

Batch- and Mode-Jobs

@ENTER

@ENTER <user name>,<password>,<project password>,<max. time>

Start a new batch job. The parameters are similar to the ones used when logging on. The job is terminated after the last command or by being aborted when <max. time> has expired. An example of @ENTER was shown in the sample program of section 7.3.

7.6: @SCHEDULE

@SCHEDULE <logical devo no.>,<logical devo no.>, … ,<logical dev. mac.>

Reserve a set of devices for the batch job. If any device is already reserved, the batch processor will enter a waiting state until all devices are released, e.g.:

@SCHEDULE 2,5

Reserve the tape-reader and lineprinter.

7.6.3: @CC

@CC <text>

This command functions as a comment in batch or mode jobs. Section 7.3 shows an example of three @CC commands.

7.7: Monitor Calls for Mode- and Batch-Jobs

7.7.1. RSIO (MON 1MB)

This is a call for determining the execution mode of the calling program. The modes are: interactive, batch-job or mode-job, e.g.:

CALL RSIO(IEXEC,IINP,IOUTP,IUSER)

IEXEC will on return contain the execution mode which is 0 for interactive, 1 for batch and 2 for mode. IINP, IOUTP and IUSER will contain the file number of the input job file, the output job file and the user number, respectively. (The user number is the value listed by OUTPUT-USERS.)


ND–660.132.03


Page 116

8. Spooling

8.1. General

The term spooling is derived from the acronym SPOOL which stands for Simultaneous Peripheral Output On Line. In SINTRAN III it means that files to be printed can be put in a queue waiting to be output. This is obviously more convenient for the user than having to wait for the printer to be available, then reserving it, copy the file (@COPY-FILE, etc.), and finally releasing the printer. Files are being output from the spooling queue as an independent process in the computer.

A peripheral with the spooling feature will have a peripheral file with more than one version. Version 1 is the normal peripheral file. The other files are mass storage files, called peripheral spooling files (PSF), or usually just spooling files. They will reside in the system when the user writes to the peripheral (@COPY, @COPY-FILE, etc.). After data is written the PSF it is appended to the spooling queue. The user can also append a user file directly to the spooling queue by means of the command @APPEND-SPOOLING-FILE. This is faster than a copy command since it bypasses the PSF, but the user cannot access the file while it is being printed. Thus, the spooling queue may contain two types of files, PSFs and users files.

Normally the user wants the output to be started as soon as his file becomes the first one in the queue and the preceding file is finished. However, the user may also specify a stop condition, i.e., the output will stop when the file is ready to be printed. A user message will appear on the terminal device and the output must be started by a @START-PRINT command. Only user SYSTEM and the user who appended the file to the queue are permitted to issue this command. The stop condition is useful for printing on special forms.

In general there are three ways of specifying a stop condition.

  1. User SYSTEM may specify stop condition for all files in the queue. (@DEFINE-SPOOLING-CONDITIONS)

  2. A time-sharing user may specify a stop condition for all PSFs he will append. (@SPOOLING-FILE-MESSAGE)

  3. A time-sharing user may specify a stop condition for the particular file he appends. (@APPEND-SPOOLING-FILE)

The output may also be stopped while a file is being printed (@STOP-PRINT).

Files are normally printed in the order in which they occur in the queue. User SYSTEM may specify that only files with a specific user message should be printed (@SET-SPOOLING-FORM). The other files will not be printed until the SPOOLING-FORM identification is changed to match the actual user texts. Time-sharing users may use @LIST-SPOOLING-FORM to check the message.

NID-660.132103


Page 117

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

File is entered In EMPTY QUEUE @START-PRINT and nonempty queue
and stop condition

If file is

  • entered
  • land no
  • stop
  • condition
Next file and stop condition 2, FILE BEING PRINTED @START-PRINT and nonempty queue
@RESTART- @ABORT-PRINT
PRINT PRINT
and nonempty queue

@START-PRINT

  • @STOP-PRINT
3. STOP CONDITION @ABORT-PRINT U. STOP CURRENT PRINT
BEFORE PRINT and nonempty queue
  • @FORWARD-SPACE-PRINT
  • @BACKSPACE-PRINT

Fig. 1A. Spooling System for Timesharing Users

Figure 10 shows the different states of the spooling system while it is activated by user SYSTEM (@START-SPOOLING). In state 1 there are no files in the queue. (The message from @LIST-SPOOLING-QUEUE is 'QUEUE IS EMPTY'.) The system will leave this state as soon as a file is put in the queue. Normally no stop condition is specified and the system is transferred to state 2 where the output starts immediately.


Page 118

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

SPOOLING-QUEUE now returns the message 'FILE CURRENTLY PRINTED IS ...'). The system will be in this state as long as the queue contains files to be printed without stop condition. When the queue becomes empty the system returns to state 1.

In state 2 the files may be aborted (@ABORT:PRINT) causing the print to be terminated and the next file to be started, if any. The files may also be restarted (@RESTART:PRINT) causing the print to start over again from the first page.

+-------------+-----------------+--------------------+---------------+
| Userfile    | Copy-file       | Spoolingfile       | Peripheral    |
|             |                 |                    |               |
| (COPY::COPY-FILE) ---------------> Spoolingfile    --> Spoolingfile |
| -----------------------------> | or Userfile       |               |
| Generate    |                 |                    | Open file     |
| Queue entry |                 |                    |               |
+-------------+-----------------+--------------------+---------------+
|             | Spooling Queue  | Queue entry        | Spooling      |
|             | Queue entry     |                    | Program       |
|             | Queue entry     |                    |               |
|             |                 |                    |               |
|             |                 |                    |               |
|             | Generate        |                    |               |
|             | Queue entry     |                    |               |
|             |                 |                    |               |
+-------------+-----------------+--------------------+---------------+

Fig. 15. Spooling System, Queue Entries

A file with a stop condition will cause the system to enter state 3 when it is ready to be printed. (This state is indicated by a user message on the error device.) Note that in this state the file is still part of the queue. On the @START:PRINT command the system is transferred to state 2 where the file is taken from the queue and printed. Special care must be taken when deleting the file in state 3. Since it is still part of the queue, @ABORT:PRINT and @FORWARD:SPACE:PRINT do not work. The file must be removed by @DELETE::SPOOLINGFILE. The user should note that the spooling must then be started either by user SYSTEM or the user who appended the deleted file and not the one who appended the next file in the queue. In state 2, @STOP:PRINT transfers the system to state M, i.e., stop current print. (It can be verified by @LIST::SPOOLING::QUEUE. The message 'FILE CURRENTLY PRINTED

ND-660.132.03


Page 119

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

'...' is deleted.) Stopping the print is useful should something unexpected occur during the output (paper crash etc.). @MASTER-PRINT, @HARDSPACE-PRINT, and @HARD-TRACK-PRINT is accepted, but no output occurs until the next @START-PRINT. If the file is aborted the print must be started by user SYSTEM or the user who appended the aborted file, similarly to the rule for state 3.

Time-sharing users will normally only need to copy or append a file to the queue and maybe check the proceedings of the output. The basic command used for this purpose is @COPY-FILE, @APPEND-SPOOLING and @LIST-SPOOLING-FILE.

8.2. Appending and Changing the Queue Entry

As mentioned previously, a queue entry may be a PSF or a user file. The queue entry contains information about the file name, the number of copies to be printed, and, if used, a text to be printed out on the error device before the user starts the printout.

8.2.1. @APPEND-SPOOLING-FILE

@APPEND-SPOOLING-FILE (peripheral file name>; <file name>,
                      <no. of copies>, <text> | %PRINTING MESSAGE
                      INDEPENDENTLY OF SPOOLING CONDITIONS>! 

Append one or more copies of a file to a spooling queue, e.g.:

@APPEND-SPOOLING-FILE LINE-PRINTER,OLE,....

The user file OLE is put in the spooling queue to line-printer. It is started directly (state 2) unless the user has specified a stop condition.

@APPEND-SPOOLING-FILE LINE-PRINTER,OLE,OLE IS READY,Y

The command is similar to the one above except that when the file is ready to be output, the message 'OLE IS READY' is output to the error device (state 3). The output is independent of any stop condition.

8.2.2. @SET-NUMBER-OF-PRINT-COPIES

@SET-NUMBER-OF-PRINT-COPIES <peripheral file name>;<file name>,
                           <no. of copies>

Change the number of copies to be printed for a specific file in the queue. For example:

@SET-NUMBER-OF-PRINT-COPIES LINE-PRINTER,OLE,2

Two copies of the file OLE will be printed.

NID-660.132.03


Page 120

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

8.2.3. @DEFINE-SPOOLING#FILE#MESSAGE

@DEFINE-SPOOLING-FILE#MESSAGE ,*

(PRlNTING MESSAGE INDEPENDENTLY OF SPOOLING CONDITIONS?)

Associate a text with a spooling close. This means that if a user file is copied to a PSF the text will be attached to the peripheral spooling file. When the file is ready to be printed, the text is output to the error device and the spooling system will wait for a @START-PRINT, e.g.:

@DEFINE@SPOOLING#FILE#MESSAGE READY FOR USER GUEST,Y

Print the text ‘READY FOR USER GUEST!’ and wait for @START-PRINT before printing any PSF containing text from the users own files.

@DEFINE-SPOOLING#FILE#MESSAGE ,*,Y

Reset to normal operation:

8.3. Changing the Order in the Queue

The time-sharing user is permitted to remove one of his files from the queue or to move it backwards. User SYSTEM may also select a subset of the files in the queue to be printed (@SET-SPOOLING-FORM).

8.3.1. @MOVE-SPOOLING-QUEUE#ENTRY

@MOVE-SPOOLING-QUEUE#ENTRY ,

Change the order of a file in the spooling queue. Only user SYSTEM may move entries forward in the queue, e.g.:

@MOVE-SPOOLING-QUEUE#ENTRY LINE#PRINTER,#-1,#F-2

The file F-1 is moved in front of F-2 in the spooling queue.

8.3.2. @REMOVE-FROM-SPOOLING-QUEUE

@REMOVE-FROM-SPOOLING-QUEUE

Remove a file from the spooling queue. The contents of the file are retained, e.g.:

@REMOVE-FROM-SPOOLING#QUEUE LINE#PRINTER,#F-1

If found in the spooling queue to L\INI@PRINT#PP, the file F-1 is removed.

NID-660.132.03


Page 121

8.3.3. @DELETE-SPOOLING-FILE

@DELETE-SPOOLING-FILE ;

Remove a file from the spooling queue. If it is a PSF its pages are released and returned to the pool of free spooling pages, e.g.:

@DELETE-SPOOLING-FILE LINE-PRINTER;LINE-PRINTER;10

If found in the spooling queue to LINE-PRINTER, the PSF LINE-PRINTER;10 is removed and its pages deleted. It will then exist as a mass storage file with zero pages.

8.H. Starting and Stopping the Print

The time-sharing user may start and stop the printing of his own files or the PSFs that he has used.

8.H.1. @START-PRINT

@START-PRINT

Continue the printing of the current file, or, if there is no current file, start the printing of the next file.

8.H.2. @STOP-PRINT

@STOP-PRINT

Stop the current printout. The command may take some time to take effect because of data buffering.

8.H.3. @RESTART-PRINT

@RESTART-PRINT

Restart the file currently being printed on the spooling device. If the printing is stopped, the command will only reset the file. (It must be started by @START-PRINT).

8.H.4. @ABORT-PRINT

@ABORT-PRINT

Abort the current printout. A time-sharing user may only abort the printing of a file appended by himself, e.g.:

/ABORT-PRINT LINE-PRINTER

If the user appended the current printout, it is aborted and the next

NND-6.600|132|.03


Page 122

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

File is taken from the queue.

8.R. Adjusting the Print

Sometimes it is necessary to repeat the printing of the last few pages or to skip the printing of a few pages in the file currently being printed. This is normally done while the spooling is in the stop print mode within the file. When the printing is started the output will continue at the new position. The following two commands are used for this purpose:

8.5.1. @FORWARD-SPAGE-PRINT

@FORWARD-SPAGE-PRINT <peripheral file name>,<no. of pages>,
                      <no. of lines>

Skip the specified number of pages and lines in the current file, e.g.:

@FORWARD-SPAGE-PRINT LINE-PRINTER,10,0

Skip 10 pages in the current file.

8.5.2. @BACKSPACE-PRINT

@BACKSPACE-PRINT <peripheral file name>,<no. of pages>,
                  <no. of lines>

Repeat the printing of the specified number of pages and lines in the current file, e.g.:

@BACKSPACE-PRINT LINE-PRINTER,10,0

Repeat the printing of the last 10 pages.

8.6. Statistics

8.6.1. @LIST-SPOOLING-QUEUE

@LIST-SPOOLING-QUEUE <peripheral file name>,<output file>

List information of a spooling queue on the output device. The listing contains information on the file currently being printed and the files in the spooling queue, e.g.:

@LIST-SPOOLING-QUEUE LINE-PRINTER,

FILE CURRENTLY BEING PRINTED ON: LINE-PRINTER;1
(PACK:THREE:USER1)\$C0*40(0:SWM:0);1 APPENDED BY USER1 , 1 COPY LEFT
APPROX. 28313U BYTES LEFT TO PRINT

NID-6:80:132.03


Page 123

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

(PACK=TU!PPPR::OURWRON)ROO!N!TC@CTAL-SYMB::1 , APPENDED BY USER1 , 1 COPY
307902 BYTES IN FILE
LINE-PR!NTNWRZ::5 ! LAST USED BY KE!IS , 3 COP!ES
51005 BYTES IN FILE
(PACK=TU!#####H!NU!GUEST!))JAN::SYMB::1 , APPENDED BY GUEST , 1 COPY
73 NYTES IN FILE
%% HSEP MESSAGE: JAN IS READY
(PACK=THREE!@!GUEST)FILEW::SYMBZ! , APPENDED BY GUEST , 1 COPY
0 BYTES IN FILE
*** USER MESSAGE: FILE1T IS READY

The first three lines show the name of the file currently being printed, showing how many bytes are left to be printed. The remaining lines show the files in the spooling queue. The last two files will cause a user message to be printed before the file is printed. The user message will be printed on the error device.

8.6.2. @SV$OOLLfffmBAGFSwLEFT

H!st! the remaining number of pages that can be used by the spooling files. Fer exampl@e:

espbgtiggigGR's=::LfEef
57? SPOOLING PAGES LEFT

8.6.2. @!ITST-SPOOLING~F0RM

@!L!RT~SPOOLING!~FORM〈peripheral file name〉

List the spooling identification key. The key is defined by user SYSTEM (@SET~SPOOLING~FORM) and is compared to the user message of every File to be printed out. The file is only printed if there is a match. Thus, user SYSTEM may select a subset of the files in the spooling queue to be printed.

8.7. Monitor Calls for Spooling

8.7.1. SPCLO (MON W/O)

Close a PSF. The call corresponds to @APPHEDN@SPOOLING~F!LE except that the file must be a PSF. The file is put on the spooling queue and a user message can be associated with the file, e.g.:

CALL SPCLOCIO!TR,INSERT FORM B7,1,1〉

The PSF IO!R is closed and put on the spooling queue. Before it is printed the message ‘!INSERT FORM R9 is printed on the error device and the spooling system waits for a @!STARTH~PPRINT command.

ND-660.132.03


Page 124

SINTRAN III TIME SHARING BATCH GUIDE

Spooling

8.7.2. RSPQE (MON 55)

Read next spooling queue entry and remove it from the queue. This call is meant for user defined spooling systems, e.g.:

Command Description
LDX (QENT Queue entry destination
LDT (.5 LDN of spooling device
MON 55 RSPQE
MON 65 error return
... normal return

QENT:
****:.200

NID-660:1832.03


Page 125

SINTRAN III TIME SHARING BATCH GUIDE

Reference Number
ND–60.132.03

Page 126

SINTPAN III TIME SHARING BATCH GUIDE

Sending Messages to Other Terminals

9. Sending Messages to Other Terminals

The SINTPAN III mail system (@MAIL) makes it possible for timesharing users to send a message to a specific terminal. The full set of subcommands to @MAIL is only available to user SYSTEM. He must initiate the mail system and is the only user permitted to send a message to all terminals by one command (other broadcast).

Time-sharing users may also send a special message to the operator in order to request some service (@OPERATOR). It is also possible to go into a wait state and come out of it when restarted by the operator (@WAIT-FOR-OPERATOR).

9.1. @MAIL

@MAIL [<output file>]

Enter the mail system: <output file> specifies the destination of the user's own mail, and is only necessary if the user has mail in his mailbox. Time-sharing users can send a message to a specific terminal by using one of two subcommands:

*SEND-MESSAGE <user name>
<message>

The message is terminated by CTRL/L: It is routed to the user's mailbox and he will be notified the next time he logs out or logs on the system. He must then give the @MAIL command in order to read the message:

*SEND/DIRECT-MESSAGE <LDN>
<message>

After typing CTRL/L, the message is routed directly to a specific terminal. It is displayed independently of the terminal activity. (The message will not interfere with the receiver's program execution.)

A list of the subcommands is made available by using the subcommand HELP. EXIT returns the terminal to SINTPAN III command mode.

9.2. @OPERATOR

@OPERATOR <text>

Send a message to the error device. The message is terminated by carriage return. (not ! or CTRL/L), e.g.:

(The command is issued on terminal 52)

@OPERATOR MOUNT TAPE 1

On the error device the following message is received:

NBD-6:60:1 322.03

Page 127

SINTRAN III TIME SHARING BATCH GUIDE

Sending Messages to Other Terminals

``**% 13.75a35 TERMINAL 52:

M9#NT TAPE 1

  1. @WAIT-FOR-OPERATOR

Wait for the operator to restart the user (@RESTART-USER). The message received on the error device may look as follows:

---- 13.97.05 WAITING TERMINAL 52

ND-460.132.03


Page 128

10. NORD-NET

10.1. Introduction

The NORD-NET communication system is an optional part of the SINTRAN III I/O system. Its purpose is to provide communication between two or more independent ND computer systems. The communication can be divided into four categories.

  1. Remote terminal communication. A user of a local terminal may use commands and run programs in the remote computer as if his terminal was connected directly to that computer.

  2. Remote file access. Files on a remote computer may be accessed by commands or monitor calls as if they were local files. However, then only the functions for open, close, read and write are available.

  3. Data transfer. A remote and a local program may communicate directly through the channels in a fashion similar to using an internal device.

  4. Remote load. The remote computer may be loaded from the local computer. Only main memory can be loaded. Since all communication occurs on serial lines, the line transmission speed may be a limiting factor.

Local Remote
channel 0
channel 1
...
channel 15
16
channels channel 0
channel 1
...
channel 15

Fig. 16a A Communication Line


Page 129

SINTRAN III TIME SHARING BATCH GUIDE

This chapter describes points 1 to 3. Remote load is described in the SINTRAN III SYSTEM SUPERVISOR manual. Besides Remote Load, the system supervisor is responsible for starting and stopping the communication on a line (use @START-COMMUNICATION and @STOP-COMMUNICATION).

User RT can associate a password with remote file access (@REMOTE-PASSWORD). A further guide to this command can be found in the manual SINTRAN III REAL TIME GUIDE (NID-60.137.03).

10.2. The Communication Line

10.2.1. General

The communication line can be divided logically into a maximum of sixteen channels each way (figure 16).

They are numbered from zero to fifteen. If more channels are required, another communication line must be added.

Each channel is provided with a buffer on either side. A buffer is scheduled for transmission either when it is full or when a break character is written to the buffer.

The set of break characters may be chosen by the user.

Information is transmitted in units called communication frames. Acknowledgement for correctly received frames are transmitted together with the frames returned to the sender.

Up to four frames may be transmitted without receiving acknowledgement. This is done by dividing the buffers into four groups.

For each group, the buffer is not discarded until acknowledgement for this group is received. The buffers for sending are always directed to the four groups in a cyclic manner to ensure a correct sequence.

On the receiving side, they are distributed in the same cyclic manner.

When a buffer is transmitted, it is preceded by a buffer header and followed by a cyclic check sum.

A logical device number (LDN) is assigned to the channel on either side. It may be reserved, released, and accessed in a similar manner to any other device in SINTRAN III.

The LDN on either side may be of a different value (figure 17).

The various channels can be interrogated by the commands shown in the next section.

A channel with an associated background program can only be used for remote terminal communication.

NID-60.137.03


Page 130

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

Such channels are marked with "BACKGROUND" in the report made by these interrogation commands.

A channel without a background program is used for remote file access and data transfer.

local remote
LDN=600 LDN=640
LDN=601 LDN=641
... ...
LDN=617 LDN=657
LDN=620 LDN=660
LDN=621 LDN=661
... ...
IDN=637 LDN=677

Fig. 17: Example of Logical Device Numbers in NORD-10

10.202. @COMMUNICATION=STATUS

@COMMUNICATION-STATUS <line number>%<output file>

Report the status of the on the . The report contains logical device numbers, background vs. data channels, error information and the current communication state.

10.2.3. @COMMUNICATION=LINE=STATUS

@COMMUNICATION=LINE=STATUS <line number>

This command produces an abbreviated report containing only error information and the current communication state.

NDF 160.1132.03


Page 131

10.3. Remote Terminals

10.3.1. General

                local                      remote
                -------                    -------
               |                          |                           |
TERMINAL-1 <---|                          |                          --> OPER
               | channel 0                | channel W                |  ATOR 
               | remote                   | remote                   |
               | process-          ---->  | inter-        ---->      | COMMUN
TERMINAL-2 <---| sor                      | face                    --> ICATION
               |                          |                          |  and
               |                          |                          |  BACK
               | channel 1                | channel W                |  GROUND
               |                          |                          |  SYSTEM
TERMINAL-n <---|                          |                          ---|

Fig. 18. Remote Terminal Processing

The channels marked BACKGROUND in the report, mentioned above, can be connected to a remote processor. These channels are used for communication between a terminal user in a local SINTRAN III system and the operator's communication and background system in a remote SINTRAN III system. Figure 18 shows the main parts of the NORD-NET implementation.

A terminal user may connect to the remote processor by typing the command @REMOTE on his terminal. A free channel will be allocated, if available, to the terminal. The user may now LOG IN on the remote system. "rub-out" or "del" puts him temporarily back to the local command processor. The channel is still allocated to the terminal. Another @REMOTE with the same puts him back to the remote command processor. If he instead types @LOCAL the channel will be disconnected. (A more detailed description is found in section 10.3.5.)


Page 132

SINTRAN III TIME SHARING BATCH GUIDE

For example:

Local processing

øREMOTE 1
CHANNEL NUMBERS: LOCAL =600 REMOTE =600
"escape"
15.51.20 18 APRIL 1980
ENTER OLE
PASSWORD:
OK
ø

Remote processing

RøLOGOUT
15.11.51 18 APRIL 1980
-EXIT-
"rub=out!"
ø

Local processing

Remote command mode is indicated by Rø as prompt characters instead of only the ø alone.

A user can be connected to only one line at a time. Thus, if he is connected to remote line 1 and wants to change to remote line 2, it is done as follows:

  1. Log out as remote user (RøLOGOUT).

  2. Type "rub=out".

  3. Type øLOCALø.

  4. Type øREMOTE 2.

  5. Log in as remote user on line 2.

Typing "rub=out" to the remote command processor while in remote command execution mode or remote user mode causes a return to local mode, but the remote processing will continue. The terminal output will be saved and displayed when the user returns to remote command processing.

10.302: øREMOTE

øREMOTE <line number>
Connect terminal to remote command processor. If no remote connection exists for this terminal (no øREMOTE since last øLOCAL), a free channel is found and the terminal is connected to the background processor of

NID-6.60/122.03


Page 133

SINTTRAN III TIME SHARING BATCH GUIDE

NORD-NET

the remote computer. If a remote connection already exists, the terminal is connected to this channel. In the latter case, @REMOTE has the reverse function of "rub-out".

10.3.3. @LOCAL

Disconnect remote connection. The communication channel used by the remote connection is released and may be used for other purposes.

10.3.4. Example of @REMOTE and @LOCAL

In this example, @REMOTE and RUB-OUT are used to connect to and disconnect from the remote system.

"8981 922
18.28.56 5 SEPTEMBER 1980
VERSION 80.02.01/A
ENTER TOM
PASSWORD?
OK
@DATACL
18.26.12 5 SEPTEMBER 1980
@ffff
1 TOM
38 GROUP-W
670 SYSTEM
672 SYSTEM
@REMOTE
CHANNEL NUMBERS: LOCAL =6000, REMOTE w600
"escape"
"5.25.25 5 SEPTEMBER 1980
ENTER Egg
PASSWORD::
OE
RBDATCL
15.26.39 5 SEPTEMBER 1980
RQREZ
1 RT
670 SYSTEM
672 SYSTEM
38W SYSTEM
RQ "rub-cout"!
VERSION 80.02.01
@DATACL
18.27.03 5 SEPTEMBER 1980
@REMOTE
R8LOG
1.5.7.0h 5 SEPTEMBER 1980
-– EXIT –-
"rub--cout"
"fflzf@mifffiN.07.0h
@LOCAL
MQIF

NND-6601822.03


Page 134

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

15.28.18 5 SEPTEMBER 1980
-- EXIT --

System Flow

1. Local Terminal

  • State: Logged out
  • Actions:
    • System start
    • @REMOTE m; establish communication on line m
    • ESCAPE; local log in
    • @LOGOUT; terminate remote connection

2. Local Command Mode

  • Actions:
    • Commands; local processing
    • @LOGOUT; terminate remote connection

3. Remote Communication

  • State: Logged out
  • Actions:
    • ESCAPE; remote log in
    • Commands; remote processing

4. Remote Command Mode

  • State: Logged in
  • Actions:
    • @REMOTE i; connect to next remote system

5. Local Command Mode

  • State: Channel is connected
  • Actions:
    • Commands; local processing

6. Local Command Mode

  • State: Channel is connected
  • Actions:
    • Commands; local processing

Figure 19: Remote Processing, State Diagram


NID-660.132.03


Page 135

Detailed Description of Remote Terminal Connection

This section is a thorough description of the states of remote terminal connection.

The state diagram of remote terminal connection is shown in figure 19. The diagram should be compared to figure 5.

State 1 of figure 5 is equivalent to state 1 of figure 19.

State 2 of figure 5 is equivalent to the other states of figure 19 except the response to @REMOTE.

This command establishes communication by reserving a free channel, if any. The state is changed to 3.

Normally, the user proceeds to state 4 by logging on remotely.

All commands will now be processed on the remote system. Typing "rub-out" causes a transfer to local command mode, state 5.

Note that "rub-out" may be entered while in remote command processing mode or remote user mode.

This causes any remote processing to proceed as an independent process while the next commands are processed locally.

Any remote terminal output during state 5 will be collected and displayed when returning to state 4.

Another @REMOTE n command will cause a transfer to remote command mode, state 4, using the same channel as before.

In state 6 it is possible to terminate the remote connection (@LOCAL or @LOGOUT), but this should be avoided. The remote processing may be left in an indeterminate state. Instead, go back to state 3, type "rub-out" to change to local communication, and type @LOCAL to terminate the remote connection. (@LOGOUT will also terminate the connection.)

State 6 is equivalent to state 5 with respect to handling @REMOTE n. The state is changed to remote communication, state 3, using the same channel as before. Nesting of remote connections is performed in state 4 by typing another @REMOTE n command. It could even be a remote communication back to the local system.

This is necessary for the type of processing shown in figure 20. Here, the user runs a remote program which uses one or more files in the local system.

The communication starts with the first @REMOTE n command, establishing the interactive dialog on channel a. The user must then establish channel b by means of a @REMOTE n command back to the local system.

NID-600.137.03


Page 136

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

Then log onto the local system and finally type "rub-out" to get back to the remote system. The user may now start the remote program (program x) which can be run either in foreground or background.

The program will use a third channel for data transfer (channel c) while channel b will be used for administration.

Transfer of data can only occur directly between two systems which have a direct connection.

If system A connects to system B and B connects to system C, it is possible to connect to B, log in on B, connect to C and log on to C. However, any data transfer from A to C must first be made to B and then to C.

An intermediate file or program in B will take care of this problem.

Diagram

+-----------+     +-----------+     +-----------------+   
| terminal  |---->| local     |---->| remote system   |   
|           |     | system    | m r | containing      |   
+-----------+     |           |     | program x       |   
                  +-----------+     +-----------------+   
                  | disk containing file a            |   
                  +-----------------------------------+   

channel a; interactive
channel b; administration
channel c; one extra channel or file opened in the local system

Fig. 20. Remote Program Using a Local File

110.4. Remote File Access

Files on a remote ND system may be opened and closed from the local system. Only open, close, input and output functions are permitted on remote files. The communication channel to be used is specified as a prefix to the file name. To open a remote file from a background program, the user must be logged in on both systems. To open a remote file from a foreground program, the password of user RT on the remote system must be set by the @NEWOTPASSWORD command. In the following example, the local file LF1L is read by QED and written to the remote file RF1L. The channel to be used is CHANNEL1 and must have been defined as a peripheral file by user SYSTEM (@SET%PERIPHERALFILE). LF1L is owned by user PER and RF1L by user OLE.

ND-60.132.03


Page 137

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

The use of CHANNEL-1 as a prefix to the remote file name is explained at the end of this section.

"escape"
75.1.06* 28 AUGUST 1980
ENTER PER
PASSWORD?
OK
@REMOTE
CHANNEL NUMBERS: LOCAL - 600, REMOTE - 600
"escape"
757170.75 28 AUGUST 1980
ENTER OLE
PASSWORD?
OK
@GETPER-PEX
@JOE
(156)75.5R
#R LFTL
#@UWU#ians READ
#W CHANNEL-1:RFIL
sigh wahfis WRITTEN
*FX
@REMOTE
@LOG
127.73.nM 28 AUGUST 1980
-- EXIT --
"ru-u-out"
@OLEO"""
15772.15 18 AUGUST 1980
-- EXIT --

Note that when the remote file is accessed, the own user name is the name used when logging in on the remote system. The file RFIL is expected to be among the files owned by user OLE or user SYSTEM on the remote system.

When processing the command #W CHANNEL-1:RFIL, two channels are used. The first is the one allocated to commands. The second is the channel corresponding to the peripheral file name CHANNEL-1.

The next example is a compilation in the local system. The FORTRAN source file LFTL is compiled. The compiler listing is output to the remote line-printer and the object code is output to the new remote file ORU:BRF belonging to user OLE.

"escape"
12.26.T18 28 AUGUST 1980
ENTER PER
PASSWORD?
OK
@REMOTE
CHANNEL NUMBERS: LOCAL = 600, REMOTE = 600
"escape"

NID-600.132.03


Page 138

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

12.25a30 28 AUGUST 1980 ENTER OLE
PASSWORD?
OK
9915293021
NMTVN
NORD-10 PTN COMPILE

$COM LP1L,CHANNEL=1,L=LP,CHANNEL=2,PROBJ#
189 STATEMENTS COMPILED, OCTAL SIZE = 3122
CPU-TIME USED IS 6.9 SEC.
SIZE
REMOTE
RCF020a

12.32.30h 28 AUGUST 1980
-- EXIT ma

"rubb-out"
@LOG "TT"
12.32.40 28 AUGUST 1980
-- EXIT --

In general, the syntax of a remote file name is:

(channel name>:

Only one level of remote connection can be specified. For ex.:

CHANNEL=LH6(PACK=AIOTPER)FILEA:SYMBE;2
CH=2:"FILEE-2"
KANALILA:(SYS)FINL1LHR2BRF

The file number returned from a remote @OPEN-FILE, OPEN statement or OPEN monitor call will be the logical device number of the channel as defined in the local computer. After the file is opened, a remote file may be accessed by READ and WRITE statements, IN$ET and OUTBT monitor calls, etc.

10.5. Data Transfer

10.5.1. General

Any free channel not dedicated to background programs may be used for data transfer. The channel will then have a function similar to an internal device. The only difference is that the sending and the receiving programs are in two different systems. The following rules apply:

  1. The channel must be reserved by the user programs. The logical device number on either side is used for reservation.

NID-660.132903


Page 139

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

  1. The receiving program asks for input (by using a monitor call or statement) and is set in a waiting state until data is received through the channel.

  2. The sending program outputs to the channel (by using a monitor call or statement) and is set in a waiting state under one of the following conditions:

  • the receiving program has not asked for input,
  • a break character is sent,
  • the buffers available are almost full, or
  • a wait acknowledge (WACK) is received from the channel.

The sending program is restarted when a request for input is received through the channel. The request is sent from the receiving program when it detects a break character.

A wait acknowledge is sent if the input queue for a channel exceeds a predefined number of buffers. (The number is defined at system generation time.) The wait will prevent one channel occupying the whole buffer pool if the receiver reads data at a lower rate than the sending program.

A wait acknowledge simulates a break character at the end of the last transmitted buffer on the channel.

The break strategy may be defined by the receiving program. The strategy is transmitted to the sending system as a special buffer. It is possible to specify that no break is permitted.

A buffer will then be transmitted only if it is full or the sending program executes CLOSE-FILE or RESET function on the channel. The break strategy should cause as few breaks as possible in order to reduce the system overhead.

NID-6:80:032.03


Page 140

SINTRAN III TIME SHARING PATCH GUIDE

NORD-NET

The following standard monitor calls may be used on a communication channel:

Command Description
RESRV Reserve channel
RELES Release channel
INBT Read a byte
OUTBT Write a byte
B8INB, M8INB, BHMNW Read 8 bytes
B8OUT, M8OUT Write 8 bytes
CIBUF Clear input buffer
COBUF Clear output buffer
IOSET On input: function = -12: clear input buffer
= -2: set break strategy
On output: function= -1: send last buffer
= -2: clear output buffer
> 1000: the receiver will display an error message corresponding to (function = 1000).
  • BRKM - Set break strategy
  • ECHOM - Set echo strategy. The command will only have an effect if the program on the other side is a remote terminal processor.
  • MAGTP - Transfer a block of data to or from a communication channel.
  • RFILE - Read a block of data from a communication channel.
  • WFILE - Write a block of data to a communication channel.

ND–6801B22.03


Page 141

SINTRAN III TIME SHARING BATCH GUIDE

NORD-JET

In the following example, data is received from the communication channel having the LDN = 600:

LRA (RPAR        %  
MON 122          % RESERVE CHANNEL  
LINT (600        %  
MON 13           % CLEAR INPUT BUFFER  
JMP RRROR        % ERROR EXIT  
SAA -1           %  
MM01 A           % SET BREAK STRATEGY  
LOOP9 LOT (600   %  
MON 1            % INPUT A BYTE  
JMP TEST         % TEST FOR ERROR  

JMP LOOP

If ERROR = 161, NO ANSWER FROM DEVICE, then TRY AGAIN AFTER 5 SEC. (CAN BE LIMITED) to FOR RRx. NO RE(THRESH)e:n THE DRIVER HAS NO RRTRY PACTILITY:

TEST, SAT 161             % T = 161  
SKP ROL SA DT             % TEST FOR 161  
JMP RRROR                 % NOT 161 = ERROR  
LDA (RPAR WAIT 5 SRCa  
MON 1Dh                   % HOLD  
JMP LOOP                  % TRY AGAIN  

RPAR, (600         % CHANNEL NUMBER  
  (0                % INPUT BUFFER  
  (0                % WAIT FOR RESERVATION  
HPAR, (G            % 5 SEC  
  (2                % UNIT OF SECONDS  
)FILL

The input buffer should always be cleared, since the previous program using the channel may have been terminated abnormally.

NID-6.60.1132.03


Page 142

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

The following FORTRAN program will write a record to the channel:

    I:RESRV(600B,1,0)
    I:LOSET(600B,1,0,,1)
    ...
    WRITE(600B,10)
10  FORMAT( ,A)
    ...

The corresponding program to read is:

    I:RESRV(600B,0,0)
    ...
    READ(600B,10)
10  FORMAT( ,A)

110.5.2. WROU (MON 163)

Place the calling program in a wait state until a request for input is received from the remote system. The call is useful in interactive communication programs when the local echoing should wait until the receiving program asks for input.


Page 143

SINTRAN III TIME SHARING BATCH GUIDE

NORD-NET

ND-60.132.03


Page 144

APPENDIX A

Editing Control Characters for Commands

ND-60.132-03


Page 145

I'm sorry, I cannot read or convert text from very low-contrast or blank images. If you have a clearer image or any specific text, please provide it, and I'd be happy to help!


Page 146

Appendix A

Editing Control Characters for Commands

The following list contains the subset of QED control characters which are relevant for SINTRAN III commands.

CORRECTING THE CURRENT LINE

CTRL/A Backspace one character (echo is up-arrow or under-line)

CTRL/O Restart the command on a new line (echo is left-arrow)

COPY FROM PREVIOUS LINE

CTRL/C Copy one character

CTRL/D Copy the rest of the line including carriage return

CTRL/H Copy the rest of the line not including carriage return

CTRL/Zx Copy the old command up to and including x

CTRL/Ox Copy the old command up to but not including x

SKIP CHARACTERS IN OLD COMMAND

CTRL/S Skip one character

CTRL/XX Skip characters up to and including x

CTRL/Px Skip characters up to but not including x

(Carriage return skips the rest of the line.)

INSERT CHARACTERS

CTRL/F Change to insert mode (echo is <) or overwrite mode (echo is >)


Page 147

Appendix A

Editing Control Characters for Commands

NID-680.1#32603


Page 148

Appendix B

Index

ND-600.132.03


Page 149

I'm sorry, I can't assist with that.


Page 150

Appendix B

Index

This index includes terms which are not complete headings. For names of time-sharing commands and monitor calls, the reader should make himself familiar with the table of contents.

Some commands and monitor calls are only referenced in this manual and are therefore included in the index.

  • indicates a definition of the term. It occurs only in a list of multiple references.
Term Reference
access
append GO
common u.U9...O.Q4
default B9ga
explicit C...1...a.a.a
friend P9*.O...O.O..................
implicit O9.C9.a9.d9
"normal default" nul.e..O.a.OO
Onaaaaaaaaaaaaaaaaaaaaaaaa
public ou.aoa.a.a...oa.O...O.aO....
random a.a.9O...91f.O7a...O9.aO..
sequential aid 9.a.a...AOooaoeu
accounting system ..u..a.Oa..va9
ACM (MON 700B) oaa...oovu.o9n4
active batch state see batch
attention character see character

batch

Term Reference
active states ..O..no.o%....a5
idle state O..a.aO...a.a.dao..a.dau.a
job .a.a.q.aia.aO*...nu.uOOg.o
output device e...c.o...Q...a9..9..
passive state a.gO...a...ua7
processor O0~~ .a~ga~
program o....oECo...
program termination a...~...o...
queue c.O...~a9.O
time used in job a.a.n.Oa...
see also error

others

Term Reference
background program o'u,.-.o
backup aco.a,ua.O
basic time unit see time
binary program see program
BPS relocatable file ouc,...ow...ai..3.2.6,3.2.3*
block o0.~o..o.O..a10.7,a<.oa
beginning of woa..ano.ctx9.o.a
size a..a.ca..u9...9u...o..9
BPUN command o...o1...a6.0

NID-41Ori1322.03


Page 151

Appendix B Index

BPRM format gee program

Break strategy

  • 3.8.3.7, 6.2.8*

RRP see, binary relocatable file

Broadcast

  • 9.1

Buffer

Item Reference
Input 3.8.6.10
Output 3.8.6.11
Byte count 302.1
Maximum pointer 3.8.6
Pointer number 3.8.6

Cable

  • 2.2

Call, standard format

  • 2.10.3

Character

Item Reference
Alteration 7.3
Control 2.4.6, 3.2.9, 5.8
Device input 3.2.7
In files 3.2.1
Strings 2.4.1, 3.8.3.8

Command

Item Reference
Element 2.4.1
Execution mode code 2.4
Mode 2.4.3*
Name 2.2, 2.4.3
Parameter 3.7
In programs 2.4.9
Subfield 2.4.9
System supervisor 1.9
Timer setting 1.3
See also error/real-time

Communication code

  • 7.6.2

Communication model

  • 6.2.4, 6.2.1*

Configuration

Item Reference
Minimum hardware 1.4
Software 1.1

Connect time

  • 2.5

Console terminal

  • See terminal

Contiguous see file

Control character

  • See character
  • 3.8.3.1

Data storage medium

  • 3.1

Date

  • 4.3

Default directory

  • See directory

Delay on CARRIAGE RETURN

  • 6.2.1

Device

Item Reference
Element 3.2.7
Mass storage 3.7
Reserve 7.6

NDD-6800132.03


Page 152

Appendix B

Index

W

  • word oriented .............................. 3.8, 3.1
    • see also batch, character, error
  • @DEVICE/FUNCTIONacao ...................... 3.11, 1.3*
  • direct program entry
    • see MAC directory
  • directory
    • default ......................................... 2.6, 3.2.2, 3.3.1*
    • main ............................................. 3.3.1
    • on mass storage medium .............. 3.1
    • see also file
  • duplex, full ................................. 2.9
  • dynamic LDN
    • see logical device number

E

  • echo strategy ............................. 6.2.8*
  • edited input ................................. 3.2.9
  • element see command
  • end-user jacqua.oao ................... 1.2
  • error
    • in batch jobs .......................... 7.6
    • command processor ................ 2.5
    • device .................................... 2.5, 7.6.8.1, 8.2.9.2, 2.1*
    • file system .............................. 2.5
    • FORTRAN run time ............................ 2.5
    • run-time.oao .......................... 2.5
    • system.ua .............................. 2.1, 6.1, 2.5*
  • element see command
  • ESCAPE (E8) ........................... 6.2.2, 6.2.3, 6.2.5, 6.2.6
  • execution
    • module ...................................... 7.7.1
    • see also command explicit creation
    • see files
  • extend.oao .............................. 3.2.1*

F

  • file:
    • contiguous.oao ..................... 3.4.1, 3.6, 3.2.1*
    • directory name ........................ 3.2.2
    • explicit creation ...................... 3.4
    • implicit creation ...................... 3.4
    • indexed ................................... 3.2.6, 3.8.4, 3.4
    • label ........................................ 3.10.9
    • mass storage ........................... 3.2.1, 3.1*
    • name ......................................... 2.4.1
    • object name ................................ 3.2.2
    • object number ........................... 3.10.3
    • owner ........................................ 3.1
    • owner name ............................ 3.2.2
    • peripheral name ....................... 3.7, 3.1

ND-660:1322.03


Page 153

Appendix B

Index

peripheral spooling............................... 8.1
permanently opened................... 2.10.1, 3.2.6, 3.8.2.1*
scratch................................................. 3.8.2.3
segment.................................................. 3.3.4
spooling................................................. 3.4.9
temporary................................................ 3.4.9
type...................................................... 3.2.2

see also binary
SETS/Stable file,
character, error,
job
floppy disk........................................... 3.3.1, 3.3.2, 3.111
foreground program
see program
formatting or disk
see "virgin" disk
FORTRAN I/O......................................... 3.2.11
FORTRAN runtime error
see error
FORTRAN unit number
see unit number
full/duplex see duplex

GRAPHIC (MON 1555)............................... 1.3

hardware configuration
registers.............................................. 2.10.3
see also configuration
HDLC (MON 2301)................................. 1.3
HOLD see no-wait mode
HOLE...................................................... 3.2.11

identification key
see spooling
idle batch state
see batch
implicit creation
see file
indefinite file see file
insert mode.......................................... 2.4, appendix A
interrupt level...................................... 2.10.3
I/O SET.................................................. 1.2
IOSET (MON 2141)............................. 1.3

job
input file................................................. 7.2
output file.............................................. 7.2
see also batch, mode
remote job entry

NID-460.132.03


Page 154

Appendix R

Index

  • label see file or reel
  • LDN see logical device number
Description Location
LIST SERVICE FUNCTION 1.2
LIST REMOTE QUEUE 1.3
LOGICAL 1.3
logical device number 2.6, 3.1, 3.2.7*
dynamic 3.10.3, 3.2.7*
station 3.7, 3.7.5, 3.7.6, 3.2.7*
logical page see page
  • MAC | 2.10.2, 3.2.7 |
  • direct program entry | 2.10.2 |
  • machine code | 1.3 |
  • MAGTP (MON Thlnnn) | 1.3 |
  • mail box | 9.1 |
  • main directory
    • see directory
  • mass storage device
    • see device
    • mass storage file
      • see file
    • mass storage medium
      • see directory
  • memory
    • alternative virtual | 5.4.2 |
    • virtual | 5M.2 |
    • missing carrier | 6.2.1 |
  • mode
    • job | 7.2 |
    • master | 7.5.1 |
    • modem | 2.9.2 |
    • monitor | 2.10.11, 2.10.2, 2.10.3, 1.3* |
  • ND number | 6.11 |
  • nesting see mode
  • no-wait mode | 3.8.3.7 |
  • HOLD | 3.8.3.7 |
  • NO FORD | 1.3 |
  • ND | 2.10.1, 3.2.6 |
  • NRL see No FORD number
  • printing | 3.8.3.6 |
  • numeric parameter | 2.4.1 |
  • object entry see file
  • object name see file
  • "old line" editing | 5.7 |
  • overstrike | 2.U, appendix A |
  • NDD-660:R32.03

Page 155

"own" terminal

see terminal

owner name see File

Page

  • bad p. on disk: 3.11
  • logical pg.: 4.3.4
  • paper crash: 8.1
  • passive batch state

Password

  • 1.2.1, 1.2.2, 2.2, 2.8%

Peripheral

  • standard: 1.3
  • see also file

Program

VM

  • binary (FRRUN): 5.5, 5.1*
  • foreground: 3.6, 1.1*
  • write: 5.1, 5.3.1, 3.2.3*
  • restart: 5.3.2
  • start: 5.3.1
  • terminating in: 5.7, 5.9
  • see also background, halt command

RSF

  • see peripheral spooling

Random access

  • see access

Real-time (RT)

  • command: 1.3
  • description, no.: 4.3.3
  • description address: 4.3.5
  • program: 1.2.2
  • programming: 1.1
  • see also user record: 3.1, 3.2.1*

Reel

  • label: 3.10.9

Registers

  • see hardware

Remote

  • remote job entry: 7.1
  • reserve device
  • see device

Restart address

  • 2.10.4

RWND

  • statement: 5.7

RJE

  • see remote job entry

RT

  • see real-time

Run time

  • see error

Page 156

Appendix B

Index

scratch file

  • see file

segments

  • see also file
  • selection 2.U.1

sequential access

  • see access

SMTOKEN III/RT

  • 1.1

SMITRAN III/KS1

  • 1a.1

software configuration

  • see configuration

source code

  • see symbolic code

spelling

  • identification key 5, 6, 9

system states

  • see also file

standard call format

  • 5399 call

standardization of terminal

  • see terminal

statute LDN

  • see logical device

stop condition

  • 8.11

subfield

  • see command

subsystem

  • 2.5, 2.3*

reentrancy

  • 5.1, 9.2.1

SYMBOL table

  • 5.1, 3, 2, 3.3*

see also symbolic code

symbolic code

  • 2.10.1

see also SYMBOL file

system

  • management 1.2.3
  • identification 4.2.2
  • see also error

system supervisor (user SYSTEM)

  • see command user

telephone lines

  • 2, 9

temporary database

  • 3, 2, 6

see also file

terminal

  • communication characteristics 6.2, 6.1*
  • console output 2, 5, 9, 3, 2, 9.1, 2.1*
  • standard
  • standardization 2.9
  • type name 3, 2.5*
  • type number 2.5
  • wait state 8, 6, 9

termination

  • see batch program

time

  • basic to unit 1, M.2

NBD-600132003


Page 157

Appendix B

Index

CPU

  • M.3.5

of day

  • 2.6

internal

  • U.3.M

measurement

  • 2.6

queue

  • U.3.2

see also batch

editfile

see commands, user

TRACE (MON 1563)

  • 1.3

transmission speed

  • 2.2

'55 operating system

  • 3.8, 4.4

type see File

unit number

  • 3.9

upper case

  • 5.2.1

user

Area 3.4
Mode 5.3, 2.3*
Name 3.4, 1, 3.2.2, 3.1*
Number 2.6, 4.1
Terminal 2.9, 5.1
RT 1.2
FOYRTRM 1.2, 3.3

version

  • 3.2.2

"virgin" disk, formatting of

  • 3.11

virtual memory

wait mode

  • 3.8.3.7

see also terminal

WRQT (MON 163)

  • 1.3

XMSG (MON 200)

  • 1.3

ND-6.80123.03


Page 158

Send Us Your Comments!!!

Are you frustrated because of unclear information in this manual? Do you have trouble finding things? Why don't you join the Reader's Club and send us a note? You will receive a membership card an answer to your comments.

Please let us know if you - find errors - cannot understand information - cannot find information - find needless information

Do you think we could improve the manual by rearranging the contents? You could also tell us if you like the manual!

Help Yourself by Helping Us!

Manual name: SINTRAN III Timesharing/Batch Guide
Manual number: ND-60.132.03

What problems do you have? (use extra pages if needed)




Do you have suggestions for improving this manual?



Your name:

Company:

Address:

What are you using this manual for?


NOTE!
This form is primarily for documentation errors. Software and system errors should be reported on Customer System Reports.

Send to:
Norsk Data A.S
Graphic Center
P.O. Box 25, Bogerud
0621 Oslo 6, Norway

Norsk Data's answer will be found on reverse side.


Page 159

Answer from Norsk Data











Answered by ____ Date ___


Contact Information

Norsk Data A.S
Graphic Center
P.O. Box 25, Bogerud
0621 Oslo 6, Norway


Page 160

Systems that put people first

NORSK DATA A.S
OLAF HELSETS VEI 5
P.O. BOX 25 BOGERUD 0621
OSLO 6 NORWAY

TEL.: 02 - 29 54 00
TELEX: 18284 NDN