This website is an archived copy of "Chris's Acorns", now hosted by The Centre for Computing History as part of The Chris Whytehead collection.
To view the page in it's original forms without this header, append "?cfch-archive=orig" to the URL.

Acorn Scientific logo

Panos

[Back ]

Introduction

Panos is the operating system for the 32016 2nd processorCambridge Co-ProcessorABC200 & 210 and the Acorn Cambridge Workstation. It was launched with the 32016 2nd processor in 1984 and appeared with the Acorn Cambridge Workstation on Acorn price lists until 1988. The Acorn Scientific division supported and developed Panos.
 
I do not know when Acorn withdrew support.

There is an entertaining story in the Acorn newsgroups that Panos was named after the owner of a Greek restaurant in Cambridge where Acorn engineers often ate. I don't know if this is an urban myth or not.

The descriptions of Pandora and Panos, below, are based on the Acorn Scientific Panos Guide to Operation .

Pandora

Pandora is a ROM based program which is stored in part of the 32016 co-processor's 16K ROM (2 x 8K ROMs).
 
Pandora:

 The following programs run directly under Pandora:

As far as I can tell there was only one version of Pandora because I have only seen 1 set of ROMs (part numbers 0201-263-02 & 1201-264-02). 

Panos

  1. Introduction
  2. Design Objectives
  3. Concepts 
    1. User Interface Model
    2. Program Control Model
    3. I/O System Model
    4. Filing System Model
    5. Event Handling Model
    6. Global Environment Variables 
  4. Command Language
  5. The Editor
  6. The Linker
  7. Languages
  8. Manuals
  9. Software 

Introduction

Panos is the disc based Operating System for the 32016 Co-processor. Panos provides facilities for writing, loading and exsecuting programs. It also provides ways of creating command files so that a range of activities can be carried out automatically (e.g. compiling, linking and running large batches of programs). Access to the hardware for both programmers and end users is supported and it has been designed to integrate with the BBC Microcomputer hardware and software. The minimum hardware required to run Panos is dual 80 track double sided single density floppy disc drives, giving a total of 800K. It also needs to be loaded from storage which can be a floppy disc, Winchester hard disc on an Econet file server. Panos is supplied on double sided single density 80 track floppy discs and must be installed before it can be run.

Design Objectives

The Panos design objectives were:

Concepts

User Interface Model

Input/output, and hence dialogue with the user is based on the notion of streams. There are four logical streams associated with Panos:

Programs do not have to use logical streams and can use direct I/O to or from physical streams.

Program Control Model

Panos supports the execution of both user and system programs. More specifically it provides a runtime environment for programs, in particular for programs written in high-level languages, and including those written in mixed languages. Panos supports a procedural model of program execution which means that programs can all other programs and resume execution on return. Communications between two programs running sequentially or procedurally is achieved through the use of global variables.

I/O System Model

Panos presents its own device and filing system models to the user. These are implemented by lower level BBC Microcomputer mechanisms. For example Panos files are simply stored and maintained by a filing system such as the DFS (for floppy disc), ADFS (for Winchester or MFM floppy) or NFS (for Econet file server). The user need not be aware of the lower level implementation. Panos provides higher level properties than the raw filing system, e.g. timestamping of files, file name extensions and filing system names forming part of a file specification. Within Panos devices and filing systems are treated uniformly. Input output is based upon the concept of streams, an I/O object may be a device or a file, and is identified by a string (text name).

Filing System Model

The Panos filing system model presents a logical filing system to the user, which is partly implemented by Panos and partly by mapping onto more primitive BBC Microcomputer i.e. physical filing systems. In principle the user only needs to know about the Panos model. Wherever possible Panos presents a uniform view regardless of the physical filing system. but limitations of the physical filing systems may impose restrictions, The Panos filing system model has the following components:

Standard Acorn file types and extensions:

ExtensionMeaning
-absabsolute binary file (for execution under Pandora)
-aofObject file in Acorn Object Format
-asmAssembler source file
-bbcBBC Microcomputer host code
-cC source file
-cmdCommand file
-datData file
-f77Fortran 77 source file
-hHeader file for use with C
-libObject file in AOF used as a library
-lisListing file
-lspLisp source file
-mapMap files (FORTRAN 77 and Linker)
-pasPascal source files
-rifRelocatable Image produced by Panos Linker
-srcSource text (program in unspecified language)
-tmpTemporary file
-txtText file

Event Handling Model

Panos provides facilities for dealing with both synchronous and asynchronosus events, the former are sometimes called conditions or exceptions. Exceptions are synchronous to the flow of program execution and may be "hard" or "soft". Asynchronous events are generated by interrupts in the I/O processor.

Global Environment Variables

The way in which Panos behaves is determined to an extent by the settings in the global variables (sometimes called global strings). A global variable is a name and a string value. A variable is declared by being set. There are a number of variables defined by the system, most of which are initialised by Panos itself or whenever Panos is entered by executing the !Panos command file.

Command Language

When Panos is entered, a system program (the command line interpreter) is given control. The Panos command line interpreter interacts with the user and has the function of accepting commands and executing programs or interpreting command files. On system startup the interpreter is set running, it outputs a prompt and waits for a command to be entered. The command interpreter decodes the argument and expands wild symbols. It is the central component of the user interface model.

A command consists of a CommandName followed by an argument string, where a CommandName is one of:

  1. the name of a built in '.' command
  2. the name of a file containing commands
  3. the name of a file containing a program, the program may be a user program, an application or a system program.

The action of the command interpreter can be summarised as:

  1. The user is prompted via the control stream
  2. A command is read from the control stream
  3. The CommandName is extracted, and if applicable, the alias resolved. Non built-in commands are searched for
  4. Parameter substitution is carried out on the argument string
  5. The remaining action depends on the type of command:

The built-in commands are:

Built-in commandMeaning
.<space>Comment, rest of line after <space> ignored
.Delete <variable name>Delete global string ,variable name>
.HelpProvide help on built-in commands
.keyDefine a keystring in a command file
.NewCommandChange path used to determine the future set of known commands
.Obey <command file name>Execute Command file
.pwdPrint currrent working directory
.QuitLeave Panos
.Run <filename>Run the RIF in <filename>
.Set <variable name>Set global string <variable name>
.swd <path>Set current working directory
.waitCauses the command interpreter to wait until RETURN is pressed

Panos relies on utilities to perform most tasks, which means that Panos can be enhanced simply by writing new utilties. The utilities provided as standard with the system are:

UtiltiyDescription
AccessChange the access permissions of one or more files
CatalogueObtain information about files
ConfigureSet up configuration options
CopyCopy one or more files, directories or devices to a destination file or directory
CreateCreate new directories (or files)
DeleteDelete one or more files or directories
EchoPrint arguement on screen
LogonLog on to a network file server (equivalent of *I AM command)
RenameRename one or more files or directories
SetSet the value of various Panos attributes (e.g. date and time)
ShowShow the values of various Panos attributes
StarIssue BBC style * commands

The Editor

The editor is used in the creation and modification of source programs, it may also be used for general applications, for example, preparing manuals, data or command files. It can edit any file text or binary. The editor is screen-orientated, i.e. text is displayed a screen at a time on the screen and may be altered by moving the cursor around using the cursor keys and typing. The concept of windows is fundermental to the editor; several files can be edited simultaneously and material can easily be transferred between files which are viewed in their own separate windows.

The Command Line Interpreter can be accessed from the editor so that compilers, utilities and built-in commands can be used from within the editor.

The Linker

The Acorn 32000 Linker is a utility program which runs under Panos and is used to combine compiled object (AOF) files with object libraries to produce an executable program image (RIF) file for execution under Panos.

Languages

The languages included with Panos are:

Manuals

The Acorn Scientific Panos manuals are available in Documents.

Software

The Panos installation discs are available from J.G.Harston's mdfs.net.

I think there were 3 Panos versions:

DatePanos VersionDescription
Jan 19851.0Pre-release, for 32016 second processor(?)
Nov 19851.1Release 10

??

1.4Release 12