top - download
⟦0f6032288⟧ Wang Wps File
Length: 83400 (0x145c8)
Types: Wang Wps File
Notes: DAMOS
Names: »0106A «
Derivation
└─⟦2c0571bd0⟧ Bits:30005816 8" Wang WCS floppy, CR 0005A
└─ ⟦this⟧ »0106A «
WangText
7…0b…7 6…0e…6…07…5…0b…5…0c…5…0e…5…06…4…0d…4 3…0b…3…0f…3 2…09…2…0e…2
1…0a…0…0a…0…00…0…05…/…0b…/…01…/…06….…0b….…0c….…0d….…0e……86…1
…02…
…02… …02…
…02…CPS/SRS/001
…02…810811…02……02…#
CAMPS
ADDITIONAL
REQUIREMENTS
TO
DAMOS
STANDARD
SOFTWARE…02…801010…02…CAMPS
T̲A̲B̲L̲E̲ ̲O̲F̲ ̲C̲O̲N̲T̲E̲N̲T̲S̲
1 SCOPE ........................................
8
2 APPLICABLE DOCUMENTS .........................
9
2.1 DAMOS SYSTEM REQUIREMENT SPECIFICATION ...
9
2.2 PROPOSAL FOR DIGITAL EXCHANGE APPENDIX 3,
CR80D STANDARD SOFTWARE ..................
9
2.3 REQUIREMENTS FOR ERRORHANDLING, DOC.NO.
CPS/TCN/0012 .............................
9
2.4 MAPPING OF PERFORMANCE REQUIREMENTS TO
SUBSYSTEMS, DOC.NO. CPS/TCN/0013 .........
9
2.5 DAMOS PROCESS MANAGEMENT AND DISPATCHER,
PRELIMINARY CSS/2000/PSP/0018 ............
9
3 SYSTEM STANDARD SOFTWARE ...................
10
3.1 OPERATING SYSTEM .........................
11
3.2 DAMOS KERNEL .............................
14
3.2.1 Process Management ...................
14
3.2.2 Interrupt Functions ..................
14
3.2.3 Process Communication ................
15
3.2.4 Process Scheduling ...................
15
3.2.5 Page Manager .........................
15
3.2.6 Monitor Procedures ...................
17
3.2.7 Write Access Check by System
Procedures ...........................
17
3.3 I/O ......................................
18
3.3.1 I/O System ...........................
18
3.3.2 File Management Systems ..............
19
3.3.2.1 Backing Storage Management .......
19
3.3.2.2 Terminal Handling ................
21
3.3.2.3 OFFER-ACCEPT .....................
22
3.3.2.4 Useron - Useroff .................
22
3.3.3 Device Handlers ......................
23
3.3.4 Device Drivers .......................
24
3.3.5 Supplementary requirements derived
from I/O requirement .................
24
3.3.6 Message Handling .....................
24
3.4 ERROR HANDLING ...........................
24
3.4.1 Error Fix Up .........................
25
3.4.2 Standard Erroractions Supplied by
DAMOS ................................
26
3.4.2.1 General Reporting Mechanism ......
26
3.4.2.1.1 Reporting at the Different
Levels .......................
30
3.4.2.2 Hardware Errors ................
30
3.4.2.2.1 Single Terminal Error ......
30
3.4.2.2.1.1 Detected During User
Operation ..............
30
3.4.2.2.1.2 Detected During COPSY
Operation on a System
Connection .............
31
3.4.2.2.2 LTU/LTUX Error ...............
31
3.4.2.2.2.1 Detected During User
Operation ................
31
3.4.2.2.2 Detected During COPSY
Operation ....................
31
3.4.2.2.3 Channel (LTU/LTUX) Error .....
32
3.4.2.2.4 BSM-X Error ..................
32
3.4.2.2.5 TDX BUS (TDX CTR, TDX BUS,
TIAs) Error ..................
32
3.4.2.2.6 PU (Includes STI and IOBUS)
Error ........................
32
3.4.2.2.7 Error Interrupts .............
33
3.4.2.2.7.1 During Retire ............
33
3.4.2.2.7.2 During PU Shut-Down ......
33
3.4.2.2.8 On-Line Diagnostics Reporting
33
3.4.2.2.9 Mirrored Disks (Disk CTA,
Disk Drive, UDLUME) Errors ...
34
3.4.2.2.9.1 Error in a Single Disk ...
34
3.4.2.2.9.2 Error in Both Disks ......
34
3.4.2.2.10 Single Disk Error ..........
34
3.4.2.3 Software Errors ..................
34
3.4.2.3.1 Security Violation ...........
34
3.4.2.3.2 Non Security Violation .......
34
3.4.3 Device Driver/Handler Errorhandling ..
35
3.4.4 Error Information ....................
35
3.4.4.1 Error Report Information .........
35
3.4.4.1.1 HW Error Reports .............
35
3.4.4.1.2 SW Error Reports .............
36
3.4.4.2 Dump of Failed Process ...........
36
3.4.5 Memory Dump ..........................
36
3.4.6 Post Memory Analysis .................
36
3.4.7 Resume ...............................
36
3.4.8 Handling of HW Generated Error
Interrupts (page 3 in IM No. 79) .....
37
3.4.9 Device Driver/Handler Error Handling .
37
3.5 RECOVERY, RESTART, RECONFIGURATION .......
37
3.5.1 PU/IOBUS Switchover ..................
38
3.5.2 Disk Recovery, Reconfiguration,
Restart ..............................
38
3.5.3 THS (IOBUS) Recovery, Reconfiguration
Restart ..............................
41
3.5.4 Software Reconfiguration .............
41
3.5.5 THS (TDX BUS) Recovery, Reconfigura-
tion, Restart ........................
41
4 SYSTEM SUPPORT SOFTWARE ......................
43
4.1 HIGH LEVEL OPERATING SYSTEM ..............
43
4.2 LANGUAGE PROCESSORS ......................
44
4.2.1 Pascal Compiler ......................
44
4.2.2 Swell Compiler .......................
44
4.2.3 Assembler ............................
45
4.3 TEXT PROCESSORS ..........................
45
4.3.1 Editor ...............................
45
4.3.2 Text Formatting Program ..............
45
4.3.3 File Merge Program ...................
46
4.3.4 Pretty Printing Facility .............
46
4.4 PROGRAM DEVELOPMENT AND TEST TOOLS .......
46
4.4.1 Linker ...............................
46
4.4.2 Pascal Cross Reference ...............
47
4.4.3 Swell Cross Reference ................
47
4.4.4 Assembler Cross Reference ............
48
4.4.6 Swell Debugger .......................
48
4.4.7 Assembly Debugger ....................
49
4.4.8 Patch Program ........................
50
4.4.9 Generation of Test Output for Pascal
Programs .............................
50
4.4.10 Generation of Test Output for Swell
Programs .............................
50
4.4.11 Generation of Test Output for Assembly
Programs .............................
50
4.4.12 Change Affect Tool ...................
50
4.4.13 Librarian ............................
51
4.4.14 System Generator .....................
53
4.5 FILE MANIPULATION PROGRAMS ...............
53
4.5.1 Binhex ...............................
53
4.5.2 Compare ..............................
53
4.5.3 Copy .................................
53
4.5.4 Hexbin ...............................
53
4.5.5 Listf ................................
54
4.5.6 Print ................................
54
4.6 DIRECTORY MAINTENANCE UTILITIES ..........
54
4.6.1 Attr .................................
54
4.6.2 Create ...............................
54
4.6.3 Enter ................................
55
4.6.4 List .................................
55
4.6.5 Protect ..............................
55
4.6.6 Remove ...............................
55
4.6.7 Rename ...............................
55
4.6.8 Dcopy ................................
56
4.7 DIAGNOSTIC PROGRAMS ......................
56
4.7.1 On-line Diagnostic Programs ..........
56
4.7.1.1 Integrity of Operation ...........
57
4.7.1.2 Availability .....................
57
4.7.1.3 On-line Test Programs ............
57
4.7.1.4 System Integrity Test Programs ...
58
4.7.2 Off-line Diagnostic Programs .........
58
4.7.2.1 Off-line Testprograms ............
58
4.8 MISCELLANEOUS PROGRAMS ...................
59
4.8.1 Formatting of Disk ...................
59
4.8.2 File Conversion ......................
59
4.8.3 System TimE Setting ..................
59
4.8.4 Time .................................
60
4.8.5 Test Drive Program ...................
60
5 PERFORMANCE ..................................
62
5.1 SIZING ...................................
62
5.2 TIMING ...................................
62
5.3 STARTUP AND SWITCHOVER PERFORMANCE
REQUIREMENTS .............................
62
5.4 ON-LINE DIAGNOSTIC SOFTWARE ..............
62
6 AVAILABILITY AND MAINTAINABILITY .............
63
6.1 AVAILABILITY .............................
63
6.2 MAINTAINABILITY ..........................
63
7 INITIALIZATION ...............................
63
8 SECURITY .....................................
64
8.1 SECURITY POLICY ..........................
66
8.2 COMPARTMENTS .............................
66
8.3 TERMINALS AND COMMUNICATION LINES ........
66
8.4 TDX DEVICES ..............................
67
8.5 CENTRALIZED ACCESS CONTROL ...............
68
8.6 SCHEDULING ...............................
68
8.7 SYSTEM SOFTWARE STRUCTURE ................
68
8.8 PROGRAM PAGE MANAGEMENT ..................
69
8.9 ON-LINE TEST PROGRAMS ....................
70
8.10 DATA SECURITY ............................
70
9 QUALITY ASSURANCE ............................
72
10 SOFTWARE DOCUMENTATION .......................
72
11 CR80D SOFTWARE VERIFICATION ..................
72
12 COMPATIBILITY WITH AMOS AND CR80D STANDARD
SOFTWARE .....................................
72
1̲ ̲ ̲S̲C̲O̲P̲E̲
This document contains additional requirements to the
CR80D advanced multiprogramming operating system (DAMOS)
set forth by the System Division (CRA).
2̲ ̲ ̲A̲P̲P̲L̲I̲C̲A̲B̲L̲E̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲S̲
2.1 D̲A̲M̲O̲S̲ ̲S̲Y̲S̲T̲E̲M̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲ ̲S̲P̲E̲C̲I̲F̲I̲C̲A̲T̲I̲O̲N̲ ̲C̲S̲S̲/̲0̲0̲6̲/̲S̲P̲C̲/̲0̲0̲0̲1̲
2.2 P̲R̲O̲P̲O̲S̲A̲L̲ ̲F̲O̲R̲ ̲D̲I̲G̲I̲T̲A̲L̲ ̲E̲X̲C̲H̲A̲N̲G̲E̲ ̲A̲P̲P̲E̲N̲D̲I̲X̲ ̲3̲,̲ ̲C̲R̲8̲0̲D̲ ̲S̲T̲A̲N̲D̲A̲R̲D̲
̲S̲O̲F̲T̲W̲A̲R̲E̲
2.3 R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲ ̲F̲O̲R̲ ̲E̲R̲R̲O̲R̲H̲A̲N̲D̲L̲I̲N̲G̲,̲ ̲D̲O̲C̲.̲N̲O̲ ̲C̲P̲S̲/̲T̲C̲N̲/̲0̲0̲1̲2̲
2.4 M̲A̲P̲P̲I̲N̲G̲ ̲O̲F̲ ̲P̲E̲R̲F̲O̲R̲M̲A̲N̲C̲E̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲ ̲T̲O̲ ̲S̲U̲B̲S̲Y̲S̲T̲E̲M̲S̲,̲
̲D̲O̲C̲.̲N̲O̲ ̲C̲P̲S̲/̲T̲C̲N̲/̲0̲0̲1̲3̲
2.5 D̲A̲M̲O̲S̲ ̲P̲R̲O̲C̲E̲S̲S̲ ̲M̲A̲N̲A̲G̲E̲M̲E̲N̲T̲ ̲A̲N̲D̲ ̲D̲I̲S̲P̲A̲T̲C̲H̲E̲R̲,̲ ̲P̲R̲E̲L̲I̲M̲I̲N̲A̲R̲Y̲
̲C̲S̲S̲/̲2̲0̲0̲0̲/̲P̲S̲P̲/̲0̲0̲1̲8̲
3̲ ̲ ̲S̲Y̲S̲T̲E̲M̲ ̲S̲T̲A̲N̲D̲A̲R̲D̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
a) Fundamental properties of the Standard Software
which shall be considered in depth during the design,
development and production are its quality, integrity
and flexibility.
b) The Software shall be structured in a clearly identifiable
hierarchical way. The design shall maintain maximum
isolation and independence between units of all
types during program design and implementation
and during on-line operation of the system.
c) The Software shall be carefully documented in parallel
to the design during the production phase. The
documentation shall form part of each deliverable
software package and conform to the documentation
standard specified elsewhere in this document.
d) In the construction of program code, clarity of
meaning shall be a major consideration. When writing
the program code comments shall be inserted to
aid comprehension and improve the readability.
e) It is mandatory that instructions and constants
of the system standard software shall not be modified
during runtime. Within each software module/program
the program code and constants shall be segregated
from the modifiable data. The data areas of a module
shall be contigous and all exchange of data between
different modules shall take place either through
well-defined shared data areas or by value passing.
f) The System Standard Software shall be implemented
as a well structured suite of code and data modules
incorporating sufficient hardware protection and
software checking to ensure that the System Software
itself can achieve and maintain the status of high
integrity, trusted code with respect to the Applications
Software. Preferably the System Software shall
reside in read-only memory.
g) Sufficient validity checks must be applied at appropriate
points in the System Software/Applications Software
at Compile time and/or run time to ensure that
the integrity requirements (refer section 8) will
be met, attention however, being paid to maintaining
efficiency.
h) Recovery procedures after system failure shall
include the validation of the integrity, i.e checksumming
of software, of the operating system software and
security protection facilities and reloading if
this is necessary.
i) It shall be possible to cause a system integrity
check, i.e. checksumming of software, to be performed
at any time. This shall be done without disrupting
the functioning of the system.
j) The System Standard Software shall further be designed
and implemented in such a way that it is easy to
expand, modify, and maintain.
The System Standard Software shall be provided
as a complete wellstructured system consisting
of two sub-systems.
1) Operating System
2) Support Software
k) All the described software shall be able to run
on the CAMPS hardware configuration with CPU/CACHE,
MAP and TDX system.
Additional Requirements to the DAMOS Operating
System are detailed in chapter 3, whereas Requirements
to the Support Software are specified in chapter
4.
3.1 O̲P̲E̲R̲A̲T̲I̲N̲G̲ ̲S̲Y̲S̲T̲E̲M̲
a) The Operating System shall provide a complete coherent
interface for the applications programs against
the hardware.
b) The Operating System shall include the following
general facilities:
1) Multiprogramming and scheduling at run-time
2) Storage Management
3) Device Control and interrupt response
4) Inter-process interfaces
5) Error handling
6) Deleted
7) Deleted
7) File Management System
8) I/O System
c) In particular the following operating system features
are considered important:
1) The Operating System (OS) alone must be allowed
to run in the privileged mode (only when necessary)
and it must be impossible for an application
program to seize control of the OS or to read
data from the space assigned to the OS.
2) The OS must ensure that program and scratch
space is erased following a job cessation for
either normal or abnormal reasons. By scratch
space is meant: all data areas occupied by
the process and which upon termination of the
process is deallocated and returned to some
part of the system e.g. memory returned to
the memory manager, buffers returned to the
bufferpool in the kernel.
3) A clean architectural design; unassigned codes
must cause a trap.
4) Memory bound (page management) mechanisms so
the core storage allocated to one user can
be partitioned so the user cannot read or write
in core occupied by the operating system or
by other users. These bounds must also apply
to all user initiated I/O commands.
5) Two classes of instructions, one for the exclusive
use of the operating system and one for use
by both operating system and application programs.
6) A set of key instructions exclusively reserved
for the operating system. These instructions
must control all I/O, the setting of map registers,
the setting of the system state - privileged
or problem.
7) To the extent possible, the operating system
shall run in the non-privileged processor state.
8) Device control and interrupt response, i.e.
standardized interfaces between hardware devices
(including traffic channels) and applications
software, such that the system software is
wholly responsible for the immediate control
of hardware device interfaces.
d) The following features shall be provided as part
of the hardware of the processing system.
1) Sensitive instructions which could divert,
disrupt or inadvertently change the state shall
not be available for execution unless the processor
is in a "privileged" state.
2) A protection mechanism shall be provided which
shall prevent memory areas from being inadvertently
or illegally overwritten. Any attempt or illegal
access shall (if possible) give raise to a
warning through the erorr reporting facility.
3- Every instruction code shall result in a prescribed
action. The occurrence and/or attempted execution
of any illegal code or bit-pattern shall be
signalled via the error reporting facility
and shall result in an interrupt and abort
procedure or a recovery procedure.
4) A read/write memory erase function at restart
shall be provided. The function shall be optional
at bootload time. Performance shall be at
most 2 microsec/word.
5) It is highly desirable that, whenever practicable,
each segment of applications code or data should
be accessed and protected by appropriate hardware
facilities at run time. The direct use of or
access to absolute store addresses by applications
programs should be reduced to a minimum.
The following subsections, subsection 3.2, 3.3,
and 3.4 are written with reference 2.1 as baseline,
i.e. only additional requirements and/or requirements
in reference 2.1 found unclear, are stated in these
sections.
3.2 D̲A̲M̲O̲S̲ ̲K̲E̲R̲N̲E̲L̲
3.2.1 P̲r̲o̲c̲e̲s̲s̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
a) Reference 2.1 shall be applicable requirements,
including:
1) 3.6.5.4.1
2) 3.6.5.4.2
3) 3.6.5.4.3
4) 3.6.5.4.4
5) 3.6.5.4.5
6) 3.6.5.4.6
7) 3.6.5.4.7
8) 3.6.5.4.8
3.2.2 I̲n̲t̲e̲r̲r̲u̲p̲t̲ ̲F̲u̲n̲c̲t̲i̲o̲n̲s̲
a) Deleted.
3.2.3 P̲r̲o̲c̲e̲s̲s̲ ̲C̲o̲m̲m̲u̲n̲i̲c̲a̲t̲i̲o̲n̲
a) It shall be possible for processes to share a data
area.
b) Synchronization elements as covered in reference
2.1 section 3.6.3 shall be supported
c) Deleted.
d) Deleted.
3.2.4 P̲r̲o̲c̲e̲s̲s̲ ̲S̲c̲h̲e̲d̲u̲l̲i̲n̲g̲
a) Functions/scheduling as described in reference
2.5 shall be supported.
3.2.5 P̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲r̲
a) Security related requirements are stated in section
8, Program Page management.
b) Translation Tables
1) Deleted
2) Deleted
c) Program sharing
A parent operating system must have the capability
to create program segments and make them accessible
to a group of its children without he children
being accounted for the use. Such shared program
segments must still be subject to the normal access
control so that only the children specified can
access the segments.
d) Demand Paging:
1) The algorithm for selection of a victim when
page fault occurs may be a simple one such
as first in - first out with the additional
capability to lock segments in memory.
2) A parent must have the capability of defining
the maximum number of memory pages that a child
may allocate.
3) Deleted
e) Backing Storage Management.
1) BS is a contigous area on a single disk unit
(BS unit). The rest of this unit may be used
by FMS. Location and size of BS is defined
at sysgen.
2) The BS unit needs not be connected at times
of boot load and initialization of Page Manager.
3) Memory resident segments may be CREATE'd and
MAKE'd without BS unit being connected.
4) BS unit will not be accessed or required connected
until the first time a non-resident segment
is created.
5) At sysgen time it may be defined that all segments
are resident. In that case, the BS area and
the BS- and PM- process within Page Manager
will not be allocated.
6) ED shall provide a facility that allows preventive
maintenance on the BS-unit without stopping
the system. One solution could be the following:
At sysgen an alternative BS-unit and BS-area
is defined. Page Manager provides a facility
to copy contents of BS to alternative unit
and continue operation without system stop.
3.2.6 M̲o̲n̲i̲t̲o̲r̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
a) It shall be possible to extend DAMOS with monitor
procedures.
b) They shall be known to all programs by inclusion
at system generation.
c) The monitor procedures shall be used to share dataareas
between processes of different classification as
follows:
1) All processes sharing one or several memory
pages by means of a monitor procedure shall
have the dataareas mapped-in despite their
security classification.
2) Not to break DAMOS security philosophies the
shared dataarea shall be fully protected (only
accessible in System Mode).
d) In order to be able to administrate the shared
data area a such monitor procedure may have access
to the calling process security class and indicator
whether trusted or not.
e) For the case of violation acces must be provided
to a "kill" function.
3.2.7 W̲r̲i̲t̲e̲ ̲A̲c̲c̲e̲s̲s̲ ̲C̲h̲e̲c̲k̲ ̲b̲y̲ ̲S̲y̲s̲t̲e̲m̲ ̲P̲r̲o̲c̲e̲d̲u̲r̲e̲s̲
Any procedure executing in System Mode shall check
write access before writing into a memory area specified
by the user in a call parameter. This applies to Kernel
procedures as well as I/O system.
3.3 I̲/̲O̲
3.3.1 I̲/̲O̲ ̲S̲y̲s̲t̲e̲m̲
a) The I/O system should be implemented such that
all stream commands may be excluded with a corresponding
saving in memory.
b) All I/O commands implying queuing of request should
be implemented as INIT - WAIT
e.g. INIT LOOKUP - WAIT OPERATION.
c) It shall be possible for a process to await termination
of first of a group of IO events and it shall be
possible to await first of a combined group of
IO events and sync-elements.
d) It shall be possible for two or more user processes
in parallel to have the same file open and concurrently
access the file (applies to FMS and terminal handling).
e) Deleted.
f) Deleted
g) Deleted
h) Deleted
i) A priority shall be associated with each I/O request.
The priority shall be selected when a file is opened.
j) The I/O system shall be modified whenever required
to include new commands for control of devices
included at a later stage.
k) Devices identified today to be controlled via the
I/O system are:
1) CDC MMD
2) DISC's SMD
CMD
3) Floppy disk
4) Lineprinter
5) VDU
l) Some of the devices/lines above are interfaced
via the I/O bus.
m) The I/O system shall support control of interface
units to the above devices through transmission
of commands and associated control information
to handlers/drivers.
n) Certain commands may be implemented not passing
the I/O system (initialization type commands).
o) All memory areas used by the system for I/O of
data above a certain security profile shall be
purged immediately after use.
3.3.2 F̲i̲l̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲ ̲S̲y̲s̲t̲e̲m̲s̲
3.3.2.1 B̲a̲c̲k̲i̲n̲g̲ ̲S̲t̲o̲r̲a̲g̲e̲ ̲M̲a̲n̲a̲g̲e̲m̲e̲n̲t̲
a) The backing storage management system (FMS) shall
support CDC disks interfaced via disk handler and
Floppy disk interfaced via Floppy disk handler.
Floppy disk controller is SA800/010AB/00, drive
is CR80D single side single density.
b) All processes consuming a significant part of the
CPU used per access to a diskfile shall execute
with a priority derived from the priority of the
I/O request and the type of the I/O request and
the type of processing requested (TBD). In the
present FMS running under AMOS in a stand-alone
computer, this would typically mean that command
processes should execute with a priority derived
from request priority.
c) All interfaces between processes in the FMS shall
be prioritized. This means that later requests
of higher priority are served before already waiting
requests of lower priority. This priority scheme
shall be applied for the interface from the I/O
system to the FMS, FMS internally and for the interface
FMS to disk handler(s).
d) FMS shall allow inclusion of an SD developed Message
Management System as defined in CPS/SDS/001 section
5.9.
e) The FMS shall support purging of files, part of
files and volumes by overwriting with random data
pattern refer section 8.
f) The FMS shall perform overwriting of data buffers
having been used for data of higher classification
than CLASS, CLASS to be specified at system generation.
The overwriting shall be performed immediately
after use of the buffer. The use of disk cache
for such data buffers is not allowed. (For the
general requirements see section 8).
g) It shall be possible to have the same file open
by several users in parallel, and it shall be possible
for the users to access the file concurrently.
Concurrently means here, the processing for two
requests to access the same file may be processed
concurrently in the FMS.
h) The concurrent use of MODIFYBYTES on non- overlapping
parts of the same sector shall give results with
meaning.
i) No data may be lost by concurrent use of APPENDBYTES.
j) The result of MODIFYBYTES or APPENDBYTES applied
concurrently must be as if one request has been
entirely executed before the other.
k) The FMS shall support read of directories by special
users. The read shall be allowed to the extend
possible, even if the data-structures on the disk
are corrupted.
l) The FMS shall support read of physical sectors
by special users. The read shall be allowed despite
corruption of data-structures on the disk.
m) The FMS shall support formatting and initialization
of a Virgin diskpack.
n) The FMS shall support update of disk volume identification
(Refer section 8.10 a) without disturbing data
stored on volume.
o) Deleted
p) Deleted
q) Deleted
r) It shall be possible to change the security profile
of a file by request from a trusted process.
3.3.2.2 T̲e̲r̲m̲i̲n̲a̲l̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
a) DAMOS shall via the THS support terminals and low
speed devices attached via LTUX's to the TDX in
a similar way as the THS support devices via the
I/O bus and LTU's.
b) The THS shall support the use of the TDX in a meaningful
manner.
b…0f…1…0e…) TMS shall in addition to the data transfer commands
READ BYTES, APPEND BYTES support combined output
and input (i.e. TMS shall be aware of the relation).
As an alternative, the Read and append functions
could be expanded with a generalized "Position".
b…0f…2…0e…) TMS shall support an independant transfer of control
information to/from Device Handlers (the device
specific part of handlers). The length of such
control information shall not be limited.
b…0f…3…0e…) In cases, where data is actually multiplexed on
a wire (channel), TMS shall support a meaningful
scheme of priority for traffic.
b…0f…4…0e…) TMS shall be transparent to the possible consecutiveness
of transfer requests. Handling of this shall be
left to the protocol handlers.
c) The data structures allocated in THS device handlers
and for devices attached via LTUX in the TDX driver
shall be kept at a minimum-size:
d) Handling of 60 duplex terminals and 15 simplex
printing devices with data and control channels
shall be possible without excessive use of data
area for link descriptions.
e) Deleted
f) Terminals shall be addressed by logical names from
application. The mapping between logical and physical
names can be changed dynamically.
g) It shall be possible to protect a terminal in such
a way that it can only be accessed by I/O calls
from system mode.
h) The OFFER-ACCEPT mechanism shall apply to terminals
as well.
i) It shall be possible to change the security profile
of a terminal by request from a trusted process.
3.3.2.3 O̲F̲F̲E̲R̲-̲A̲C̲C̲E̲P̲T̲
The access rights specified in OFFER shall be the final
ones. ACL shall not be used to modify offered access
rights.
3.3.2.4 U̲s̲e̲r̲o̲n̲ ̲-̲ ̲U̲s̲e̲r̲o̲f̲f̲
Must be protected so that only privileged processes
can issue them.
Useroff of a process can only be done by the process
which issued the Useron.
3.3.3 D̲e̲v̲i̲c̲e̲ ̲H̲a̲n̲d̲l̲e̲r̲s̲
a) Following handlers shall be available for devices
interfaced via I/O crate:
1) LINE-PRINTER
2) VDU for software development
3) CDC disk
4) Floppy disk (hardware IF TBD)
b) Handlers for CAMPS which is not supported by ED
are developed by SD, but will in CAMPS context
be considered system software anyway. SD therefore
needs the outline/strategy/standard for designing
of handlers used in ED.
This Standard Handler Interface shall include:
1) One Handler program code will exist per device/line
type.
2) A data area sahll exist per physical device/line
containing status information and work data
exclusive for the device.
3) One incarnation of the Handler (e.g. VDU handler)
shall exist per device controlling the data
area in 2. This incarnation shall have full
access to the transferred data and may modify
transfer lists to incorporate or exclude information
from/to the device.
4) A group of handlers shall be able to share
common tables and work data.
4a) The interface shall include the capability
to transfer control information from/to the
creator of the (protocol) handler to/from the
protocol handler.
4b) The interface shall be such that the protocol
handler is aware of each single application
transfer request.
5) The Standard Handler interface shall provide
similar capabilities for LTU and LTUX connected
devices.
c) Handlers shall be so designed that a later implementation
of data buffer purging in the PU as well as in
the I/O crate can be done with minimum effort.
3.3.4 D̲e̲v̲i̲c̲e̲ ̲D̲r̲i̲v̲e̲r̲s̲
a) The following device drivers shall be available:
1) TDX-driver (host IF)
2) SSC-driver (TTY interface driver)
b) Drivers shall be so designed that purging of databuffers
can be implemented with a minimum of effort.
3.3.5 S̲u̲p̲p̲l̲e̲m̲e̲n̲t̲a̲r̲y̲ ̲r̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲ ̲t̲o̲ ̲I̲/̲O̲ ̲r̲e̲q̲u̲i̲r̲e̲m̲e̲n̲t̲s̲
a) It must be possible to bootload the system from
either CDC disk or floppy disk. It must be possible
to bootload a standby PU via an I/O crate shared
with an active PU without disturbing the processing
of the active PU.
b) A facility shall exist for disk-formatting of a
virgin disk (probably by FMS).
3.3.6 M̲e̲s̲s̲a̲g̲e̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
Deleted
3.4 E̲R̲R̲O̲R̲ ̲H̲A̲N̲D̲L̲I̲N̲G̲
The software, in conjunction with the hardware, shall
be designed to detect and limit the effect of hardware
faults which occur in the system. Upon detection of
the fault, action shall be taken to:
1) Report the fault
2) Contain and minimize the effect of the fault
3) Optimize the remaining system operational capabilities
while the fault condition persists
The following areas are handled:
1. Error Isolation
2. Error Reporting
3. User fix-up
4. Error Information
5. Memory Dump
6. Memory Analysis
7. Retire/Resume
8. Handling of HW generated error interrupts
9. Device driver/handler error handling
3.4.1 I̲s̲o̲l̲a̲t̲i̲o̲n̲
HW errors detected by DAMOS shall be isolated to exactly
one of the following types:
1 - Single terminal
2 - Channel
3 - LTU/LTUX
4 - BSM-X
5 - TDX BUS (TDX CTR, BUS, TIAs)
6 - PU (includes STI, IOBus) implying retire
7 - PU ( ) implying PU-SHUT-DOWN
8 - Mirrored disk incl. (CTR, Drive)
9 - Mirrored disk volume error
10 - Single disk
11 - Single disk volume error
12 - Standby PU, when accessed through the TDX BUS.
The isolation may be direct e.g. due to reporting from
a controller; or indirect e.g. the TMS detects a BSM-error
by:
1 - ensuring that the TDX-bus is
ok (can be done by sending a dummy frame through
the bus)
2 - ensuring that the neighbour LTUX is also erroneous
(can be done by sending a dummy frame to the
neighbour LTUX).
3.4.2 D̲A̲M̲O̲S̲ ̲E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲
A̲B̲B̲R̲E̲V̲I̲A̲T̲I̲O̲N̲S̲
SDSE: Secondary Device Status Synchronization Element
PSE: Parent Synchronization Element
CESE: Central Error Synchronization Element
COPSY: CAMPS Operating System
PDSE: Primary Device Status Synchronization Element
3.4.2.1 G̲e̲n̲e̲r̲a̲l̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲ ̲M̲e̲c̲h̲a̲n̲i̲s̲m̲
F̲o̲r̲ ̲H̲a̲r̲d̲w̲a̲r̲e̲ ̲E̲r̲r̲o̲r̲s̲:
An irrecoverable error at one level (refer to figure
1, 2, and 3 overleaf) implies:
- one report is sent to the creator of the device
(e.g. terminal, channel, LTUX, BSM, TDX BUS, PU
+ STI)
- all subsequent accesses of the device are returned
with a cc defining: terminal disconnected.
- for TMS devices: the disabling of a user connection
is signalled on the system connection.
F̲o̲r̲ ̲S̲o̲f̲t̲w̲a̲r̲e̲ ̲E̲r̲r̲o̲r̲s̲ ̲(̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲V̲i̲o̲l̲a̲t̲i̲o̲n̲)̲
A serious (e.g. security violation) error in a child
process is reported to the parent of the child. (Refer
figure 4), and the child is retired.
Figure 2…01…T̲D̲X̲-̲B̲U̲S̲ ̲L̲E̲V̲E̲L̲S̲ ̲
Figure 3…01…I̲O̲ ̲B̲U̲S̲ ̲D̲I̲S̲K̲ ̲L̲E̲V̲E̲L̲S̲
Figure 4
3.4.2.1.1 R̲e̲p̲o̲r̲t̲i̲n̲g̲ ̲a̲t̲ ̲t̲h̲e̲ ̲D̲i̲f̲f̲e̲r̲e̲n̲t̲ ̲L̲e̲v̲e̲l̲s̲
The following categories described:
Section 2.1 Single terminal error reporting
Section 2.2 LTU/LTUX error reporting
Section 2.3 Channel error reporting
Section 2.4 BSM-X error reporting
Section 2.5 TDX bus error reporting
Section 2.6 PU error reporting
Section 2.7 Error interrupts reporting
Section 2.8 On-line diagnostics reporting
Section 2.10 Single disk error reporting
Section 3.1 Security violation
Section 3.2 Non-security violation
3.4.2.2 H̲a̲r̲d̲w̲a̲r̲e̲ ̲E̲r̲r̲o̲r̲s̲
3.4.2.2.1 S̲i̲n̲g̲l̲e̲ ̲T̲e̲r̲m̲i̲n̲a̲l̲ ̲E̲r̲r̲o̲r̲
3.4.2.2.1.1 D̲e̲t̲e̲c̲t̲e̲d̲ ̲D̲u̲r̲i̲n̲g̲ ̲U̲s̲e̲r̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
1) A cc is returned to the user defining:
- irrecoverable terminal error
2) The user connections are disabled
3) A report is sent to SDSE defining:
- irrecoverable terminal error
- a terminal identification
4) A subsequent COPSY call on the system connection
receives a cc defining:
- transition from user to system state
3.4.2.2.1.2 D̲e̲t̲e̲c̲t̲e̲d̲ ̲D̲u̲r̲i̲n̲g̲ ̲C̲O̲P̲S̲Y̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲n̲ ̲a̲ ̲S̲y̲s̲t̲e̲m̲ ̲C̲o̲n̲n̲e̲c̲t̲i̲o̲n̲
1) A cc is returned defining
- transition from user to system state
2) the user connection is disabled
3) A report is sent to SDSE defining:
- irrecoverable terminal error
- a terminal identification
3.4.2.2.2 L̲T̲U̲/̲L̲T̲U̲X̲ ̲E̲r̲r̲o̲r̲
3.4.2.2.2.1 D̲e̲t̲e̲c̲t̲e̲d̲ ̲D̲u̲r̲i̲n̲g̲ ̲U̲s̲e̲r̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
1) All user connections to the terminals at the LTU/LTUX
are disabled.
2) The call implying the detection of the error and
all subsequent calls at user connections get the
cc:
- irrecoverable terminal error
3) A report is sent to SDSE defining:
- irrecoverable LTU/LTUX error
- a device identification
4) Subsequent COPSY calls on any of the system connections
imply a cc defining:
- transition from user to system state
3.4.2.2.2 D̲e̲t̲e̲c̲t̲e̲d̲ ̲D̲u̲r̲i̲n̲g̲ ̲C̲O̲P̲S̲Y̲ ̲O̲p̲e̲r̲a̲t̲i̲o̲n̲
As above.
3.4.2.2.3 C̲h̲a̲n̲n̲e̲l̲ ̲(̲L̲T̲U̲/̲L̲T̲U̲X̲)̲ ̲E̲r̲r̲o̲r̲
Handled as LTU/LTUX errors except for the SDSE report,
which defines:
- irrecoverable channel error
- a channel identification
3.4.2.2.4 B̲S̲M̲-̲X̲ ̲E̲r̲r̲o̲r̲
Handled as 2 LTUX errors. However, only reporting
to the creator of the BSM-X, in a SDSE, defining:
- irrecoverable BSM-X error
- BSM-X no.
3.4.2.2.5 T̲D̲X̲ ̲B̲U̲S̲ ̲(̲T̲D̲X̲ ̲C̲T̲R̲,̲ ̲T̲D̲X̲ ̲B̲U̲S̲,̲ ̲T̲I̲A̲s̲)̲ ̲E̲r̲r̲o̲r̲
A switchover is performed. (Maybe COPSY has to command
the watchdog to switch BSM-Xs)
A report is sent to the creator of the TDX BUS in a
SDSE, defining:
- TDX Bus switchover
- failed TDX BUS number
3.4.2.2.6 P̲U̲ ̲(̲I̲n̲c̲l̲u̲d̲e̲s̲ ̲S̲T̲I̲ ̲a̲n̲d̲ ̲I̲O̲B̲U̲S̲)̲ ̲E̲r̲r̲o̲r̲
For some PU errors refer 2.7 a retire of the process,
which detects the error, is performed (hereby a report
is sent to PSE).
For the remaining errors:
- A disabled error print-out routing is called to
sent an error message which is defined at system
generation to the watchdog printer.
- The PU is shut-down via a programmed master clear.
- the MAP is saved
- the MAP PROM is entered
C̲o̲m̲m̲e̲n̲t̲
If a PU includes more than one STI or IOBUS, another
scheme is to be implemented.
3.4.2.2.7 E̲r̲r̲o̲r̲ ̲I̲n̲t̲e̲r̲r̲u̲p̲t̲s̲
Either a
1) retire of the calling process, or
2) PU shut-down
is performed as described in EP-PSP/027
3.4.2.2.7.1 D̲u̲r̲i̲n̲g̲ ̲R̲e̲t̲i̲r̲e̲
A report is sent to PSE defining:
- the cause of the error interrupt
3.4.2.2.7.2 D̲u̲r̲i̲n̲g̲ ̲P̲U̲ ̲S̲h̲u̲t̲-̲D̲o̲w̲n̲
Refer section 2.6.
Error interrupts are not only due to a hardware error.
Also e.g. illegal instructions are detected in this
way.
These software error interrupts are covered in section
3.1 as security violation.
3.4.2.2.8 O̲n̲-̲L̲i̲n̲e̲ ̲D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲s̲ ̲R̲e̲p̲o̲r̲t̲i̲n̲g̲
A built-in self-test program, which is executed periodically,
reports errors to SDSE.
3.4.2.2.9 M̲i̲r̲r̲o̲r̲e̲d̲ ̲D̲i̲s̲k̲s̲ ̲(̲D̲i̲s̲k̲ ̲C̲T̲A̲,̲ ̲D̲i̲s̲k̲ ̲D̲r̲i̲v̲e̲,̲ ̲U̲D̲L̲U̲M̲E̲)̲ ̲E̲r̲r̲o̲r̲s̲
Bad sectors and retries are handled by FMS and handlers,
which build up a statistics area summing the errors.
Warnings are sent to SDSE, when thresholds are exceeded.
3.4.2.2.9.1 E̲r̲r̲o̲r̲ ̲i̲n̲ ̲a̲ ̲S̲i̲n̲g̲l̲e̲ ̲D̲i̲s̲k̲
Is reported to SDSE by FMS. Users are not affected.
3.4.2.2.9.2 E̲r̲r̲o̲r̲ ̲i̲n̲ ̲B̲o̲t̲h̲ ̲D̲i̲s̲k̲s̲
A report is sent to SDSE. Subsequent calls of the
FMS (via IOS) are returned via a cc defining:
- irrecoverable dual disk error
3.4.2.2.10 S̲i̲n̲g̲l̲e̲ ̲D̲i̲s̲k̲ ̲E̲r̲r̲o̲r̲
Handled a 9, except 9.1 is omitted.
3.4.2.3 S̲o̲f̲t̲w̲a̲r̲e̲ ̲E̲r̲r̲o̲r̲s̲
3.4.2.3.1 S̲e̲c̲u̲r̲i̲t̲y̲ ̲V̲i̲o̲l̲a̲t̲i̲o̲n̲
A security violation implies that the calling process
is retired and a report is sent to PSE.
Also, certain parameter errors in Kernel calls may
imply an automatic retire.
3.4.2.3.2 N̲o̲n̲ ̲S̲e̲c̲u̲r̲i̲t̲y̲ ̲V̲i̲o̲l̲a̲t̲i̲o̲n̲
A cc is returned to the caller.
3.4.3 U̲s̲e̲r̲ ̲F̲i̲x̲-̲U̲p̲
In MON calls, R6 shall contain the I/O operation to
be executed.
3.4.4 E̲r̲r̲o̲r̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲ ̲(̲r̲e̲p̲l̲a̲c̲e̲s̲ ̲p̲.̲ ̲9̲,̲ ̲1̲4̲,̲ ̲1̲7̲,̲ ̲2̲5̲ ̲i̲n̲ ̲I̲M̲
̲N̲O̲ ̲7̲9̲)̲
System calls, which are not retired, shall return a
16 bit cc to the caller.
Error reports to SDSE, PSE, shall contain the information
defined in section 3.1. The information may be based
on statistics obtained from device handlers.
SD (CAMPS) requires a separate list, which describes
and defines all CCs.
SD( CAMPS) requires a separate list, which describes
and defines the contents of error reports and to which
synchronization element, it is sent.
3.4.4.1 E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲ ̲I̲n̲f̲o̲r̲m̲a̲t̲i̲o̲n̲
3.4.4.1.1 H̲W̲ ̲E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲s̲
A HW error report shall include the following information:
- time of day
- identification of device/program detecting the
error
- detailed device status e.g.
-- erroenous device
-- detailed device status
- identification of current PU and CPU
- error type as specified in section 1
- device positionary information (e.g. head, cylinder
sack)
- type of failing operation (e.g. read, write, sack).
3.4.4.1.2 S̲W̲ ̲E̲r̲r̲o̲r̲ ̲R̲e̲p̲o̲r̲t̲s̲
An SW error (retire) report shall include the following
information:
- time of day
- identification of process detecting the error
- an identification of which statement provoked the
error (e.g. line no. or program counter)
- register contents at point of failure
3.4.4.2 D̲u̲m̲p̲ ̲o̲f̲ ̲F̲a̲i̲l̲e̲d̲ ̲P̲r̲o̲c̲e̲s̲s̲
A parent shall be able to dump memory segments (created
by the parent) of a retired child process.
3.4.5 M̲e̲m̲o̲r̲y̲ ̲D̲u̲m̲p̲
Memory shall be dumped on disk.
3.4.6 P̲o̲s̲t̲ ̲M̲e̲m̲o̲r̲y̲ ̲A̲n̲a̲l̲y̲s̲i̲s̲
A post mortem memory analysis based on dumped information
on disk shall exist.
3.4.7 R̲e̲s̲u̲m̲e̲
A resumed process shall receive restart information
in a register (R6).
3.4.8 H̲a̲n̲d̲l̲i̲n̲g̲ ̲o̲f̲ ̲H̲W̲ ̲G̲e̲n̲e̲r̲a̲t̲e̲d̲ ̲E̲r̲r̲o̲r̲ ̲I̲n̲t̲e̲r̲r̲u̲p̲t̲s̲ ̲(̲p̲a̲g̲e̲ ̲3̲ ̲i̲n̲
̲I̲M̲ ̲N̲O̲ ̲7̲9̲)̲
It shall be possible for a user to take over the handling
of the following error interrupts:
- illegal instruction
- parity error, program
- parity error, date
- parity error, I/O
- timeout error, program
- timeout error, data
- protection, program
- protection, data
- privilege, violation
3.4.9 D̲e̲v̲i̲c̲e̲ ̲D̲r̲i̲v̲e̲r̲/̲H̲a̲n̲d̲l̲e̲r̲ ̲E̲r̲r̲o̲r̲ ̲H̲a̲n̲d̲l̲i̲n̲g̲
a) Device drivers shall repeat erroneous operations
to ensure that sporadic errors are eliminated.
b) Drivers/handlers should contain a statistics area
defining e.g. for disk:
1) no of retries per error type
2) no of bad sectors
3) no of error-corrections
4) no of errors per error type
The statistics area may contain the detailed CC.
3.5 R̲E̲C̲O̲V̲E̲R̲Y̲,̲ ̲R̲E̲S̲T̲A̲R̲T̲,̲ ̲R̲E̲C̲O̲N̲F̲I̲G̲U̲R̲A̲T̲I̲O̲N̲
a) The problem area of this topic shall be solved
in common by SD and ED. The solution shall make
it possible for the CAMPS System, to fulfill the
requirements set forth to the CAMPS System.
b) A draft report containing an outline for the solution
shall be issued by ED on 810101. A final report
shall be issued 810401.
Below is listed the requirements to be met by the CAMPS
System.
3.5.1 P̲U̲/̲I̲O̲ ̲B̲U̲S̲ ̲S̲w̲i̲t̲c̲h̲o̲v̲e̲r̲
a) DAMOS will be allowed to use 30 seconds to a PU/IOBUS
switchover.
b) The DAMOS rcovery shall include creation of:
1) to FMS:
connection to 50 files, whereto in average
two processes are connected
2) to THS (IOBUS):
10 communication lines
to THS (TDX BUS):
75 communication lines (devices)
c) Reinsertion of a PU/IOBUS is TBD
3.5.2 D̲i̲s̲k̲ ̲r̲e̲c̲o̲v̲e̲r̲y̲/̲r̲e̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲,̲ ̲r̲e̲s̲t̲a̲r̲t̲ ̲
a) DAMOS shall support a dualized disk configuration:
1) removal/reinsertion of disk ctr/pack
2) initial and on-line selection of which 2 disks
are to constitute the dualized pair.
b) Files shall have different scope
1) temporary i.e. after a PU switchover or total
system error the file is lost
2) permanent i.e. the file is retained in the
above mentioned situations.
c) The bitmap must never be lost
d) Deleted.
e) Recovery of files/file connections are TBD
f) Disk performance during recovery is TBD.
g) The FMS shall support dual disks independent of
whether the disks are attached to the same disk
controller or two separate disk controllers. The
support includes handling of bad sectors in a meaningful
way.
By a bad sector is meant one for which it is not
possible to write data and read them again. A
sector with CRC error must not automatically be
considered bad.
h) After a positive acknowledge has been sent to a
user process that update has successfully terminated,
data shall always be recoverable except for physical
corruption of both disks. (No loss of data in
case of total power failure).
This results in the following detailed requirements:
1) After a positive acknowledge has been sent
to a user process that update has accessfully
terminated, data shall always be recoverable
except for physical corruption of both disks.
This means in particular that during update
of a sector, the two mirrored sectors must
in certain cases not be written in parallel,
as this might result in destruction of both
sectors in case of power failure.
2) Referring to the non parallel write in 1. above,
it is acceptable that FMS has a system generation
parameter defining, if writes on mirrored disks
may or may not take place in parallel.
3) Non parallel write must be scheduled in a way
that assures full throughput of each disk,
if other operations are queued for the disks.
It is accepted that response time for write
on mirrored disks is increased by about 20
msec. caused by non parallel write.
4) For a modify operation, the write must be done
first to the sector on the volume which was
not read. This requirement takes into account
that the sector not being read may be corrupted.
5) If for a read operation, the requested data
exist on any disk, they shall be delivered,
even if this may cause a mix of sectors from
the two disks.
6) If a read error is encountered by FMS, it shall
try to read the sector from the other disk
and write it to the one in error. The good
data is delivered to the user together with
a completion code indicating the error.
7) Reads shall be distributed optimally between
the two disks. The disk caches for the two
disks should also be used for optimization.
8) A function shall exist to bring up a disk as
mirrored.
9) A function shall exist to mount 2 disks as
being already mirrored.
10) The status of a volume as member of a mirrored
pair shall be recorded on the volume and checked
when mount is performed.
11) A repair function shall exist, performing the
following on a specified sector.
read from volume A;
if ok, write to volume B else
read from volume B and write to volume A;
read both sectors, checking for bad sector;
i) The FMS shall either keep essential data structures
in the memory located in the disk controller or
check-point essential data in a TBD manner to either
disk or standby FMS.
j) In case of failure of one PU, the FMS of a standby
PU must be able to take over without loss of any
data, except that result of unacknowledged ongoing
transfers maybe lost to an extend TBD. In the
switchover time, time to open files from standby
PU and time to reestablish message links is included
(see 3.3.6).
k) FMS must regularly sense each mounted or reserved
disk unit and detect if the volume is removed physically.
Then the unit shall be treated as if it was demounted
regularly. The same shall be done if an irrecoverable
error happens to IO-bus or disk controller.
l) Each time a disk unit is Released, Demounted, Deassigned,
Discarded or physically removed, the corresponding
disk cache shall be cleared.
3.5.3 T̲H̲S̲(̲I̲O̲B̲U̲S̲)̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲,̲ ̲R̲e̲s̲t̲a̲r̲t̲,̲ ̲R̲e̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
a) It shall be possible to remove/reinsert new LTU's
and attached devices.
b) Recovery/restart of LTU's in case of PU/IOBUS switchover
is TBD.
3.5.4 S̲o̲f̲t̲w̲a̲r̲e̲ ̲R̲e̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
TBD
3.5.5 T̲H̲S̲(̲T̲D̲X̲ ̲B̲U̲S̲)̲ ̲R̲e̲c̲o̲v̲e̲r̲y̲,̲ ̲R̲e̲s̲t̲a̲r̲t̲,̲ ̲R̲e̲c̲o̲n̲f̲i̲g̲u̲r̲a̲t̲i̲o̲n̲
a) It shall be possible to switch to a standby TDX
BUS from the current active PU, so that it is transparent
to the application.
b) It shall be possible to reinsert a failed TDX BUS/CTR.
c) It shall be possible to remove/reinstall LTUX's/terminals.
1) LTUX's shall be referenced by name, thereby
enabling name to physical LTUX relation to
be set dynamically without terminal intervention.
2) DAMOS shall for LTUX/terminal rsources (and
the like) contain tables defining the current
and the maximum configuration.
d) In a dualized configuration with an active and
a standby PU the THS and TDX driver in the active
PU, shall checkpoint sufficient data to support
a switchover to the standby PU
4̲ ̲ ̲S̲Y̲S̲T̲E̲M̲ ̲S̲U̲P̲P̲O̲R̲T̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
a) The system support software must allow the secure
preparation, editing, compilation, linkage, module
testing, integration, realtime testing, system
testing and incorporation into run time operation
of new or modified source code modules. Any disturbance
caused to the operational system by each of these
procedures shall be minimal and well defined. The
support software shall include facilities for maintaining
and accessing any required off-line libraries of
procedures, data declarations, macros, etc.
b) The word secure implies no other requirements than
stated elsewhere in this document.
c) The process of integrating a module into the system
shall not require recompilation of the other elements
of the system.
4.1 H̲I̲G̲H̲ ̲L̲E̲V̲E̲L̲ ̲O̲P̲E̲R̲A̲T̲I̲N̲G̲ ̲S̲Y̲S̲T̲E̲M̲
…02…a) The Terminal Operating System (TOS) or similar shall
be supported.
b) The Terminal Operating System shall support interactive
software development from a terminal. From a terminal
it shall be possible to execute the support programs
identified in section 4.2, 4.3, 4.4, 4.5, 4.6 and
4.7 and user produced programs.
c) The TOS System console will be the SS&C console.
The SS&C driver shall for support and diagnostic
software look as if it is a standard consol driver.
d) The functional capabilities of TOS shall include
those specified in CSS/380/USM/0026.
e) The commands which may be initiated from a terminal
shall include those specified in CSS/381/USM/0037
except that commands for modifying the environemnt
of devices and volumes shall be available only
from the Operators Console (OC) (refer CSS/380/OSM/0026
page 5). By no means it may be possible from a
user terminal to gain control or access to any
part of the system not specified from the Operators
Console, especially access or disturbance to the
active computer shall be avoided. (e.g. mount,
demount may only be possible from OC).
4.2 L̲A̲N̲G̲U̲A̲G̲E̲ ̲P̲R̲O̲C̲E̲S̲S̲O̲R̲S̲
4.2.1 P̲a̲s̲c̲a̲l̲ ̲C̲o̲m̲p̲i̲l̲e̲r̲
a) The Pascal Compiler as supported for AMOS shall
be supported for DAMOS.
However the following facilities shall be supported:
1) A Pascal Standard Prefix similar to the one
specified in doc. no. CSS/006/RFM/0001 reflecting
the special features of the CR80D computer.
2) The Pascal Standard Prefix shall include:
Procedures making the synchronization mechanism
of parallel processes as defined by Damos available
to the Pascal programmer. Procedures making
the capabilities of the Damos I/O system available
to the Pascal Programmer.
4.2.2 S̲w̲e̲l̲l̲ ̲C̲o̲m̲p̲i̲l̲e̲r̲
a) The Swell Compiler shall compile the source text
into link modules linkable by the CR80D Linker
ref. section 4.4.1
b) Deleted
c) The SWELL Compiler shall allow the compilation
of single SWELL modules without the main program
part.
d) The Swell Compiler shall have the capabilities
as specified in CSS/415/USM/0047.
4.2.3 A̲s̲s̲e̲m̲b̲l̲e̲r̲
An assembler shall be supported with capabilities as
specified in doc.No. CSS/401/USM/0042
4.3 T̲E̲X̲T̲ ̲P̲R̲O̲C̲E̲S̲S̲O̲R̲S̲
a) The CR80D text processors shall include:
1) An interactive editor
2) A general text formatter
3) A text file merge program
4.3.1 E̲d̲i̲t̲o̲r̲
The Editor shall at least support the commands and
facilities as specified/described in doc. no. CSS/102/USM/0021.
4.3.2 T̲e̲x̲t̲ ̲F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲P̲r̲o̲g̲r̲a̲m̲
a) The formatting shall include:
1) Margin justification
2) Underlining keywords
3) Addition of page headings
The formatting shall have the capabilities as described
in doc. no. CSS/180/USM/0044.
4.3.3 F̲i̲l̲e̲ ̲M̲e̲r̲g̲e̲ ̲P̲r̲o̲g̲r̲a̲m̲
The File Merge Program MERGE currently supported by
AMOS shall be supported by DAMOS and have the capabilities
as described in doc. no. CSS/142/USM/0024.
4.3.4 P̲r̲e̲t̲t̲y̲ ̲P̲r̲i̲n̲t̲i̲n̲g̲ ̲F̲a̲c̲i̲l̲i̲t̲y̲
A pretty printing facility for formatting a SWELL source
text into a standard format with indentations reflecting
statement-nesting shall be supported.
4.4 P̲R̲O̲G̲R̲A̲M̲ ̲D̲E̲V̲E̲L̲O̲P̲M̲E̲N̲T̲ ̲A̲N̲D̲ ̲T̲E̲S̲T̲ ̲T̲O̲O̲L̲S̲
4.4.1 L̲i̲n̲k̲e̲r̲
a) The Linker shall be capable of transforming a number
of link modules to a single final object program.
b) The linkage shall include module linking, final
address resolution within a module, resolution
of references and code assembly. The Linker shall
be capable of linking link modules generated by
Swell Compiler.
c) It shall be possible to control the segmentation
of the object program as follows:
1) Input to LINK consists of a set of compiled
modules as described in CSS/416/RFM/0003.
2) Output from LINK consists of an object module
consisting of a number of program segments
and a number of data segments.
3) Runtime parameters to LINK specify:
- number of program segments and the start
address in logical program space for each
program segment.
- number of data segments and the start address
in logical data space for each data segment.
- for each input module a destination segment
for program and data part respectively.
Those requirements are assumed to give the following
facilities:
- To divide the terminal handling program
into segments according to the functions
reception, release, preparation etc. and
only give a terminal incarnation access
to those functions which the incarnation
is actually allowed to execute.
- To implement an overlay mechanism by letting
two or more segments have the same start
address.
- To implement shared procedures, which are
not MON procedures, by LINK'ing the procedures
and their data into all object modules
but only loading them once into memory.
4.4.2 P̲a̲s̲c̲a̲l̲ ̲P̲r̲o̲g̲r̲a̲m̲ ̲C̲r̲o̲s̲s̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲
a) A Pascal Program Cross Reference tool shall be
available. Preferably the Cross Reference listing
shall be an optional biproduct from the Pascal
Compiler (Compiler directive).
b) The Pascal Cross Reference listing shall be as
specified in doc. no. CSS/133/USM/0038.
4.4.3 S̲w̲e̲l̲l̲ ̲C̲r̲o̲s̲s̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲
a) It shall be possible for the Swell programmer to
obtain a Cross Reference listing by specifying
this to the Swell Compiler. The cross reference
listing shall be as specified in doc. no. CSS/415/USM/0047
with the following exceptions.
b) The list of identifiers in alphabetical order shall
for each identifier contain a list of all linenumbers
in which it occurred.
4.4.4 A̲s̲s̲e̲m̲b̲l̲e̲r̲ ̲C̲r̲o̲s̲s̲ ̲R̲e̲f̲e̲r̲e̲n̲c̲e̲
a) It shall be possible for the Assembly Programmer
to obtain a Cross Reference listing, preferably
by specifying this to the Assembler (Assembler
directive).
b) The Assembly Cross Reference listing shall include:
1) A listing of the source code with linenumbers.
2) The number of user identified identifiers.
4.4.6 S̲w̲e̲l̲l̲ ̲D̲e̲b̲u̲g̲g̲e̲r̲
a) The Swell debugger shall be an aid for detecting
logical errors in a Swell Program interactively.
b) The SWELL debugger shall allow the user via a terminal
to interact with an executing SWELL program (process)
in a vay that permits the SWELL items to be referenced
by their symbolic names.
It shall be possible to debug at least 3 processes
concurrently from the same terminal.
c) The facilities listed below shall be supported
by the SWELL debugger.
1) Insertion, removal and listings of break points.
2) Listing of current values of variables referenced
by their symbolic names.
3) Assigning new values to variables referenced
by their symbolic names.
4) Deleted.
5) Trace all procedures/functions calls.
d) For sparate testing of modules using the synchronization
primitives of DAMOS without having the modules
with which the module under test are going to synchronize
available the following facilities shall be supported:
1) Creation of a buffer to be sent to a synch
element referenced by its symbolic name as
defined in the SWELL program and sending it.
2) Specifying that a buffer is to be removed from
a synch element (referenced aby its symbolic
name as defined in the SWELL program) and display
the content at the terminal (receiving it).
e) The following low level features shall be supported:
1) Access to registers
2) Listing and changing the contents of memory
sections, specified by the user relative to
program and base.
3) Listing of base memory of min 2 other processes
specified at debug start.
4.4.7 A̲s̲s̲e̲m̲b̲l̲y̲ ̲D̲e̲b̲u̲g̲g̲e̲r̲
a) The assembly debugger shall be a tool assisting
in detection of logical errors in an assembly program.
b) The assembly debugger shall be an interactive tool
allowing the assembly programmer to interact with
an executing assembly program. The facilities listed
below shall be supported by the Assembly Debugger:
1) Insertion, deletion and listing of breakpoints
2) Dumping of registers (R0-R7), and memory (program
memory and base memory).
3) Patching in program and base memory
4) Creation and sending of a buffer to a synchronizaton
element.
5) Specifying that a buffer is to be removed from
a synchronization element, and display of the
content at the terminal (receiving it).
4.4.8 P̲a̲t̲c̲h̲ ̲P̲r̲o̲g̲r̲a̲m̲
A Patch Program having the capabilities as described
in CSS/155/USM/030 shall be supported by Damos.
4.4.9 G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲e̲s̲t̲ ̲O̲u̲t̲p̲u̲t̲ ̲f̲o̲r̲ ̲P̲a̲s̲c̲a̲l̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲
a) A tool for test output generation from Pascal Programs
shall be supported.
b) The tool shall include the facilities described
in CSS/341/PSP/0015 with the following extension:
Test output shall include relative address of logged
test records.
4.4.10 G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲e̲s̲t̲ ̲O̲u̲t̲p̲u̲t̲ ̲f̲o̲r̲ ̲S̲w̲e̲l̲l̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲
Same requirements as for Pascal Program, 4.4.9.
4.4.11 G̲e̲n̲e̲r̲a̲t̲i̲o̲n̲ ̲o̲f̲ ̲T̲e̲s̲t̲ ̲O̲u̲t̲p̲u̲t̲ ̲f̲o̲r̲ ̲A̲s̲s̲e̲m̲b̲l̲y̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲.̲
Same requirements as for Pascal Programs, 4.4.9.
4.4.12 C̲h̲a̲n̲g̲e̲ ̲A̲f̲f̲e̲c̲t̲ ̲T̲o̲o̲l̲
A software tool which allows the determination of which
modules might be affected by a program change shall
be supported.
4.4.13 L̲i̲b̲r̲a̲r̲i̲a̲n̲
a) A program for library maintenance - routines for
the creation updating and logging of the programs
and macro libraries and other libraries as applicable
- shall be supported.
b) The librarian shall organize all information pertinent
to systems development and as such it shall cover
the areas of program development, systems generation
and documentation. It shall act as an umbrella
over the following development utilities:
1) Editor
2) Assembler
3) SWELL compiler
4) Pascal compiler
5) Linker
6) Systems generator
directing and recording their activites
c) Programs
- Allow two levels of issue numbering and version
number within latest issue. Attach date of
latest change.
- Recognize the various diguises of the program
as source module, link module, loadable module
d) Systems
Systems are built up of programs, and the librarian
must include tools to describe how systems are
structured and which programs in which versions
they consist of. The description shall be hierarchical
and allow a number of levels such as SYSTEM, SUBSYSTEM,
PACKAGE, MODULE. This description shall direct
systems generation. Systems shall have a two level
version number.
e) Installations.
Deleted.
f) Documents
Documenation key with reference to the systems
covered by the document and a descritpion of document
state.
g) Test data sets
Data sets to be used for mandatory tests of new
versions of programs and systems. Each data set
must contain a reference to the system which will
use the set.
h) Users and groups
Program versions shall be organized in a way reflecting
the way of organizing development groups. A program
could exist in three versions: PUBLIC, TEAM, USER.
When the developer refers to one of his own program,
he gets the USER version, while another member
of the team would get the TEAM version, and a systems
generator would get the PUBLIC version. This organization
facilitates cooperative work with programs in various
stages of development and test. A user should have
capability to lift his program to TEAM, while a
team leader may lift TEAM programs to PUBLIC. The
above mentioned information should as far as possible
be used by system development tools for checking
purposes, and the tools should automatically generate
updates to this information. Tools must exist to
extract the infomation and print it out in various
formats.
i) Cross Reference Tool
Given a program name and a version identification
(either a specific version or all versions) together
with a set of systems/installation the cross reference
tool shall identify all programs/systems/installation
wherefrom the program is called/wherein the program
is incorporated. The librarian shall contain sufficient
pertinent information that the information for
one program can be obtained within 1 minute elapsed
time in a single CPU, single Disk development configuration.
4.4.14 S̲y̲s̲t̲e̲m̲ ̲G̲e̲n̲e̲r̲a̲t̲o̲r̲
A System Generator shall be supported. A bootfile consisting
of DAMOS and user specified support and applications
programs shall be the result of invoking the System
Generator.
4.5 F̲I̲L̲E̲ ̲M̲A̲N̲I̲P̲U̲L̲A̲T̲I̲O̲N̲ ̲P̲R̲O̲G̲R̲A̲M̲S̲
4.5.1 B̲i̲n̲h̲e̲x̲
The file conversion program Binhex, refer doc. no.
CSS/114/USM/0027 shall be supported.
4.5.2 C̲o̲m̲p̲a̲r̲e̲
The file comparision program Compare shall be supported.
Compare shall compare two files for equality. The result
of the comparision shall be output on a user specified
output file.
4.5.3 C̲o̲p̲y̲
The program Copy, refer to CSS/110/USM/0032, shall
be supported.
4.5.4 H̲e̲x̲b̲i̲n̲
The file conversion program Hexbin, refer CSS/113/USM/0028
shall be supported.
4.5.5 L̲i̲s̲t̲f̲
The file display program Listf shall be supported.
Listf shall display the contents of a specified file
one page at a time. Forward an backward paging shall
be supported.
4.5.6 P̲r̲i̲n̲t̲
The line printer support program PRINT refer to CSS/006/USM/0033
shall be supported.
4.6 D̲I̲R̲E̲C̲T̲O̲R̲Y̲ ̲M̲A̲I̲N̲T̲E̲N̲A̲N̲C̲E̲ ̲U̲T̲I̲L̲I̲T̲I̲E̲S̲
4.6.1 A̲t̲t̲r̲
a) The program Attr shall be supported, refer to doc.
no CSS/932/USM/0036. The attributes displayed shall
besides those stated in the above referenced document
include:
1) Date and time for the creation of the file
2) Security classification of the file.
4.6.2 C̲r̲e̲a̲t̲e̲
a) The program Create shall be supported, refer to
doc. no CSS/932/USM/00036. The set of input parameter
to create as stated in the above referenced document
shall be extended to include:
1) Date and time. By default this parameter shall
be set by Create to the current System date
and time.
2) Security classification. A default value may
be defined. A security check shall be performed
(user classification contra classification
of file) before the creation is actually executed.
4.6.3 E̲n̲t̲e̲r̲
The program Enter, refer to doc. no. CSS/932/USM/0036,
shall be supported.
4.6.4 L̲i̲s̲t̲
a) The program List, refer to doc. no CSS/932/USM/0036
shall be supported. Besides NAME, TYPE, SIZE, ALLOC,
AREA as stated in the above referenced document
the listing shall include:
1) Date and Time for the creation of the file
2) Security classification
4.6.5 P̲r̲o̲t̲e̲c̲t̲
The program Protect, refer to doc. no CSS/932/USM/0036,
shall be supported.
4.6.6 R̲e̲m̲o̲v̲e̲
a) The program Remove, refer to CSS/932/USM/0032,
shall be supported.
b) If the invokation of the program Remove causes
disk storage to be deallocated, all the deallocated
storage shall be purged, pattern to be overwritten
with, see section 8.
4.6.7 R̲e̲n̲a̲m̲e̲
The program Rename, refer to CSS/932/USM/0036 shall
be supported.
4.6.8 D̲c̲o̲p̲y̲
The program Dcopy, refer to doc. no. CSS/111/USM/0050
shall be supported.
4.7 D̲I̲A̲G̲N̲O̲S̲T̲I̲C̲S̲ ̲P̲R̲O̲G̲R̲A̲M̲
a) DAMOS shall support
1) on-line self test diagnostics software programs
2) off-line diagnostics software testprograms
b) which detects
1) firmware, and
2) hardware errors
c) The test program may be based on built-in selftest
program in the CR80D modules.
d) Error conditions in the peripheral equipment shall
be evaluated by the central computer system.
4.7.1 O̲n̲-̲l̲i̲n̲e̲ ̲D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲s̲ ̲p̲r̲o̲g̲r̲a̲m̲
a) Generally the on-line diagnostics selftest programs
shall limit the effect of an error.
b) Specifically the DAMOS shall meet requirements
derived from
1) integrity of operation
2) availability requirements
c) For a more specific definition of some of the test
programs refer to:
CRX APPENDIX 3 CR80D S̲T̲A̲N̲D̲A̲R̲D̲ SOFTWARE, section
3.1 and section 1.13.
CPS/TCN/0012 requirements for error handling
contain a description of the overall error
detection strategy.
4.7.1.1 I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲o̲f̲ ̲o̲p̲e̲r̲a̲t̲i̲o̲n̲
SD and ED shall agree on cumulative tests and error
reporting in order to evaluate the reliability.
4.7.1.2 A̲v̲a̲i̲l̲a̲b̲i̲l̲i̲t̲y̲
a) Detailed CAMPS availability requirements are described
in CPS/210/SYS/0001: CAMPS system requirements,
section 3.4.4. DAMOS derived requirements are:
1) error reports shall isolate an equipment error
to a replaceable module, thereby minimizing
the MTTR
2) print/display of driver and the like statistics
shall be possible to support preventive maintenance
thereby maximizing the MTBF.
4.7.1.3 O̲n̲-̲l̲i̲n̲e̲ ̲t̲e̲s̲t̲ ̲p̲r̲o̲g̲r̲a̲m̲s̲
For all device drivers/handlers delivered by ED, test
functions shall be included. Cf. 8.9 b. The test functions
shall be invoked by test programs with the following
characteristics:
a) The test programs shall be designed to operate
as low priority tasks in timeshared multiprogramming
mode together with the application software. Errors
shall be reported to an error fix up process. The
testprograms shall cover the hardware modules defined
in section 4.7.2.1.
b) Specific test program to verify system integrity
shall be available.
4.7.1.4 S̲y̲n̲t̲a̲x̲ ̲I̲n̲t̲e̲g̲r̲i̲t̲y̲ ̲T̲e̲s̲t̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲
a) A system integrity test program, which
1) on request and
2) periodically
performs a checksumming of system software shall be
available.
4.7.2 O̲f̲f̲-̲l̲i̲n̲e̲ ̲D̲i̲a̲g̲n̲o̲s̲t̲i̲c̲s̲ ̲P̲r̲o̲g̲r̲a̲m̲s̲
a) The off-line diagnostics programs shall fulfil
requirements derived from the CAMPS availability
requirements defined in CPS/210/SYS/0001 section
3.4.4.
b) To fulfil these requirements:
1) diagnostics programs shall isolate an equipment
error to a replaceable module, to meet the
MTTR requirements
2) preventive maintenance programs shall be designed
to maximize MTBF
c) Diagnostics programs shall be executed in the standby
branch in off-line mode without interuption in
the normal message handling function in the active
branch.
4.7.2.1 O̲f̲f̲-̲l̲i̲n̲e̲ ̲t̲e̲s̲t̲p̲r̲o̲g̲r̲a̲m̲s̲
a) The off-line software package shall at least contain
programs for test of the following hardware modules:
1) CPU + CACHE
2) Memory Map, MIA
3) RAM
4) PROM
5) Deleted
6) Deleted
7) CIA
8) TDX I/F, TIA
9) Deleted
10) LTUX's
11) BTMX-Y
12) Deleted
13) Deleted
14) Deleted
15) I/O BUS
16) LTU
17) LIA
18) Disk Controller
19) Disk Drive
20) Disk Pack
21) Line Printer
22) Floppy Disk
23) Deleted
24) Deleted
4.8 M̲I̲S̲C̲E̲L̲L̲A̲N̲E̲O̲U̲S̲ ̲P̲R̲O̲G̲R̲A̲M̲S̲
4.8.1 F̲o̲r̲m̲a̲t̲t̲i̲n̲g̲ ̲o̲f̲ ̲D̲i̲s̲k̲
A tool for initializing a virgin disk shall be supported
(disk and floppy)
4.8.2 F̲i̲l̲e̲ ̲C̲o̲n̲v̲e̲r̲s̲i̲o̲n̲
A tool for copying a file from disk to floppy disk
and viseverse shall be supported.
4.8.3 S̲y̲s̲t̲e̲m̲ ̲T̲i̲m̲e̲ ̲S̲e̲t̲t̲i̲n̲g̲
A tool for setting/resetting the system time and date
shall be supported.
4.8.4 T̲i̲m̲e̲
The system shall maintain a clock with accuracy better
than 10…0e…-5…0f….
4.8.5 T̲e̲s̲t̲ ̲D̲r̲i̲v̲e̲ ̲P̲r̲o̲g̲r̲a̲m̲
a) In order to be able to support test drive programs
DAMOS shall allow read of process-relative data
areas, as well as read of sync-element data areas
and other common data areas by a separate test
drive process created by the application programmer.
b) Fig. 4.8.5 illustrates the approach. It implies
a requirement for listing of sync-element content
without awaiting them and it implies that a test
process may MAP-in the entire data-area of the
process under test plus shared data areas (i.e.
a requirement to TDS), with a size limit of 62K.
c) Furthermore, debugger commands must be available
as calls from a test drive program in order to
automatize tests.
d) This facility would allow an automatized test of
branches in the program under test, which may only
be reached in special error situation. For this
purpose the input-output communication of the debugger
should be taken-over by the test process in such
a way that the debugger allows the test process
to await the process under test being in the next
breakpoint.
Fig. 4.8.5 Test Drive program
5̲ ̲ ̲P̲E̲R̲F̲O̲R̲M̲A̲N̲C̲E̲
5.1 S̲I̲Z̲I̲N̲G̲
a) Sizing estimate reports for system software shall
be delivered by ED at least together with the following
deliverable items.
1) Preliminary design document
2) Detailed design document
b) Further, report shall be delivered immediately
if significant deviations from the latest sizing
estimate report is discovered by ED
5.2 T̲I̲M̲I̲N̲G̲
Deleted.
5.3 S̲T̲A̲R̲T̲-̲U̲P̲ ̲A̲N̲D̲ ̲S̲W̲I̲T̲C̲H̲O̲V̲E̲R̲ ̲P̲E̲R̲F̲O̲R̲M̲A̲N̲C̲E̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲
TBD
5.4 O̲N̲-̲L̲I̲N̲E̲ ̲D̲I̲A̲G̲N̲O̲S̲T̲I̲C̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
a) On-line diagnostic software with a priority higher
than TBD shall utilize less than 5% of the processing
power in any subsystem (Peak second average)
b) On-line diagnostic software not fulfilling the
above requirement must run in a strict background
mode.
6̲ ̲ ̲A̲V̲A̲I̲L̲A̲B̲I̲L̲I̲T̲Y̲ ̲A̲N̲D̲ ̲M̲A̲I̲N̲T̲A̲I̲N̲A̲B̲I̲L̲I̲T̲Y̲
6.1 A̲V̲A̲I̲L̲A̲B̲I̲L̲I̲T̲Y̲
The system software shall be capable of continuous
un-interrupted operation once brought into service.
6.2 M̲A̲I̲N̲T̲A̲N̲A̲B̲I̲L̲I̲T̲Y̲
a) ED shall fulfil the following functions:
1) Design and implement changes and modifications
to the system software at the request of SD
at a time and material cost basis.
2) Provide assistance and expertise to SD when
required.
3) Diagnose and correct all system software faults
that are detected.
4) Be responsible for and maintain the documentation
of the system software in accordance with the
requirements for documentation.
7̲ ̲ ̲I̲N̲I̲T̲I̲A̲L̲I̲Z̲A̲T̲I̲O̲N̲
a) It shall be possible to bootload different software
systems from an operator specified bootfile.
b) The bootloading shall be from:
1) main disk (to be specified if more than one
is available)
2) floppy disk
as specified by the operator.
c) The operator position, which handles the bootloading
shall be:
1) the watchdog console (SSC)
A memory dump facility shall exist so that dump of
P.U. RAM, IO BUS RAM and MAP tables may be dumped to
disk in a masterclear sequence. The dump shall be
to a named file operationally created with maximum
classification. The use of this facility shall be
optional and available from the watchdog console (SSC).
In addition ED supports dump to system console at 9600
baud.
8̲ ̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲
a) Security shall be a major consideration during
system design and implementation. DAMOS shall ensure:
1) Data Security, i.e. ensuring that protected
data is not disclosed to unauthorized users.
2) Data integrity, i.e. ensuring that protected
data is not modified by unauthorized users
or in a prescribed manner.
b) Further it shall be an aim to ensure that access
to systems is not maliciously denied.
c) The following general requirements apply:
1) All programmes and data files loaded into the
system shall carry block parity check sums
to allow the detection of corrupted data.
2) Access to CAMPS data files shall be made through
system calls which pass through the authorisation
mechanism.
3) Recovery procedures after system failure shall
include checksumming of the operating system
software, reloading if this is necessary.
4) Facilities shall exist to cause a system integrity
check (i.e. checksumming of system software)
to be performed at any time it is seen fit.
This shall be done without disrupting the
functioning of the system.
5) To the extent possible, the operating system
shall run in the non-privileged user state.
d) The software integrity requirements are the three
stated below:
1) Re-loadable copies of all the softwware in
binary form shall be held on backing store
(e.g. disc, magnetic tape on-line to the system)
to permit replacement of the software if it
is suspected of being corrupt. It shall be
possible to reload application processes individually.
2) Each module should contain credibility check
to contain the effects of corrupt or inaccurate
data to the extent this does not introduce
redundant processing which will decrease the
system throughput.
A transaction is defined as: "A set of data in
a data processing system which has to be processed
as an entity.
8.1 S̲E̲C̲U̲R̲I̲T̲Y̲ ̲P̲O̲L̲I̲C̲Y̲
a) The definition of untrusted processes in DAMOS
SRS is useless in CAMPS context.
b) The minimum requirement is:
1) A subject may read from objects with classification
not higher than that of the subject. An untrusted
subject may write to objects with classification
not lower than that of the subject.
2) A trusted subject may write to objects with
any classification.
8.2 C̲O̲M̲P̲A̲R̲T̲M̲E̲N̲T̲S̲
a) It seems likely that compartments may be used in
CAMPS. In that case one compartment will be used
for security level and can have values 0-5. The
other compartments will be used for Special Handling
Categories and can have values 0-1. The number
of compartments for special handling categories
can be up to 8.
b) The rules in section 1 apply to each compartment
of the security profile.
c) The above points a) and b) apply to FMS and THS
as well.
8.3 T̲E̲R̲M̲I̲N̲A̲L̲S̲ ̲A̲N̲D̲ ̲C̲O̲M̲M̲U̲N̲I̲C̲A̲T̲I̲O̲N̲ ̲L̲I̲N̲E̲S̲
a) THS must apply security and access control to each
terminal on an LTU and not only to the LTU. So
the ASSIGN command must apply to terminals and
the OPEN command should use s̲y̲m̲b̲o̲l̲i̲c̲ ̲l̲i̲n̲e̲ ̲n̲a̲m̲e̲
without knowing the device name or the physical
line id.
b) Terminals must be handled in a special way different
from other communication lines. This is because
a high level oprating system (OS) must have the
opportunity to size control of the terminal when
security related events happen, such as login-logout
etc.
c) For this rason THS must recognize two terminal
states: user state and system state.
d) Transition from user state to system state takes
place when:
1) Terminal goes offline
2) device dependent events such as depressing
an attention key. The terminal may have a
group of function keys denoted as attention
keys
3) OS issues a disable command.
e) Transition from system state to user state takes
place when the OS issues an enable command.
f) OS may open a system channel to the terminal.
A user process may open a user channel to the terminal.
In system state the user channels are blocked,
so all communication with the terminal is done
by OS using system channel.
g) It shall be possible to change the security profile
of a terminal by request from a trusted process.
8.4 T̲D̲X̲ ̲D̲E̲V̲I̲C̲E̲S̲
a) The TDX driver as specified in DAMOS SRS has no
security control and the user process does itself
specify TDX device address and subdevice address
within the TDX device.
b) TDX driver must have exactly the same user and
operating systems interface as the THS, and it
must perform the same logical functions. In that
case it would be acceptable that the TDX driver
remains a separate process, but it is preferred
to include it into THS.
8.5 C̲E̲N̲T̲R̲A̲L̲I̲Z̲E̲D̲ ̲A̲C̲C̲E̲S̲S̲ ̲C̲O̲N̲T̲R̲O̲L̲
Deleted.
8.6 S̲C̲H̲E̲D̲U̲L̲I̲N̲G̲
Deleted.
8.7 S̲Y̲S̲T̲E̲M̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲S̲T̲R̲U̲C̲T̲U̲R̲E̲
a) It is very important that verification of the security
system is possible by reviewing the design specifications
and inspecting the program modules involved. This
seems to be almost impossible with DAMOS due to
the fact that very large parts run in system state
thus having unlimited privileges. This is even
the fact with the I/O system although it has no
need for accessing data outside the user's own
address space. Nevertheless it will have the potential
capability of addressing any resource in the system.
b) In CAMPS it will be necessary to develop system
modules managing shared data areas which should
not be accessible by user programs. Those system
modules must run in system state too, as this is
the only way to hide data from user programs.
c) It seems that this situation may be improved by
a very limited change in the CPU. This change
would consist of introducing a new CPU state, named
f.ex. supervisor state.
d) The three states would then be characterised by:
1) User state:
Access to addressable memory pages with "read"
or "full access" attributes.
2) Supervisor state:
Access to all addressable memory pages, including
those with "no access" attribute.
3) System State:
Same memory access as supervisor state. Access
to all privileged instructions.
e) The main improvement would be that system programs
like the I/O system and CAMPS Message Monitor could
run in supervisor state, then having much more
limited privileges than the anticipated ones in
system state.
f) The change would further require that capability
and process management date be moved from the process
own context to a "process management context" within
the kernel.
g) Independent of this suggestion it should be considered
whereever possible to separate the data managed
by the kernel into a number of independent or basely
coupled "kernel contexts".
h) The purpose of these suggestions is to limit as
far as possible the effects of software or hardware
failures to the affected module. This will largely
improve security verification compared to the current
situation where all systems software may potentially
interact across the boundaries defined in the DAMOS
structuring. Moreover it will improve software
reliability, as failures may more easily be traced
to the software module containing the error.
8.8 P̲R̲O̲G̲R̲A̲M̲ ̲P̲A̲G̲E̲ ̲M̲A̲N̲A̲G̲E̲M̲E̲N̲T̲
a) This section states some security related requirements
to the handling of program pages by the page manager.
b) Program segments must be initialized by the loader
only. Once the loader has initialized a program
segment, its contents must not be changeable by
a process executing the program.
8.9 O̲N̲L̲I̲N̲E̲ ̲T̲E̲S̲T̲ ̲P̲R̲O̲G̲R̲A̲M̲S̲
a) Security must be considered very carefully when
online test programs are designed. The following
requirements apply:
1) If an online test program must run in parallel
with the system, it should always run with
lowest process priority and lowest security
classification level.
2) Online test programs may never access a device
or a TDX device in parallel with normal operation
of that device. So it is f.ex. not allowed
to test one line on an LTUX while another line
on the same LTUX is operative.
3) Online test programs may never run in system
state.
b) This means that the low level test functions must
be included in device handlers and device drivers,
and that online testprograms must do their job
through drivers or handlers, who can then control
the proper access. Ability to invoke test function
must be priveleged
8.10 D̲A̲T̲A̲ ̲S̲E̲C̲U̲R̲I̲T̲Y̲
a) Each disk volume shall internally hold a record
for a disk volume identify number and date and
time. Inscribing the unit identity number shall
not affect any other information stored on the
unit.
b) When a unit has been mounted the I/O system shall
either automatically or upon rquest deliver the
unit identity number, date and time. It shall
be impossible to write to files on a unit which
contains no unit identity number or an unassigned
number but read from files on such a unit shall,
however, be possible.
c) Deleted.
d) Memory delete, storage purge, overwrite in this
document means for memory types:
1) PU-RAM: Overwrite by zeroes, all ones or any
other sequence uncorrelated to security protected
data
2) IO BUS-RAM (accessible from one or more P.U.'s
and a LTU or device controller):
As for PU-RAM
3) LTU or controller RAM (not shared):
As for PU-RAM
4) TDX Host - IF and TDX controller RAM:
As for PU-RAM
5) LTUX RAM:
As for PU-RAM
6) DISK-MEMORY:
Overwrite 1 to N times with random numbers.
The random number sequence shall for each
time be generated with a different seed. N
to be defined at compile or system generation
time.
e) Data buffers used by software, system software,
firmware and hardware which are used to transfer
data of a classification higher than or equal to
CLASS shall be deleted immediately after use,
CLASS to be defined at sytem generation.
f) Upon deallocation of memory allocated a process
(including virtual storage backing memory) the
memory shall be delted/purged.
g) Deleted.
h) It shall be possible to select that segements allowed
to carry data classified above CLS may not reside
on backing storage (i.e. the backing memory reserved
for virtual storage will in this case never contain
data classified above CLS)
i) DAMOS shall treat security violation in the same
way independently of object type. Thus security
violation against files shall result in a retire
of the user process. IOS must check the completion
code returned by FMS and retire the process in
certain cases.
9̲ ̲ ̲Q̲U̲A̲L̲I̲T̲Y̲ ̲A̲S̲S̲U̲R̲A̲N̲C̲E̲
Deleted.
1̲0̲ ̲ ̲D̲O̲C̲U̲M̲E̲N̲T̲A̲T̲I̲O̲N̲ ̲R̲E̲Q̲U̲I̲R̲E̲M̲E̲N̲T̲S̲
Deleted.
1̲1̲ ̲ ̲C̲R̲8̲0̲D̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲ ̲V̲E̲R̲I̲F̲I̲C̲A̲T̲I̲O̲N̲
Deleted.
1̲2̲ ̲C̲O̲M̲P̲A̲T̲I̲B̲I̲L̲I̲T̲Y̲ ̲W̲I̲T̲H̲ ̲A̲M̲O̲S̲ ̲A̲N̲D̲ ̲C̲R̲ ̲8̲0̲ ̲S̲T̲A̲N̲D̲A̲R̲D̲ ̲S̲U̲P̲P̲O̲R̲T̲ ̲S̲O̲F̲T̲W̲A̲R̲E̲
a) DAMOS and CR80D standard support software shall
be compatible with AMOS and CR80 Standard support
software to a degree that allows programs developed
on the CR80 system to be lifted to the CR80D system
with a minimum of effort.
b) Preferably facilities of the CR80 operating system
AMOS shall be a subset of those of DAMOS. Where
requirements (e.g. security requirements) or improvements/changes
in hardware of the CR80D makes this impossible,
the difference between the two systems shall be
thoroughly documented.
c) A document containing a list of the CR80 Software
(AMOS and support) documents shall be produced
by ED indicating which documents applies and which
do not to the corresponding CR80D program. For
each document in the list indicated as not applicable
the document shall specify the differences between
the CR80 software and the CR80D software. Further
the document shall identify those facilities supported
by the CR80D system which are not supported at
all by the CR80 system.
d) This document shall be issued 1980-11-01.