Skip to content

Page 1

SINTRAN III

Users Guide

A/S NORSK DATA-ELEKTRONIKK

N D E (Visual representation with dots)


Page 2

REVISION RECORD

Revision Notes
01/75 Version 03
Total revision, superceding all previous versions
01/76 Version 04
Total revision, superceding all previous versions
03/76 Version 05
Total revision, superceding all previous versions
06/76 Version 06
Total revision, superceding all previous versions

Publication No. ND-60.050.06
June 1976

A/S NORSK DATA-ELEKTRONIKK
Lørenveien 57, Oslo 5 - Tlf.: 21 73 71


Page 3

PREFACE

Norsk Data Elektronikk A/S is continuously working towards improvements and new extensions of the SINTRAN III operating system. New versions are released 3 or 4 times a year. It is our goal to synchronize the new editions of this manual with the new versions of the operating system, such that all functions of a particular version of SINTRAN III are described in the corresponding edition of the manual, and that all functions mentioned in the manual are contained in the corresponding version of the operating system.

Thus, this version of this manual is the SINTRAN III version of June 1976.

ND-60.050.06


Page 4

TABLE OF CONTENTS

Section: Page:
1 INTRODUCTION
1.1 General Remarks on SINTRAN III
1.2 User Categories
1.2.1 Timesharing and Batch Users
1.2.2 The Real-Time Users
1.2.3 The System Supervisor
1.3 Commands and Monitor Calls
1.4 Hardware Environments
1.5 Available Subsystems
1.5.1 Programming Languages
1.5.2 Subsystems and Utility Programs
2 PREPARING AND EXECUTING TIMESHARING JOBS
2.1 A Run Using QED, The Text Editor
2.2 A Run Using BASIC
2.2.1 The Execution of a BASIC Program from a QED File
2.2.2 The SAVE and GET Commands
2.3 An FTN (FORTRAN) Run
2.3.1 FORTRAN Compiler Commands
2.4 The Compilation of a Simple NORD-PL Program
2.5 A Run Using the MAC Assembler
3 TIMESHARING AND BATCH USERS
3.1 Introduction
3.1.1 Timesharing Users
3.1.2 Batch Users

ND-60.050.06


Page 5

Table of Contents

Section Page
3.2 The File Management System
3.2.1 File Directories
3.2.1.1 Creating Users and Reserving Space
3.2.1.2 Default Directories
3.2.2 Creating Files (Indexed and Contiguous Files)
3.2.3 File Types
3.2.4 File Versions
3.2.5 File Protection and Accessing Modes
3.2.6 Friend's Access
3.2.7 Summary of File-Name
3.3 Utility Commands
3.3.1 Starting and Terminating a Terminal Session
3.3.1.1 Logging-in
3.3.1.2 Logging-out
3.3.1.3 Dialed-up Terminals (Duplex, Echo)
3.3.1.4 Password
3.3.1.5 The "Escape"-key and the "Break"-key
3.3.2 Execution of a User-program or Subsystem
3.3.2.1 The Recover Command
3.3.3 Creation of an Executable Program
3.3.3.1 The Dump Command
3.3.3.2 The Memory Command
3.3.4 Restarting Execution of a Program
3.3.4.1 The Continue Command
3.3.4.2 The Goto-User Command
3.3.5 Loading a Binary Program
3.3.5.1 The Load-Binary Program
3.3.5.2 The Place-Binary Command

ND-60.050.06


Page 6

Section

Section Page
3.3.6 Examination of User's Registers and Memory Contents 3-18
3.3.6.1 The Status Command 3-18
3.3.6.2 The Look-at Commands 3-18
3.3.7 Obtaining System Information 3-20
3.3.7.1 The DATCL Command 3-20
3.3.7.2 The Time-Used Command 3-20
3.3.7.3 The Who-Is-On Command 3-20
3.3.7.4 The Where-Is-File Command 3-21
3.3.8 The MODE Command 3-21
3.3.9 The CC Command 3-23
3.3.10 The HELP Command 3-23
3.3.11 The HOLD Command 3-23
3.3.12 The TERMINAL-MODE Command 3-23
3.3.13 The IOSET Command 3-24
3.4 The Most Commonly Used File Management System Commands 3-25
3.4.1 Creating and Deleting Files 3-25
3.4.2 File Protection and Access Modes 3-26
3.4.3 File Statistics and User Information 3-27
3.4.4 Copying Data to and from Files and Devices 3-28
3.4.5 Opening and Closing Files 3-28
3.4.5.1 The Open-File Command 3-29
3.4.5.2 The Connect-File Command 3-30
3.4.5.3 The Close-File Command 3-30
3.4.6 Reserving and Releasing Files and Peripheral Devices 3-31
3.5 File Handling from User Programs 3-32
3.5.1 Opening Files from a Program 3-32
3.5.1.1 Subroutines for Opening Files 3-32
3.5.1.2 Monitor Calls for Opening Files 3-34
3.5.2 Accessing Files 3-35
3.5.2.1 Sequential File Access 3-35
3.5.2.2 Random File Access 3-36

ND-60.050.06


Page 7

Section

Section Page
3.5.3 Closing of Files 3-40
3.6 Monitor Call Functions 3-41
3.6.1 Monitor Calls Available from MAC and NORD-PL Programs 3-43
3.6.2 Monitor Calls also Available from FORTRAN 3-48
3.6.3 Monitor Calls Not Available in RT Programs 3-52
3.7 Batch Processing 3-53
3.7.1 Introduction 3-53
3.7.2 Definitions 3-53
3.7.3 Batch Commands for the User SYSTEM 3-54
3.7.3.1 The Batch Command 3-54
3.7.3.2 The Abort-Batch Command 3-55
3.7.4 Batch Commands for Public Users 3-55
3.7.4.1 The List-Batch-Process Command 3-55
3.7.4.2 The List-Batch-Queue Command 3-56
3.7.4.3 The Append-Batch Command 3-56
3.7.4.4 The Abort-Job Command 3-57
3.7.4.5 The Delete-Batch-Queue-Entry Command 3-58
3.7.5 Batch Commands within the Batch-Job-File 3-58
3.7.5.1 The Enter Command 3-58
3.7.5.2 The Schedule Command 3-59
3.7.6 Special Monitor Calls for Batch Jobs 3-61
3.7.7 Example of a Batch-Job-File 3-61
3.8 The Spooling System 3-63
3.8.1 Spooling Commands for the User SYSTEM 3-65
3.8.1.1 Start Spooling 3-65
3.8.1.2 Stop Spooling 3-66
3.8.2 Spooling Commands for Public Users 3-66

ND-60.050.06


Page 8

Section

Section Page
3.8.2.1 Append Spooling File
3.8.2.2 Delete Spooling File
3.8.2.3 List Spooling Queue
3.8.2.4 Abort Print
3.8.2.5 Restart Print
3.8.2.6 Give Spooling Pages
3.8.2.7 Take Spooling Pages
3.8.2.8 Spooling Pages Left

4 MORE ABOUT SINTRAN III

Section Page
4.1 The Interrupt System
4.2 Memory Management System
4.2.1 The Users Virtual Memory Space
4.2.2 The Hardware Page Index Tables (PIT)
4.2.3 The Paging System
4.2.4 The Permit Protection System
4.2.5 The Ring Protection System
4.2.6 Privileged Instructions
4.3 Real-Time Processing
4.4 Program Structure — Segments
4.5 Reservation of Logical Units (Resources) From RT Programs
4.5.1 Semaphores
4.5.2 Files and RT Programs
4.5.3 Internal Devices
4.6 Direct Tasks
4.6.1 The Implementation of a Direct Task into a SINTRAN III System
4.6.2 Calling RT Programs from Direct Tasks
4.6.3 Activation of Direct Tasks from Interrupts

5 THE USER RT

Section Page
5.1 The Purpose of the User RT
5.2 The Real-Time Loader
5.3 File Handling Commands
5.4 The Look-At Command
5.5 Monitor Commands
5.6 Utility Commands

Page 9

Section:

6 THE USER SYSTEM

Page
6.1 The Purpose of the User System
6.2 Directories
6.2.1 Initializing a Directory
6.2.2 Enter, Set-Default and Release Directory
6.2.3 Statistics Commands
6.2.4 Directory Back-up
6.2.4.1 Stand-Alone Programs
6.2.4.2 On-Line Back-Up
6.2.5 Directory Maintenance Commands
6.3 Supervision of Other Users
6.3.1 Creating and Deleting Other Users
6.3.2 Giving and Taking User Space
6.3.3 Password
6.4 System Utility Commands
6.4.1 Terminals
6.4.2 Stopping the Operating System
6.4.3 Restarting the System from Memory Image
6.4.4 The Look-At Command
6.4.5 Error Print-out Device Setting
6.5 The Accounting System
6.5.1 Commands
6.5.2 List Accounts
6.6 The Batch System
6.7 Peripheral Devices
6.8 Remote Job Entry
6.8.1 General Remarks
6.8.2 The Remote Batch Queue
6.8.3 Commands to Maintain the Remote Batch Queue
6.8.3.1 The Append-Remote Command
6.8.3.2 The List-Remote-Queue Command
6.8.3.3 The Delete-Remote-Queue-Entry Command

ND-60.050.06


Page 10

7 REAL TIME PROGRAMS

Section Page
7.1 RT Programs Written in FORTRAN
7.2 Reentrant FORTRAN Programs
7.2.1 Summary of Reentrant FORTRAN Programs
7.3 Reentrant MAC/NORD-PL Subroutines Callable From Reentrant FORTRAN Programs
7.4 RT Programs in MAC and NORD-PL
7.5 Communication Between RT Programs
7.5.1 Defining a COMMON Area in a MAC or NORD-PL Program
7.5.2 Accessing a COMMON Area from a MAC or NORD-PL Program
7.6 Monitor Calls Available from RT Programs Only
7.6.1 Subroutines for Executing Monitor Calls from FORTRAN RT Programs
7.6.2 Monitor Calls Available from MAC/NORD-PL Only
7.6.3 The Difference Between Using Some Monitor Calls From MAC/NORD-PL and From FORTRAN
7.7 The Real-Time Loader
7.7.1 General Remarks
7.7.2 Segment Files
7.7.3 RT Loader Commands
7.7.3.1 Clear an Existing Segment
7.7.3.2 Declare an RT Program Name
7.7.3.3 Define the Name of a Segment File
7.7.3.4 Define a Symbol
7.7.3.5 Delete the Name of the Non-Reentrant Routines in the "Reentrant" FORTRAN Library (FTNRTLIBR)
7.7.3.6 Delete an RT Program
7.7.3.7 Delete a Symbol from the Linking Table
7.7.3.8 End a Load Operation
7.7.3.9 Exit from the RT Loader
7.7.3.10 List the Available Commands
7.7.3.11 Load a SINTRAN III Core Only System
7.7.3.12 List the Available Free Segment Numbers
7.7.3.13 Load from the Specified Input File into the Specified Segment
7.7.3.14 Specify the New Segment to be Built

ND-60.050.06


Page 11

Section:

Section Page
7.7.3.15 Load from the Specified Input File into the Current Load-Segment
7.7.3.16 Load Reentrant Program Systems onto a Specified Segment
7.7.3.17 Reset the RT Loader
7.7.3.18 Allocate Common Area in Resident Core
7.7.3.19 Set the Load Address of a Segment
7.7.3.20 Command to Allocate Common Area on the Second Segment Currently Being Built
7.7.3.21 List Names of all the Common Labels in the Linking Table
7.7.3.22 Write the Lower and Upper Address Limits, and the Current Load Address of a Specified Segment
7.7.3.23 List the Names of the RT Programs
7.7.3.24 List out the Undefined Symbols
7.7.3.25 List the Symbols in RTFIL
7.7.3.26 List all the Information about a Specified Segment
7.7.3.27 List the Defined Symbols in the Linking Table

8 SINTRAN III/SINTRAN III COMMUNICATION

Section Page
8.1 Introduction
8.2 Communication Line
8.2.1 Commands to Initiate and Terminate Communication
8.2.2 The COMMUNICATION-STATUS Command
8.3 Data Transfer
8.4 Terminal Connection
8.5 Remote Load
8.6 Watch-Dog

9 SPECIAL PERIPHERAL DEVICES

Section Page
9.1 The Device-Function Command
9.2 Magnetic Tapes and Cassette Tapes
9.2.1 Sequential Read and Write
9.2.2 The Monitor Call MAGTP
9.2.2.1 Tandberg Magnetic Tape
9.2.2.2 Status Code for Hewlett-Packard Magnetic Tape
9.2.2.3 Status Word for Cassette Tape Philips

ND-60.050.06


Page 12

Section:

9.3 Floppy Disk

Page
9.3.1 Floppy Disk as File Directory
9.3.2 Floppy Disk Used as a Sequential Peripheral File
9.3.3 Accessing the Floppy Disk Using the Monitor Call MAGTP (MON 144)

9.4 Versatec Plotter/Printer (DMA Interface)

Page
9.4.1 Monitor Calls

9.5 SINTRAN III/CAMAC Communication

Page
9.5.1 Monitor Calls

9.6 SINTRAN III/Graphical Output

Page
9.6.1 Tektronix Display
9.6.2 NORDCOM Monitor Calls
9.6.2.1 The Tracker Ball Monitor Call (MON 156)

Appendix A

Page
SINTRAN III Operating System - Command Summary A-1

Appendix B

Page
Monitor Calls B-1

Appendix C

Page
Logical Device Numbers Used in SINTRAN III C-1

Appendix D Error Messages

D.1 SINTRAN III Monitor

Page
D.1.1 Run Time Errors
D.1.2 Run Time Error Codes

D.2 SINTRAN III File System

Page
D.2.1 Error Codes Returned from Monitor Calls

D.3 SINTRAN III — Real Time Loader

Page
D.3.1 Error Diagnostics
D.3.2 Error Messages
D.3.3 Description of the "Illegal Command" Message

ND-60.050.06


Page 13

Section

Section Page
D.4 Binary Relocating Loader
D.4.1 Error Messages
D.5 Standard FORTRAN
D.5.1 Compiler Error Messages
D.5.2 FORTRAN Formatting Error Messages
D.5.3 Arithmetical Library Error Messages
D.6 BASIC
D.6.1 Basic Error Messages
D.6.2 Compiling
D.6.3 Run Time
D.6.4 Compiler Error Messages
D.6.5 Run Time Error Messages
D.6.6 Mathematical Library Error Messages
D.7 MAC
D.7.1 Error Messages, Their Meaning and Action to Take
D.8 NORD-PL
D.8.1 Diagnostic Messages from the Compiler
D.8.2 Diagnostic Messages from the Assembler
D.9 Quick Editor
D.9.1 Error Messages

Alphabetical Index for SINTRAN III

ND-60.050.06


Page 14

Introduction

This manual is intended to give a brief description of the present operating system, SINTRAN III, which in a version especially generated and strictly suited for each particular NORD-10 configuration, is delivered together with other standard software packages by A/S Norsk Data-Elektronikk.

The reader of this manual will learn all the details about running SINTRAN III, how to make efficient application programs utilizing standard hardware and software features, and will be given a general idea of the structure of SINTRAN III.

Accordingly, this manual is recommended as the necessary documentation for any person (operator or programmer) approaching the problem of utilizing the efficient hardware and software facilities offered by the NORD-10 computer system.

ND-60.050.06


Page 15

1.1 GENERAL REMARKS ON SINTRAN III

The NORD-10 computer system is a medium scale, general purpose computer system which, because of the modular design, is actually a family of computer systems.

SINTRAN III is a multiprogramming, multi-lingual, real-time operating system that supervises the processing of user programs submitted to a NORD-10 computer system. SINTRAN III also relieves the user from program control, input/output and housekeeping responsibilities by monitoring and controlling input, loading, compilation, run preparation, execution and output of user programs.

SINTRAN III offers the user the most efficient facilities because it takes full advantage of the NORD-10 computer hardware resources. Many powerful operating system features are made possible by utilizing the efficient hardware of the NORD-10. This, in turn, makes multi-programming in real-time, timesharing and batch modes possible.

The system is highly modular and may be used for a wide range of NORD-10 configurations. Modularity allows memory resident systems of only 16K, expanding to mass storage systems including 256K main memory, disks, drums, etc. and connections to other NORD computers, thereby, allowing multiprocessing systems.

The philosophy behind SINTRAN III makes it especially suited for:

  • Process Control Systems
  • Business Oriented On-line Systems
  • Scientific Engineering Timesharing Systems
  • Data Communication Systems
  • Data Acquisition Systems

and combinations of these processed concurrently. This, because of the subsystems offered under SINTRAN III, helps to ease the user's implementation of applications.

Operating Modes:

SINTRAN III allows users to run real-time, timesharing and batch programs concurrently.

Time critical real-time processing always has higher priority than timesharing and batch processing. The number of programs that can be processed concurrently depends on factors such as; hardware configuration, operating modes and applications involved.

ND-60.050.06


Page 16

1.2 USER CATEGORIES

The SINTRAN III system may be used by a variety of people, ranging from those who want to run BASIC programs from interactive terminals, to those who want to control complicated equipment through the real-time processing facilities the system offers, and those who are responsible for the control of the computer system itself.

These different users may be categorized into three groups:

  • timesharing and batch users,
  • real-time users, and
  • system supervisors

Each group will have a different background and require different services by the system. This manual has been separated into sections describing functions concerning all user groups to sections with special interest for each group.

Another type of users, often referred to as the "parametric users", perform application oriented tasks such as data-entry or data-inquiry through real-time/timeshared terminal programs. These users will not be discussed in this manual.

1.2.1 Timesharing and Batch Users

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

Chapters 2 and 3 of this manual describe all commands and services available together with some examples of how to run various subsystems.

Timesharing and Batch users are known to the system by names which must be presented at the beginning of a terminal session or as the first command in a batch job.

The user name may be protected by a password chosen by the user to prevent unauthorized access to the system.

The user name must be established by those responsible for the system. Timesharing and Batch users access the system in its "background" processing mode, executing programs with a lower priority than time critical real-time programs executing in the "foreground" processing mode. The timesharing and batch processes are normally given processing time on an equal basis in a round-robin fashion.

ND-60.050.06


Page 17

SINTRAN III System

During processing, the user may take advantage of the many functions provided by the SINTRAN III system, including an efficient FILE MANAGEMENT SYSTEM for saving programs or data in permanent or removable file-directories on disk packs, magnetic tapes and cassettes.

Certain commands related to real-time processing and for use by the system supervisors are not accessible by a timesharing/batch user, and if given, will issue an error message. These commands are described in Chapters 5 and 6.

1.2.2 The Real-Time Users

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

Chapter 5 describes the special commands and services. Chapter 4 describes topics such as; Priority Levels, Memory Management, Program Protection, Program Structures, Reservation of logical peripherals and units, and Communication between RT programs. Chapter 7 gives some examples of RT programs and how to load and activate their execution.

The user RT may also use the Timesharing and Batch facilities for program development and testing purposes.

Certain commands related to system supervision are not accessible by user RT and, if given, will issue an error message.

1.2.3 The System Supervisor

The SINTRAN III system recognizes the user name SYSTEM as the user with the most privileged possibilities, capable of creating and deleting users, creating file directories on different devices and entering them so that other users may access files. The user name SYSTEM should also be protected with a password.

Chapter 6 describes special commands and services, together with other information related to this user.

The user SYSTEM may also use the Timesharing and Batch facilities for program development and also has the user RT's capabilities.

ND-60.050.06


Page 18

1.3 COMMANDS AND MONITOR CALLS

The SINTRAN III system provides its users with a large set of control functions which may be activated by a command or from a program by a Monitor Call.

A Command may be entered from a terminal or a batch job file to be checked for validity, and cause the appropriate action to take place. The commands consist of three groups:

Background Commands

  • calling compilers, assemblers, editors, other subsystems and user programs
  • creating, deleting and maintaining files
  • reserving and releasing peripheral devices, etc.

These commands may be used by all users.

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.

These commands may only be used by the users RT and SYSTEM.

System Commands

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

These commands may only be used by the user SYSTEM.

All commands are described in Chapters 3, 4, 5, and 6 and a complete list is given in Appendix A.

A Monitor Call is a special hardware instruction allowing a user to invoke a large set of service functions, to be executed within the operating system on behalf of the calling program.

ND-60.050.06


Page 19

Technical Documentation

Also, some hardware instructions have restricted usage within a multi-programming, multiterminal operating system. Such instructions have a corresponding Monitor Call function.

As Monitor Call instructions can only be activated through programs written in MAC assembly or NORD PL languages, a set of small subroutines is available for programs written in FORTRAN. Sections 3.5 to 3.7, 7.6 and Chapter 9 give a detailed description of all available Monitor Call functions. A list of all Monitor Calls is given in Appendix B.

ND-60.050.06


Page 20

1.4 Hardware Environments

The minimum hardware configuration required to run SINTRAN III is:

  • NORD-10 standard CPU, including 16K words of main memory
  • Console terminal
  • Paper tape reader

The range of standard peripherals includes paper tape reader and punch, card reader and punch, Teletypes, alphanumeric and graphic display systems, line printers which print 60 to 1500 lines per minute, matrix plotters/printers, cassette tape input/output, magnetic tape stations, 7-track and 9-track, fixed head drums, cartridge disks, A/D-D/A equipment, facsimile transmitting interface modem interfaces and CAMAC interface.

Optional hardware:

  • Main memory up to 256K words, both core and solid state memory in the same system. Multiport access.
  • High-speed direct memory access channel 1M word/sec. in interleaved processing.
  • Up to 4 mass storage controllers (independent of types) used for system and user program storing.
  • No limitation in number of mass storage controllers and types for file and data storage.
  • Moving-head cartridge disks. Up to 4 cartridge disk units per controller and 4.6 or 9.2 Mbytes per unit. Average access time 47.5ms, 156K word/sec. transfer rate.
  • Moving-head disks. Up to 8 disk units per controller with a capacity of 3M or 66M bytes per unit. 38.5ms average access time, and 600K words/sec. transfer rate.
  • Fixed head drum. One drum unit per controller with capacity from 64K to 1024K words per unit. 10.5ms average access time, and 100K words/sec. transfer rate.
  • Magnetic tapes up to 4 units per controller, 7-track, 45 ips, 200, 556 or 800 bpi, 9-track, 75 ips, 800 or 1600 bpi.
  • Magnetic cassette tapes.
  • Card readers 285 or 600 cards/minute.

ND-60.050.06


Page 21

NORDCOM Systems

  • NORDCOM graphic and semigraphic colour display systems.
  • Line printers. Prints from 200 to 1100 lines per minute.
  • Terminals. Hard copy: 10 to 120 characters per second. CRT screen: 10 to 960 characters per second.
  • Graphic plotters and displays.
  • Data communication interfaces.
  • Paper tape readers and punches.

For further information, please contact Norsk Data A.S.

ND-60.050.06


Page 22

1.5 AVAILABLE SUBSYSTEMS

SINTRAN III offers many programming languages, subsystems and utility programs which are extremely efficient tools for the users of the system.

1.5.1 Programming Languages

To let the user implement his applications as easily and economically as possible, SINTRAN III accepts programs written in the following languages:

STANDARD FORTRAN

follows ANSI STANDARD FORTRAN and has ISA Real-time Extensions. The user may call subroutines written in NORD PL and MAC from his FORTRAN program. FORTRAN programs may be executed in all three modes of operation. FORTRAN also has an interactive debugging facility.

NODAL

is an interpreting, higher-level, interactive language especially suited for process control applications. NODAL may be executed in all three modes of operation and may call subroutines in NORD PL and MAC.

BASIC

is an interpreter following Dartmouth College 71 specification. From his BASIC program, the user may call FORTRAN, NORD PL and MAC subroutines. Programs written in BASIC may be executed in timesharing and batch modes.

NORD PL

is a medium-level language especially suited for system programming. By using the NORD PL, the programmer will more quickly write and debug programs, more easily modify them, and make them more reliable and easier to read and understand than using the traditional assembly language. SINTRAN III is written in NORD PL.

MAC

is an assembly language and debugging package for the NORD computers.

Each language translator is accessed by a unique SINTRAN III command.

ND-60.050.06


Page 23

1.5.2 Subsystems and Utility Programs

The following subsystems and utility programs are available to a SINTRAN III user.

FILE MANAGEMENT SYSTEM

SINTRAN III offers the user of mass storage systems a general purpose file management system for use of permanent files, scratch files, and peripheral device files. The system provides a flexible file security mechanism that allows the programmer to specify the degree of security desired. The files may be accessed in sequential or random mode.

SIBAS

SIBAS is a data base system where efforts are heavily placed on the users' possibilities of representing complex data structures and on the separation of application programs from the data base. SIBAS is an extensive tool for applications in business oriented on-line systems and ADP systems. SIBAS data handling routines follow the specification given in CODASYL DATA BASE TASK GROUP, APRIL 71 REPORT.

RT LOADER

RT LOADER enables the user to load RT programs in binary relocatable format onto segments while real-time processing is running.

QED

QED is an interactive program for editing text. It has extensive facilities for inserting, deleting, and changing lines of text, a line editing feature. Text may be read from and written onto any file. QED is extremely efficient for on-line program development.

RUNOFF

The RUNOFF program will help the user to write reports under SINTRAN III by processing the raw text information held in a computer file and provide a printed document of a quality acceptable for publication. The control commands are few and easy to learn.

ND-60.050.06


Page 24

DDC PACKAGE

The Direct Digital Control packages running under SINTRAN III, MEAS, PROCSY and PROSO give the user extensive tools for implementing process control application in his NORD-10 computer. The packages control and process analog signals and perform conventional PID, cascade, ratio and other regulation functions.

NORD IDT

The NORD Intelligent Data Terminal programs allow the user to communicate with Honeywell Bull 6000, IBM 360/370, CYBER 74 and Univac 1108/1110 machines through remote job entry terminal simulators.

In addition, subsystems also include scientific and statistical program libraries such as, the Scientific Subroutine Package (SSP) written in FORTRAN.


Page 25

PREPARING AND EXECUTING TIMESHARING JOBS

This chapter gives a few examples of how to run a timesharing job from your terminal.

The first step of a job is always to log in, the last is to log out. These steps are described in Section 3.3.1.

The steps in between may be very simple, i.e., calling a processor of some kind with the RECOVER command (see Section 3.3.2.1).

ND-60.050.06


Page 26

2.1 A Run Using QED, The Text Editor

  1. Turn on the terminal. Turn on the on-line switch.

  2. Press "Escape" (the ESC key).

  3. The terminal responds with the time of day, the date, and the word ENTER.

  4. Type the user name, followed by cr (carriage return). You must be known by the system as a user before you may enter.

  5. The terminal responds by printing PASSWORD.

  6. Type your password. If you have none type cr. Remember that the password will not be echoed on your terminal.

  7. The terminal responds with OK.

  8. If the accounting system is active the terminal will print PROJECT-NUMBER. Answer this by typing a project number (a decimal number), followed by cr.

  9. The terminal prints the character @. This means that it is expecting a command.

  10. Type QED then cr (or RECOVER QED cr).

  11. The terminal responds with

    QED 3.4
    *

    This means that QED is ready to accept commands. (Refer to the QED Users Guide for details.)

  12. As a very simple QED run, we will type a few lines of text, list them on the terminal, and write them on a file. Type A cr (this is the append command). Type the following lines:

    THIS IS MY FIRST SYMBOLIC FILE cr
    I AM GOING TO PUT IT ON A DISK FILE, cr
    WITH THE NAME I-MADE-IT cr
    (CTRL)L

    When you finish a line with cr, QED responds with lf (line feed).
    (CTRL)L is a control character which finishes your text. It is typed by pressing the control key and the L key simultaneously. It will not appear on your terminal.

ND-60.050.06


Page 27

Technical Instructions

  1. QED responds by printing *.

  2. Type L1, $ cr and all your text will be printed on the terminal. QED will finish it by printing *.

  3. Type W/‘I-MADE-IT’/ cr. The quotation marks tell QED that this is a new file. If the file already exists, the quotation marks must not be used.

  4. QED creates the file and writes the text on the file. Later, it prints on your terminal:

    48 WORDS WRITTEN
    *

  5. Type F cr, and you will leave QED.

  6. The terminal responds by typing @. You have now left QED and have returned to the system.

  7. Type LOG cr. This is the log-out command.

  8. The terminal responds by typing the time of day, the date, and -- EXIT --.

  9. We are now back where we started.

ND-60.050.06


Page 28

2.2 A RUN USING BASIC

  1. To log in, follow steps 1 to 9 in Section 2.1.
  2. Type BASIC cr.
  3. The terminal responds
    BASIC ON LINE
    NEW OR OLD ___
  4. Answer by typing NEW cr.
  5. The terminal responds
    NEW PROGRAM NAME ___
  6. Answer by typing OLA cr or another name of your choice.
  7. The terminal responds
    READY
  8. Type on the terminal
    10 PRINT "THIS IS MY FIRST BASIC JOB" cr
    20 END cr
    RUN cr
  9. The terminal prints
    THIS IS MY FIRST BASIC JOB
    DONE
  10. To leave BASIC, type BYE cr
  11. The terminal prints
    EXIT BASIC
  12. Type LOG cr, as in steps 19 to 21, Section 2.1.

This is a very simple BASIC job. If you wish to do more complicated jobs refer to the BASIC Reference Manual.

ND-60.050.06


Page 29

2.2.1 The Execution of a BASIC Program from a QED File

It is possible to have a BASIC program on a disk file (written by QED – see Section 2.1). The above example should be changed as follows (assume that the disk file is named COMPLIC):

  1. Answer by typing OLD cr.

  2. The terminal responds

    OLD FILE NAME _ _

  3. Answer by typing COMPLIC cr

  4. The terminal responds

    WAIT FOR READY _ _

    The READY message is given after the file has been fetched.

  5. Type on the terminal

    RUN cr

2.2.2 The SAVE and GET Commands

Files may also be manipulated directly from BASIC. If you have typed in a BASIC program, you can save it on a disk file by the SAVE command. SAVE "file-name" cr if it is a new file, or SAVE file name cr if the file already exits.

A file may be fetched from the disk by the command GET:

GET cr

ND-60.050.06


Page 30

2.3 AN FTN (FORTRAN) RUN

For a more detailed description of the FTN compiler and the binary loader (BRL), refer to the appropriate manuals.

It is assumed that the following symbolic FTN program is already on a disk file called MARY. It can be put there by QED, see Section 2.1:

PROGRAM MARY
WRITE (1,10)
10 FORMAT (*1 MARY HAS BEEN EXECUTED *)
STOP
END
EOF
  1. Log in as described in steps 1 to 9 in Section 2.1.

  2. Type FTN cr.

  3. The terminal responds with

    NORD FTN
    $
    
  4. The dollar sign means that the FTN compiler is ready to accept commands. Type:

    COM MARY, TERM, "MARY" cr
    
  5. The compiler will now compile your program, list it on the terminal, and put the resulting BRF code (Binary Relocatable Format) on a new file called MARY (or MARY:BRF).

    If this file already exists, the quotation marks should not be used as they are used only when starting a new file. Note that the file MARY with your symbolic FTN program has the file type SYMB (MARY:SYMB) so the system can distinguish between the two MARY's. See Section 3.2.3 for further explanation.

    In some systems, the terminal is not named TERM, but TELETYPE. In this case, the command in step 4 above should be

    COM MARY, TELE, "MARY" cr.
    
  6. After compilation, the FTN compiler prints:

    6 STATEMENTS COMPILED
    $
    

on the terminal.

ND-60.050.06


Page 31

Technical Instructions

  1. Type EX cr to leave the compiler.

  2. The terminal responds by printing @.

  3. Type LDR cr.

    This is a command to fetch the loader (BRL, expanded by the run-time system).

  4. The terminal responds by printing

    BINARY LOADER
    L*
    
  5. L means that the loader is ready to accept commands. Type A MARY cr and your program will be loaded. After loading, the loader prints L.

  6. If you wish you may type:

    W1 cr
    

    The loader responds by printing a table of entry points (in this case MARY = 060000), the address of the first free location, and the address of blank common.

  7. Type S cr to start your program. The terminal will print

    MARY HAS BEEN EXECUTED
    octal address STOP 0
    @
    

    You are then back in the system.

  8. Type LOG cr as in steps 19 to 21 in Section 2.1.

2.3.1 FORTRAN Compiler Commands

The set of FTN compiler commands includes, among others, CLC and DEBUG.

  • CLC cr, or
  • CLC octal number cr,

    means if you list your program during compilation, every FTN statement will be preceded by an octal address, starting with the number in the CLC command. CLC cr is equivalent to CLC 0 cr.


ND-60.050.06


Page 32

Debugging Purposes

This may be very useful for debugging purposes when the program is loaded. By looking at the entry point list from the loader (W1 command) and your compilation list, you will be able to locate every FTN statement in memory.

Some error messages (run-time errors) print the octal address at the beginning of the FTN statement where the error occurred. By means of the debugging routine DEBUG it is possible to execute the FTN statements, one by one, to introduce breakpoints and trace functions, to display the contents of the different variables and to change their values by referring to their names, etc. These functions are performed dynamically at run-time.

The debugging routine must be introduced as a reference point by the command DEBUG at compile time and loaded by the loader with the command A DEBUG.

This routine is most useful for FTN debugging. See the NORD STANDARD FORTRAN REFERENCE MANUAL (ND-60.011) for details.


Page 33

2.4 THE COMPILATION OF A SIMPLE NORD-PL PROGRAM

Suppose the following simple NORD-PL program has been written onto the file NPL1 with the QED processor:

SUBR SORT                        % START OF SORT
INTEGER I1, I2, I3, I4
INTEGER ARRAY I1(12)
SORT:A=:0; * MON 4              % SET BREAK MODE

O:=I1
I1=:12
FOR I1 TO I2 DO
    T=:1; * MON 1; MON 65       % INPUT 1 ELEMENT
    A BZERO 7                   % CLEAR PARITY BIT
    A=: I1(I1)
OD

O=:I1
I0=: I2
FOR I1 TO I2 DO                 % PERFORM SORTING
    I1 + 1 =:I3
    FOR I3 TO I2 + 1 DO
        IF I1(I1)<I1(I3) THEN
            A=:I1(I1)
            T=:I1(I3):=I1(I1)
            A=:I1(I3)
        FI
    OD
OD

O=:I1; I1=:I2
A=:15; T=:1; * MON 2; MON 65    % CARRIAGE RETURN
A=:12; *MON 2; MON 65           % LINE FEED
FOR I1 TO I2 DO
    A=:I1(I1)
    T=:1; *MON 2; MON 65        % WRITE 1 CHARACTER
OD

*MON 0                          % RETURN TO SINTRAN III
RBUS                            % END OF SORT
@EOF

The program will read 10 characters from the terminal, sort them in descending order by the ASCII code, and write them out on the terminal.

ND-60.050.06


Page 34

Compiling the NPL Program

The programmer now wants to compile the NPL program, get a program listing on the terminal and write the object program on the symbolic file MAC2. This is done as follows:

  1. Log in. Do as in steps 1 to 9 in Section 2.1. The terminal prints @.

  2. Type NORD-PL cr. The terminal answers:

    NORD-PL 74.12.07.
    
  3. Type @DEV NPL1, 1, MAC2 cr

  4. The compiler now prints the symbolic NPL program on the terminal and writes the symbolic MAC program (object program) on the file MAC2. Error messages are printed on the terminal.

The MAC assembly program should now be assembled by the MAC assembler and started as a MAC program.

For a complete description of the facilities offered by the NORD-PL compiler, see the manual NORD-PL Users' Guide.

ND-60.050.06


Page 35

2.5 A Run Using the MAC Assembler

In the following, we will use as an example, a program (written in MAC) that

  1. outputs a question mark on the terminal
  2. reads a file name from the terminal
  3. opens the file
  4. copies the file to the terminal
  5. exits when it encounters the end-of-file character (027).

We assume this program is already on a file written by QED. The file has the name EXAMPLE. This file should be written in an orderly and readable manner.

Before writing the program on the file, one should use the QED-command MTO(0) to eliminate the tab characters, as our program EXAMPLE does not expand tab characters.

Here is the program.

Command Argument Comment
TOR, SAA ##? % ASCII CODE OF ?
SAT 1 % LOGICAL UNIT NUMBER
MON 2 % OUTPUT ONE BYTE
MON 065 % ERROR MESSAGE
SAX 0 % READ FILE-NAME FROM TERMINAL
SAT 1 % OPEN FOR SEQUENTIAL READ
LDA PER % ADDRESS OF FILE TYPE
MON 050 % OPEN FILE
MON 065 % ERROR MESSAGE
STA FILIN % SAVE THE FILE NUMBER
AGAIN, LDT FILIN % READ A CHARACTER FROM
MON 1 % THE FILE
MON 065 % ERROR MESSAGE
AAA -027 % END-OF-FILE CHARACTER?
JAF ' +2 % NO
MON 0 % YES. RETURN TO SINTRAN III
AAA 027
SAT 1 % WRITE THE CHARACTER ON
MON 2 % THE TERMINAL
MON 065 % ERROR MESSAGE
JMP AGAIN % TAKE NEXT CHARACTER
Additional Symbols
PER, FTYPE
FTYPE, #SY
#MB
Variable Initialization
FILIN, 0
Commands
)WRITE TOR FILIN
)LINE

ND-60.050.06


Page 36

MAC Assembly Instructions

If some of the points below are not clear to you, consult your MAC Manual.

  1. Log in as in Section 2.1 — steps 1 to 9.

  2. Type MAC cr.

  3. When MAC is ready to accept input from the terminal, it prints cr lf.

  4. Type )CLEAR cr to clear tables, etc.
    Type (WRTM cr to set MAC in write mode.
    Type 040000/ to set current location counter to 040000.

  5. MAC responds by printing the contents of location 040000 on the terminal.

  6. Type )9ASSM EXAMPLE cr.
    MAC will now assemble the file EXAMPLE.

  7. When assembly is finished, MAC prints

    TOR:040000 FILIN:040030
    

    This means that the instruction labelled TOR is in location 040000, and the constantly labelled FILIN is in location 040030.

  8. Type *:
    MAC responds by printing 040031. This means that current location counter is now 040031, i.e., your program occupies locations 040000 < 040030.

  9. Type ?
    MAC responds by printing cr lf. This means that there are no undefined symbols, i.e., the assembly seems to be correct.

    If there had been undefined symbols, or labels, say LAB1, you could type LAB1 and get the octal reference addresses. This would show you the address of the instruction or constant that referred LAB1.

  10. Your program may be executed if you type

    TOR! or 40000! (40000 is the default start address)
    

    But if you want to execute the program many times, you should dump it on a disk file as follows:


ND-60.050.06


Page 37

Instructions

  1. Type )9TSS

    The terminal responds by printing @.

  2. Type DUMP "EXAMPLE" 040000 040000 cr

    Now your program will be dumped on a new file called EXAMPLE:PROG, with start address 040000. The start address is used when you apply the RECOVER command, and the restart address is used after the program has been interrupted (or it has terminated) and you type CONTINUE.

  3. After the dump is finished, the terminal prints @. Type

    EXAMPLE cr

    and your program is fetched and entered. It will print ? on the terminal.

  4. You may now copy a file to the terminal. Type

    EXAMPLE cr

    and you will get EXAMPLE:SYMB listed on the terminal.

    If you should type the file name incorrectly, you will get an error message and return to the system (because of MON 065). To try once more, type CONTINUE cr.

  5. After the execution of the program, you might like to see what the contents of FILIN (the file number of the opened file) was. Type:

    LOOK-AT CORE cr.

  6. The terminal responds READY:

  7. Type 040030/.

  8. The terminal responds 101 which is an octal file number. Type @ to get back to the system.

  9. If you would like to see the contents of your registers when execution has finished, type

    STATUS cr

    and you will get a list of the register contents (A should be zero! ).

  10. Finally, log out as in steps 19 to 21 in Section 2.1.

ND-60.050.06


Page 38

3 TIMESHARING AND BATCH USERS

3.1 INTRODUCTION

This chapter is related to the user category which uses the SINTRAN III system for program development, testing and executing programs in the background environment of the system.

The information in this chapter relates also to the users RT and SYSTEM, though their special tasks are described in Chapters 5 and 6.

This chapter describes the various services the users may obtain from the SINTRAN III system, and is divided into sections covering the many Commands, Monitor Calls and Utility functions the users may activate to acquire these services.

3.1.1 Timesharing Users

This name has been used to cover all users who activate the SINTRAN III system from an interactive terminal. This activation may consist of: typing commands to start execution of a program (whether it is a private program or a subsystem provided by ND), debugging the program by inspection and change of locations within the user's virtual memory space, or by typing source program lines through the editor QED for later compiling or assembling into a running program unit.

All these tasks may be executed in a multiprocessing, multiprogramming environment with many simultaneous users at their terminals, even local or remote batch processing, all requiring an equal share of the main system resource: the Central Processing Unit.

This resource is divided among the requestors so that available CPU time, after high-priority real-time processes have been executed, is given to each user in a short fraction of time, a time-slice, where the system is devoted to his task. As most users are not able to fully utilize the CPU for a complete time-slice, due to input or output of data from or to files or peripheral devices, this time-slice may be terminated by the system so that other users may have the CPU while the system performs the tasks of reading or writing data to and from the program.

In this way, the system will share the CPU resource between active terminals and other processes, and give each terminal a priority level which may later be used when selecting the process to be activated from those that are waiting and ready to continue their task.

The process described above is handled by the SCHEDULER part of the SINTRAN III system, where terminals are assigned a priority of 60, 50, 40 or 20, (octal) within a priority scheme ranging from 377 (octal) as highest priority to 0 as lowest priority.

ND-60.050.06


Page 39

Priority Assignment and Time Slice Allocation

A priority of 60 is assigned to a terminal process when typing a control character such as carriage return. The process is also given a time-slice of 1 second, thus, securing a fast response to the interactive user. If this is not enough, the user will receive 4 seconds more, but now on priority 50. If his program is still running, it will then be considered to be a CPU-bound program and put into the time-slice queue. Each program in the time slice queue will, in turn, have a time-slice with priority 40. The other programs waiting for time-slice will have priority 20. The size of the time slice may vary from 4 to 14 seconds, depending on the terminal activity.

The figure below illustrates the priority scheme:

Figure 3.1: The Change in Priority for Timesharing and Batch Jobs

3.1.2 Batch Users

This name has been used for users executing their tasks in different Batch Processors. The SINTRAN III system may have one or several independent Batch Processor tasks, each processor having its own priority.

A user may append Batch jobs to these processors by building Batch-Input-Files on disk or punched cards.

A Batch-Input-File contains all necessary commands and user data, and may contain one or more tasks. A task is, for instance, compiling a FORTRAN program. Another task could be loading and executing the program, etc. Tasks are activated with the same type of commands as for the interactive terminals.

As batch jobs are processed independently of the ongoing terminal activity for the same user, two special commands should be used to identify the user and to terminate the Batch-Input-File.

ND-60.050.06


Page 40

Batch Processing

Batch-Input-Files on disk may be appended by the terminal user to the Batch-Processor-Queue with the command @APPEND-BATCH, or a deck of cards may be given to an operator.

A detailed description of the Batch-Processor and related commands is given in Section 3.7 — Batch Processing.

Almost all commands may be executed within a Batch-Job except those that are interactive. The commands themselves, including necessary parameters, must be contained on a single line or card.


Page 41

3.2 THE FILE MANAGEMENT SYSTEM

This system, although it may be viewed as a separate system, is an integral part of the SINTRAN III, and adds powerful file management functions normally found on large computers.

A complete description is given in the manual NORD FILE SYSTEM, ND-60.052.

A short description of the most common commands is given in Section 3.5, and some special commands for the user SYSTEM is given in Chapter 6.

A short introduction to some of the file concepts is given below.

A 'file' in this context means a collection of records or blocks, ordered randomly or sequentially. The File Management System manipulates files on disks, drums, magnetic tapes, cassette tapes or standard peripherals. Files on disks, drums and magnetic tapes are treated in a uniform manner. The storage unit is always 1024 words (2K bytes), however, the user may address files with any other block size.

A file is named with a character string, and this name is used in all commands to the file system. When a file is accessed, the file name must be connected to a file number and this number is used in the access routines.

Each file has one owner who has to be defined as a user in SINTRAN III. The owner is normally the user who created the file. A file is always allocated in the owner's area on the mass storage device (directory). Each user may declare up to eight other users as friends and give them privileged access possibilities to his files. Other users are regarded as public users.

The File Management System provides individual protection of files, with separate protection modes for the owner, owner's friends and the public users access of the file.

ND-60.050.06


Page 42

3.2.1 File Directories

Files are collected into file directories, containing files for one or more users. Each mass storage device maintained by the system (disks, drums and magnetic tapes) may be used to contain a file-directory, and is completely independent of all other devices. File-directories contained on removable media as disk packs or magnetic tape reels may be moved to other installations and used there.

Each device medium (pack or tape reel) to be used as a file-directory must be created with a name and entered before it can be used by the system. When a directory is not needed anymore, it must be released and dismounted. The next time it is needed, it must be mounted and entered again, etc.

The first file-directory entered (usually where SINTRAN III resides together with related subsystems) is regarded as the main directory. The main directory is the last directory that can be released, and it cannot be released if any users are logged in.

3.2.1.1 Creating Users and Reserving Space

Before a user can establish files in a directory, the user name must have been defined in that directory by the @CREATE-USER command, and space must have been reserved by the @GIVE-USER-SPACE command. Such commands, which manipulate file-directories, are restricted so that only the user SYSTEM may activate them.

Users may be created on several file-directories, but must have been created on the residing main-directory. All information about a user's friends and their access privileges is kept in the main-directory, together with the user's declared password. Before logging in on a terminal or starting a batch-job, the user name must have been declared in the main-directory, but need not have space reserved on that directory.

3.2.1.2 Default Directories

Any directory entered may be declared as a default directory by the command @SET-DEFAULT-DIRECTORY. This means that the users need not specify the directory name when creating or accessing files in this directory. A user should not be given space in more than one default directory. If he has, he must still specify the directory name as a prefix to the file name. Main directory is always default.

ND-60.050.06


Page 43

3.2.2 Creating Files (Indexed and Contiguous Files)

A file may be created for the first time by the @CREATE-FILE command or by, for instance, the @OPEN-FILE or the @DUMP commands, with the file name surrounded by quotation marks. All subsystems and user program files may be created in the same way by simply enclosing the name in a pair of quotation marks.

Files created by the @CREATE-FILE command with the number of pages greater than zero are allocated on a contiguous area on the mass storage device and are defined as contiguous files. Such files may only be given more pages by means of the @EXPAND-FILE command.

Files created by the @CREATE-FILE command, (or created in other ways) with the number of pages equal to zero, may have their pages scattered throughout the mass storage device and are defined as indexed files. The size of these files may be expanded by new pages, dynamically, as the user writes onto the file. The indexes are kept on a separate page belonging to the file, so that an indexed file always needs one page more than a contiguous file with the same contents. Indexed files cannot be expanded by the @EXPAND-FILE command.

See also Section 3.4.1.

3.2.3 File Types

In addition to the file name, an alphabetical file type is added to the file name to designate the purpose of the file. This file type may be set by the user as a 4 character extension of the file name, separated by a colon (:). The following file types are used as default when creating/accessing files in various subsystems:

File Type Description
:SYMB symbolic program file
:BRF binary relocatable file
:PROG absolute program in executable format
:CORE core-image file
:BIN binary absolute program
:DATA users data files

With these file types, a program may take advantage of the same name for all different files. The various subsystems will access the proper file as its input or output file when the file name is given. (See the example in Section 3.2.7.) Otherwise, the user is free to introduce any other file type when he creates a new file.

ND.60.050.06


Page 44

3.2.4 File Versions

Files may also be created in one or more versions, that is, complete copies of the file, so that the last version written is version 1, the previous version is 2, etc. When a file is created in more than one version, the operating system will access the one with the highest number when opened for write (and afterwards change the version no. to 1) and the version 1 when opened for read.

The user may also specify a certain version of the file to be accessed by appending the version number to the file name and file type, separated by a semicolon (;). New versions of an existing file may be established by the command: @CREATE-NEW-VERSION , or by printing the version number within quotes by, for instance, the command: @OPEN-FILE FILE1:DATA; "4", R.

The command @CREATE-FILE FILEX;3,10 will create 3 versions of the file FILEX — each version with 10 pages.

3.2.5 File Protection and Accessing Modes

A file may be accessed in many different ways. The access mode of a file is specified as a parameter to the OPEN-FILE command, and may be a combination of the following characters:

Character Description
R read access
W write access
X random access
A append
C common access (write allowed for more than one user simultaneously). Only allowed on contiguous files.

Only certain combinations are legal. See Sections 3.4.5.1 and 3.5.1.1.

The access mode may be restricted, either due to physical reasons or because the file is protected by some access modes. Legal access is defined for the three groups of users: Owner, Friends and Public users.

The legal access to a file may be changed by the @SET-FILE-ACCESS command for each user group, and may be a combination of the following characters:

Character Description
R read permitted
W write permitted
A append permitted (the file may be expanded)
C common access permitted
D directory access permitted (the file may be created, deleted, legal access mode changed and new versions created)
N no access permitted

ND-60.050.06


Page 45

Default File Access

Default file access when a file is created is:

for PUBLIC: read permitted
for FRIENDS: read, write and append permitted
for OWNER: all

3.2.6 Friend’s Access

To allow a group of users access to his files the owner must have defined these users by the @CREATE-FRIEND command. Each defined friend may be declared with different access restrictions by the @SET-FRIEND-ACCESS command, and may be a combination of the following characters:

Character Description
R read permitted
W write permitted
A append permitted
C common access permitted
D directory access permitted, or
N no access permitted

Thus, a friend’s access to a file is defined both by his access allowed in general (with the @SET-FRIEND-ACCESS command) and by the friend access permitted to the file in question (defined with the @SET-FILE-ACCESS command).

When accessing a file belonging to another user, the file name must be preceded by the user’s name enclosed in parenthesis. If the file in question does not reside on that user’s default file-directory, both the file-directory name and user’s name must precede the file name, the two first names are separated by a colon and enclosed in parenthesis.

Owners accessing files in other than the default directory must also let the file-directory name precede the file name, and the directory-name must be enclosed in parenthesis.

Default friend access when a friend is created is: read, write and append. See also Section 3.4.2.

3.2.7 Summary of File-Name

A complete file name may be a construction like:

(<file-directory-name>:<owner-name>) <filename>:<type>; version

where file-directory-name, owner name, and filename may consist of 1 to 16 characters, filetype may consist of 1 to 4 characters, and version-number range is from 1 to 256.

ND-60-050.06


Page 46

Example

(PACK-FOUR:USER-ONE) FILE —3:SYMB;1

The names and file type may be abbreviated as long as it does not become ambiguous, and a special character, the "—", may be used to divide the names into subparts, each of which may also be abbreviated.


Page 47

3.3 UTILITY COMMANDS

When a terminal or a batch job is initiated under SINTRAN III, it is first connected to the Command Interpreting Processor (CIP) which reads each command line from the terminal or batch input device, checks its validity, and performs the requested action. After a particular command is executed, or when a user-program or a subsystem terminates, the control is returned to the CIP.

In this manual, all commands shown are preceded by a @, which is the CIP’s leading character.

During a terminal session, this @ is printed automatically to indicate that the previous action is terminated and that SINTRAN III is ready for a new command. Note that this @ character should not be typed by the user.

When submitting batch jobs, or reading commands from other devices than the terminal, all commands must start with the @ character to recognize them as commands.

A command is a string of characters separated into words by a comma or a number of spaces. The first word is the command name, followed by parameter words if necessary.

In batch jobs the command name and all parameters must be contained on one line or card. In the terminal session missing parameters will be requested by CIP.

Certain parameters may take a default value which will be used if the parameter word is omitted, by giving the comma separators or by responding with a carriage return when the parameter is asked for.

Command names and parameter words may be abbreviated by giving sufficient characters to distinguish it from other permissible values. A special character, the “-”, is used to separate words in two or more distinct parts. Any part may be abbreviated as long as it doesn’t become ambiguous.

Consider, as an example, the commands @LOAD-BINARY and LIST-FILE. One way in which the first command may be typed is:

@LOAD
@LOAD-B
@L-BINARY
or
@LO-BI

ND-60.050.06


Page 48

The Second Command

The second command may be typed as:

  • @LIST-FI
  • @L-FIL
  • or
  • @LI-FI
  • etc.

However, if only L is typed, the CIP will respond with the error message:

AMBIGUOUS

This abbreviated look-up function may also be utilized by the user when typing names of files and devices, except when naming a file the first time.

Any typing errors may be corrected before the command line is terminated by the carriage return, as follows:

  • Depressing the CONTROL key together with A deletes one character at a time, responding with → for each, and
  • Depressing the CONTROL key together with Q deletes the whole line, responding with ← and allowing a new line to be typed.

The editing is valid throughout the whole system whenever a type-in is requested.

ND-60.050.06


Page 49

3.3.1 Starting and Terminating a Terminal-Session

3.3.1.1 LOGGING-IN

A terminal is activated by pressing the "escape"-key on the keyboard of the terminal.

The Command Interpreting Processor types out the time and date, and asks for the user’s identification (created for him by user SYSTEM) by typing out

ENTER

and waits for the name, terminating with a carriage return. A protecting password, chosen by the user himself, is asked for by typing out

PASSWORD:

and waits for the password to be typed. The password is only read by the CIP, and not typed out clearly at the terminal, to avoid unauthorized access to the system

When the user-name and correct password is checked, the CIP types out

OK.

If the user-name is not defined or an incorrect password is given, the ENTER line is repeated.

A project number is asked for if the accounting system has been initiated by the user SYSTEM. The project number is used to collect the computer time and terminal time a session has lasted.

The CIP types out

PROJECT NUMBER:

and waits for the user to type in the project number this session should be accounted to. When logging out, the duration of this session is typed out.

After this log-in procedure is finished, the CIP types the @ character, and waits for a command to be given.

ND-60.050.06


Page 50

3.3.1.2 LOGGING-OUT

When the terminal-session is finished, the user should log out from the system by giving the command

@LOGOUT.

The time and date is typed together with the time-used information if the ACCOUNTING system is active. A finished line with

--EXIT--

shows that the terminal is inactive, and power may be turned off.

3.3.1.3 DIALED-UP TERMINALS (DUPLEX, ECHO)

For users that access the system through dialed-up telephone lines, the log-in procedure starts when the high-pitch-tone is heard. The "escape"-key may now be pressed. Terminals are normally connected in full duplex mode, which means that the user can type in simultaneously while the system is typing out. Such type-in's are hidden until the system retransmits, echos, the received characters in their proper place in the generated type-out. A certain amount of commands or other information may, in this manner, be sent to the system without being lost.

3.3.1.4 PASSWORD

The previously mentioned password may easily be changed by the command

@CHANGE-PASSWORD ,

The old password must be correctly specified to change the password. A password may consist of any characters (including control characters) except carriage return.

3.3.1.5 THE "ESCAPE"-KEY AND THE "BREAK"-KEY

After the log-in is performed, the pressing of the "escape"-key or "break"-key will interrupt a command, a subsystem or a user-program which is running, and control is returned to the CIP.

If a user-program or subsystem was active, a message indicating where the program was interrupted is typed out:

USER-BREAK AT P-XXXXXX8

ND-60.050.06


Page 51

Execution of a User-program or Subsystem

THE RECOVER COMMAND

This command retrieves a program file previously created by the DUMP command, and starts execution of it.

The format is:

@RECOVER <filename>

When starting programs in the user's own file-directory, or subsystems under the user SYSTEM, the word RECOVER can be left out. The file name itself becomes a recovering command.

In other words, instead of typing:

@RECOVER MAC
@RECOVER FTN
@RECOVER BASIC
@RECOVER MYPROGRAM

one may simply type:

@MAC
@FTN
@BASIC
@MYPROG

The file type is by default :PROG. The execution begins at the start address specified in the @DUMP command.

The search in the file-directories will be performed as follows:

  • The file-directory, where the user giving the command is given space, will be searched first. If not found, the user SYSTEM's file-directory is searched.
  • If a user name is specified in the file name, only that user's file-directory will be searched.

Page 52

Creation of an Executable Program

3.3.3.1 THE DUMP COMMAND

This command saves the contents of the user's virtual memory plus the central registers on the specified file.

The format is:

@DUMP

where

must be a disk-file, which must be specified in the RECOVER command for later retrieval. The file type is by default :PROG.

is the address where the program should begin execution.

is the address where the program should be reentered with the @CONTINUE command.

The amount of virtual memory to be saved may be specified by the @MEMORY command, if not, values set by the previous @LOAD-BINARY, @PLACE-BINARY or @RECOVER commands will be in effect.

3.3.3.2 THE MEMORY COMMAND

This command defines the area to be saved by a DUMP command.

The format is:

@MEMORY

where the boundaries may be specified by an octal address between 0 and 177777. However, the total size of the area should not exceed 177777.

ND-60.050.06


Page 53

Restarting Execution of a Program

A program may be restarted after it has terminated or been interrupted by the "escape"-key, or by the "break"-key.

3.3.4.1 THE CONTINUE COMMAND

This command is used to restart the execution of a program previously started by the @RECOVER command.

The format is:

@CONTINUE

The program is restarted in the <restart address> specified in the @DUMP command.

3.3.4.2 THE GOTO-USER COMMAND

This command is used to start execution in the user's virtual memory, at an address specified.

The format is:

@GOTO-USER <address>

where the <address> is an octal value of the first instruction to be executed.

The command is usually used after the program has been interrupted, by means of the "escape"-key, and when the user wants to continue execution at the address where the interrupt occurred.

Remember that all opened files are closed when a program is terminated or aborted, unless the command @SET-PERMANENT-OPEN has been used.


Page 54

3.3.5 Loading a Binary Program

Binary program files on disk or paper tape, previously created by the )BPUN command in the MAC assembler, may be loaded into the user's virtual memory by the following commands.

3.3.5.1 THE LOAD-BINARY PROGRAM

This command reads the specified file into user’s virtual memory and starts the execution of the program.

The address used for loading and starting is found in the program file, written there by the )BPUN command in MAC.

The format is:

@LOAD-BINARY

While loading, a checksum is generated and compared with the checksum-word in the program file itself. Execution will not be started if the checksum differs.

3.3.5.2 THE PLACE-BINARY COMMAND

This command is the same as @LOAD-BINARY, except that the program is not started. This may be done by the @GOTO-USER command.

These two commands "simulate" the action of pressing MASTER-CLEAR and LOAD buttons on a stand-alone NORD-10.

Programs in Binary Relocatable Format (BRF) should not be loaded by the previous commands, but by means of one of the link-loaders:

Command Description
BRL the binary relocatable loader, or
LDR the binary relocatable loader, including FORTRAN run-time and library system, or
OVLDR The FORTRAN overlay loader.

ND-60.050.06


Page 55

3.3.6 Examination of User's Registers and Memory Contents

Two commands have been implemented by which the user may inspect and change the contents of any memory location within the virtual memory space, and of the user-accessible registers.

3.3.6.1 THE STATUS COMMAND

This command prints on the terminal the contents of the registers.

The format is:

@STATUS

The register contents are given as octal numbers. The type-out is as follows:

Register Description
P=xxxxxx program counter
X=xxxxxx post-index register
T=xxxxxx temporary register
A=xxxxxx accumulator
D=xxxxxx double accumulator
L=xxxxxx subroutine link address register
S=xxxxxx status register
B=xxxxxx pre-index (base) register

The register contents will always reflect the user’s virtual memory, and will not be changed when executing system commands.

3.3.6.2 THE LOOK-AT COMMANDS

This command may be used to examine and modify memory locations and registers.

The format is:

@LOOK-AT \<space-reference>

where \<space-reference> may be

  • MEMORY: meaning user's virtual memory space. This is allowed for all users.
  • SEGMENT: A real-time program segment on mass storage may be reached. A segment number must be given as an additional parameter. This is allowed only for the users RT and SYSTEM. A modification causes a permanent change of the specified location on the segment.

ND-60.050.06


Page 56

Technical Documentation

RTCOMMON

Locations of the common area for RT programs may be reached. This is allowed only for the users RT and SYSTEM. A modification takes place in the memory and leads only to a temporary change of the specified location. The next time SINTRAN is loaded, the "old" values are retained.

IMAGE

Locations of the memory image of the resident part of SINTRAN III on mass storage can be reached. This is allowed only for the user SYSTEM. A modification causes a permanent change of the specified location.

RESIDENT

Locations of the resident parts of the SINTRAN III operating system can be reached. This is allowed only for the user SYSTEM. A modification takes place in the memory and leads only to a temporary change of the specified location. The next time the corresponding core-image is loaded to the memory, the "old" values are retained.

When the <space-reference> given has been checked for legality, and made available if mass storage segments are involved, the message READY is typed.

To examine a location, the octal address should be typed followed by a slash (/). The octal contents will then be printed. The contents may now be changed by typing an octal value, followed by a carriage return. If only a cr, without a new value, is given, the contents remain unchanged and the contents of the next location are printed.

If an asterisk (*) is typed, the current address will be printed.

The contents of registers can be addressed in the same way, using a single letter to specify the register. The letters are:

P, X, T, A, D, L, S, B.

When a character not mentioned above is typed, the command is terminated and control will return to normal control mode.

If locations on mass storage segments are changed, the pages will be written out so that "patches" will be made permanent. Locations changed in the user's virtual memory or the resident part of the operating system are changed temporarily. They may be altered when loading a user program or reloading the system.

This command is also mentioned in Sections 5.4 and 6.4.3.

ND-60.050.06


Page 57

3.3.7 Obtaining System Information

Certain commands may be used to obtain various information from the system.

3.3.7.1 THE DATCL COMMAND

This command prints the current setting of clock and date.

The format is:

@DATCL

The print-out has the form:

hour.minute.second date month-name year
for instance:
09.00.01 31 JANUARY 1975.

3.3.7.2 THE TIME-USED COMMAND

This command prints the CPU time and the terminal time used since the user ENTERED or a batch-job is started.

The format is:

@TIME-USED

The print-out has the format:

TIME-USED MIN SEC (CPU time)
OUT OF MIN SEC (terminal time)

3.3.7.3 THE WHO-IS-ON COMMAND

This command lists the terminal number and the name of the users entered.

The format is:

@WHO-IS-ON

ND-60.050.06


Page 58

3.3.7.4 THE WHERE-IS-FILE COMMAND

This command may be used to see if a peripheral device as line printer, tape reader and so on is occupied by another user or free to use. It may also be activated concerning a file in one of the directories entered.

The format is:

@WHERE-IS-FILE

Where <file-name> may be any name defined for a peripheral device or for an existing file in an entered directory.

If not in use, the message "FREE TO USE" is printed, if already occupied the message

ALREADY RESERVED BY THE USER
AT TERMINAL-NO

is printed.

3.3.8 The MODE Command

This command has been implemented to allow a user to execute a set of commands and other input responses, previously stored on a disk file, punched on paper-tape, or comprised of a card-deck.

The format is:

@MODE

where

is the file name or device unit from which SINTRAN III will now take input lines, until the end of file or another @MODE command is detected,

is the file name or device unit on which commands are listed together with the command output, if any. If the user program reads or writes data on device unit number 1 (file name: TERMINAL), such data will be taken from the and written on the . ND-60.050.06 --- ## Page 59 # Command File Execution If the end of file or a command @MODE 1,1 is reached on the ``, the control will be returned to the user's terminal. The execution of the command file will continue running under the user currently logged on the terminal from where the initial @MODE command was issued. The execution may be interrupted by typing the "escape"-key but may not be continued as all opened files will be closed. The last process initiated may be continued by typing the @CONTINUE command. Should error condition occur within a @MODE job, the offending error message will be written on the ``, and the message ***BATCH JOB ABORTED*** will be typed on the terminal and the execution terminated. Within a @MODE file all commands are legal but certain restrictions exist: - The first character of a command line must be the "@" which corresponds to the herald character typed by the system in front of commands in direct mode (*). - All command parameters must be given on the same line as the command itself because the system cannot ask for missing parameters. - Although they are legal, some commands are not very well suited within a @MODE file. Among these are, for example, the @LOOK-AT command. Note that if a @MODE command has been issued where the `` is the terminal, the typed characters are not echoed on the terminal as they are routed to the ``. User’s input data may be interspersed with command lines in the same way as if they were typed from the terminal. Such data files may be terminated by the end-medium character (octal 27) which is treated as a normal character when reading the @MODE file. (*) This applies only to SINTRAN commands. Commands to other subsystems such as the editor or loader must not be prefixed by that subsystem’s leading character(s). ND-60.050.06 --- ## Page 60 # 3.3.9 The CC Command This command does absolutely nothing and is, therefore, very useful for making comment lines in big MODE or BATCH jobs. # 3.3.10 The HELP Command This command will list the names of all SINTRAN III commands on the terminal. # 3.3.11 The HOLD Command The format is: @HOLD `