ESD TR 71 74_Computer_Operating_System_Capabilities_A_Source_Selection_and_Analysis_Aid_Nov70 74 Computer Operating System Capabilities A Source Selection And Analysis Aid Nov70

ESD-TR-71-74_Computer_Operating_System_Capabilities_A_Source_Selection_and_Analysis_Aid_Nov70 ESD-TR-71-74_Computer_Operating_System_Capabilities_A_Source_Selection_and_Analysis_Aid_Nov70

User Manual: ESD-TR-71-74_Computer_Operating_System_Capabilities_A_Source_Selection_and_Analysis_Aid_Nov70

Open the PDF directly: View PDF PDF.
Page Count: 257

DownloadESD-TR-71-74_Computer_Operating_System_Capabilities_A_Source_Selection_and_Analysis_Aid_Nov70 ESD-TR-71-74 Computer Operating System Capabilities A Source Selection And Analysis Aid Nov70
Open PDF In BrowserView PDF
ESD-TR-71-74

CIO

t'40

COMPUTER OFKRATING SYSTEMS CAPABILITIES;
A SOURCE SELECTION AND ANALYSIS AID

William C. Mittwede

~

November 1970

DEPUTY FOR COMMAND AND MANAGEMENT SYSTEMS
HQ ELECTRONIC SYSTEMS DIVISION (AFSC)
1. G. Hanscom Field, Bedford, Massachusetts 01730

T61s document has been
approved for public release and

r-

sale; its distribution is
unlimited.

(Prepared under Contract No. F19628-70-C-0258 by The COMTRE Corp.,
151 Sevilic Avenue, Coral Gables, Florida 33134.)
NATIONAL TECHNICAL
INFORMATION SERVICE
$Pringfield, Va. 22,51

LEGAL NOTICE
When U. S. Government drawings, specifications or other data are used for any
purpose other than a definitely reiated government procurement operation, the
government thereby incurs no responsibility nor any obligation whatsoever; and
the fact that the government may have formulated, furnished, or in ary way supplied the said drawings, specifications, or other data is not to be regarded by
implication or otherwise as in any manner lic-.nsing the holder or any other person
or conveying any rights or permission to manufacture, use, or sell any patented
invention that may in any way be related thereto.
OTHER NOTICES

Do not return this copy. Rctan or destroy.

ESD-TR-71-74

COMPUTER OPERATING SYSTEMS CAPABILITIES;
A SOURCE SELECTION AND ANALYSIS AID

William C. Mittwede

November 1970

DEPUTY FOR COMMAND AND MANAGEMENT SYSTEMS
HQ ELECTRONIC SYSTEMS DIVISION (AFSC)
L. G. Hanscom Field, Bedford, Massachusetts 01730

This document has been
approved for public release and
sale; Its distribution Is
unlimited.

(Prepared under Contract No. Fi9628-70-C-0258 by The COMTRE Corp.,
151 Sevilla Avenue, Coral Gables, Florida 33134.)

FOREWORD

This reporL presents the results of an analysis conducted by
The Cu(4TRE Corporation, 151 Sevilla Ave., Coral Gables, Florida. The
analysis was conducted under Contract F19628-70-C-0258 4ith the Air
Force Electronic Systems Division in support of ProjecL 6917, Task
691701. Dr. John B. Goodenough, ESD/MCDS, was the ESD Contract Monitor.
This report has been reviewed and is approved.
/,//.

* BEAUCHAMP'
Pfoject Officer

AL RED

iD

/

I

EDMUND
R
USAF
Director, Syste
Design & Dev
Deputy for Command & Management Sys

ABSTRACT
This report presents a method For translating operational data processing
requirements into specific criteria For use in selecting, validating or
evaluating computer operating systems. The criteria have been structured
on the beJis of an integrated functional classification structure applicable
to the executive/control functions, system management functions and data
manipulation functions of currently available operating systems. In concert
with the methodology presented, a checklist Form is included as an aid to
developing selection criteria for particular applications. A diagram of
the functional classification structure is also inclu',3d.

iii

CONTENTS

Section I

Section I

- Introduction

I

1.1 Purpose
1.2 Scope

1
2

ofIco'lon jnJ LvaluQ1;un Guidelines
2.1
2.2
2.3
2.4

Section III

Operating System Requirements Identification
Evaluation of the Environment
Basic Performance Decisions
Use of the Selection and Evaluation Criteria

3
3
5
8

Specification ind Evaluation Criteria

11

3.1 Introduction
3.2 Requirements Checklist - Part I - Executive/
Control Functions)
3.2.1 First Level of Detail (Part I - Executive/
Control Functions)
3.2.2 Second Level of Detail (Part I - Executive/
Cont"I Functions)
3.2.3 Thira Level of Detail (Part I - Executive/
Control Functions)
3.2.4 Fourth Level of Detail (Part I - Executive/
Control Functions)

11

3.3 Requirements Checklist - Port II - System Management Functions
3.3.1 First Level of Detail (Part II - System
Management Functions)
3.3.2 Second Level of Detail (Part II - System
Management Functions)
3.3.3 Third Level of Detail (Part II - System
Management Functions)
3.4 Requirements Checklist - Part III - Data Manipulation
Functions
3.4.1 First Level of Detail (Part III - Data Manipulotion Functions)
3.4.2 Second Level of Detail (Part III - Data Manipulation Functions)
3.4.3 Third Level of Detail (Part III - Data ManipL.lotion Functions)

11
11
19
43
109
149
149
159
175
185
185
193
205

3.4.4 Fourth Level of Detail (Part III - Data Manipulation Functions)
Attachment I -Computer Operating System Functional Classification Structure

V

235

SECTION I
INTRODUCTION

1.1

Purpos
This report is the second of a series currently being produced by The COMTRE

C.,poration for the Electronic Sytems Division of the Air Force Systems Command.
The first report of this series, ESD-TR-70-377, Presented an integrated functional classification structure applicable to the executive/control functions, system management
functions, and data manipulation functions of currently available commercial operating
systems. A third report will establish validation requirements for major computer
operating systems.
Inthis report, criteria have been developed within the hierarchical structure
of the functional classification presented in ESD-TR-70-377. Along with these criteria,
methods for establishing a relationship between the criteria and operational requirements have been delineated for each criterion or group of associated criteria. These
methods are intended to aid in specifying operating system requirements and preparing
operating system specifications.
The analysis was based upon the following considerations relating to system specification practices:
1.

Frequently criteria can be specified but are not; this is usually an
oversight due to the lack of a comprehensive list of system
specifications.

2. Each u.-ser tends to specify details for an area in direct proportion to
his knowledge of that area; frequently, certain functions are slighted
due to a lack of expertise in that area.
3.

Features of aesthetic value, though not firm requirements, can often
L_ specified to further enhance system usage.

4. The level of detail included within a specification can vary according
to the intended purpose of the specification.
The method developed by this analysis provides a requirements checklist which
will reduce the lack of specification due to oversights.

Further, the requirements

checklist is keyed to references which will provide users information for areas in which
they may not be experienced.

And finally, the requirements checklist and references

are structured into several levels of detail. While it is quite likely that the level of
detail will vary for each section of a specification, the structure of the checklist is
such that the required level of detail for each section can be reached in a methodical
manner.
During the preparation of this report, the use of the requirements checklist and
, 1, -,
ussociated .eferences as an aid in e--

;,

nrnoosed systems hecame apparent.

During the evaluation process the proposed operating system design can be compared
against the system functional structure included within the checklist to ascerta;n completeness. Then, by using the reference material, the methods which appear to be
most applicable to the given problem and to best satisfy the operational requirements
can be systematically determined. The entire checklist and references can be used in
this manner; however, levels three and four appear to be ihe most appropriate for
detailed evaluation.
1.2

Scope
The analysis in this report relates operational performance requirements to specific

operating system requirements for executive/control functions, system manogement
tunctions and data manipulation functions.

Requirements ore related to functions in

terms of specific criteria for periormance specification or evaluation.
This report is presented in three sections with one supporting attachment. Sectlon 2 presents a description of the techniques identified for determining operating
system performance requirements.

Section 3 presents the selection and evaluation

criteria accompanied by explanatory references.

Finally, a diagram depicting an

overview of the operating system functional classification structure corresponding to
the checklist levels of detail is attached to this report.

T his

diagram can be used ci

a reference by personnel using the checklist to determine the association of the area
in which they are working with the total classification structure.

2

SECTION II
SPECIFICATION AND EVALUATION GUIDELINES

2. 1

Operating System Requirements Identification
The techniques for determining operating system performance requirements can

best be described as a procedure consisting of three to six steps.
wt
,C"

vauating the system environment.

The first step consists

The second step consists of making basic system

performance decisions. The tiiird step consists of specifying performance criteria at a
general level.

The fourth, fifth and sixth steps amplify the third step at successively

greater levels of detail.
The total number of steps used during the selection of any particular operating
system varies depending upon t e permissable level of detail for the particular selection.
The appropriate level of detail, in turn, varies with the circumstances of a particular
application of the selection technique.

For example, if the technique is being applied

for the pu-pose of developing on operating system specification for a known hardware
configuration then the specification will probably be of a more detailed form than if
the specification were prepared as part of a hardware solicitation.
2.2

Evaluation of the Environment
The first step in l.e -rocedure discussed above is on evaluation of the environ-

ment in which the operating system will be expected to perform.

This step does no

more than establish an overview of the intent of the system procedurally.

It is,

however, very impo~tant since it establishes the framewcrk upon which most further
decisions will be made.
Often, the essential capabilities necessary to satisfy a set of requirements can
be envisioned conceptually or are known from post experience.

In such cases an

evaluation of this information will determine the basic characteristics of the operating
system env-ronment.

In any case, however, the following environmental character-

istics should be determined:
a

First, determine the salient character,'tics of the processing
modes which must be supported by the system.

3

It is very important in the further development of specific requirements to characterize system processing as real-time, batch, remote batch or time-sharing.

It is

also necessary to determine if a mixture of processing modes must be supported, e.g.,
time-sharing and batch, real time and batch, etc.
If the system is to perform computation that controls an ongoing process and
delivers its outputs (or control inouts) not later than the time needed for effective
control of f'e process, then the processing mode is real time.

This mode is usually

ass ciated with air defense systems, ballistic missile checkout/control, space vehicle
checkout/control, etc.
Most operating systems with the exception of some real-time processing systems
allow the processing of jobs submitted to run inde,.ondently of events outside the
system on a deferred or time-independent basis (e.g., whenever the processing workload is light).

If the system is to support this type of processing, then the processing

mode is batch. Many times this feature is required for remote sites as well as the normal local site usage which means that the environment will also consist of a remote
batch mode.
Finally, if the system is to support concurrent processing capabilities for several
users via multiple terminals, then the mode is time-shoring.
o

Second, develop an application program scenario.

Although it has been determined by defining the processing mode that the application programs will be either batch/time-sharing/real time, there should also be
many other known application support requirements.

To formalize these requirements

it is best to examine known applications or develop concepts re:tive to anticipated
applications.

Since the specification of requirements for an operating system depends

to a large extent upon the satisfaction of application orogram requirements, it is
necessary to develop an operational scenario for the application programs.

This

scenario should include such items as program descriptions, estimated program s;zes,
respon

time requirements, concurrency requirements, interaction requirements, irter-

dependency requirements, operational hierarchy requirements, anticipated or known
structural requirements, expsected utilization, and unique features .r requirements exhibited by the application programs.

4

o

Third, delineate all known hardware configuration information.

This consideration is simplified in areas where the hardware Is knc,wn and a new
operating system is being acquired.

However, when a total hardware and software

system is being acquired, as is often the case, this delineation can be quite difficult.
Nevertheless, specification or postulation of a detailed hardware configuration shold
be accomplished if possible, since knowledge of a configuration is requisite to development of many specific criteria. The delineai.-n of peripheral and communication
devices is important as well as that of the processor configuration and the size or
estimated size of the system. Within the framework of Section III of this report,
reference is sometimes made to the size ] of the system as a guide to applicable requirements. Previous analyses of various oper. ring s,stems has shown that the occurrence of several features tends to be closely related to the system size.
The considerations listed above define the operating system environment, an
application program scenario, and a specific hardware configuration.

From this

information, further decisions can be made regarding the expected performance of
the system.
2.3

Basic Performance Decisions
As discussed above, there are certain decisions that should be made concerning

I

the expected performance of the operating ystern.

These decisions provide an in-

sight into the totad operational philciophy of the system and directly affect the applicobility of -pecific requirements for specification ot evaluation. The following topics
and "scussions are designed to aid in making these decisions.
o

Processing performnnce

Once the operating systen environment has been established and the applications
delineated, the next step shoul'i be to consider the need or lack of need for multiFor the purposes of this report, system size corresponds to the Operating System levels
presented in ESD-TR-70-65, Survey and Analysis of Major Computing Operating
Systems, 31 Jcnuary 1970. Thc5e levels are:
- small scale computers with core storage generally less than 32K bytes (where
a byte consists of 8 bits):
- medium scale computers with core storage ranging from 32K bytes to 132K
bytes; and
- large scale computers with core storage in excess of 132K bytes.
5

i:;

program processing.

If the application scenario previously developed indicates that

the operating system must support concurrent core residence and processing of multiple
?rograms, then multiprogramming is required.

If there appears to be reason to expect

that simultaneous execution of programs is required then this may dictate the consideration of a multiprocessor hardware configuration. However, if requirements indicate
that concurrency of application operation is not an absolute prerequisite, then serial
processing may also be ac:eptable.
The type of processing environment (batch, time-sharing, real time) can affect
the operational philosophy of the syst,-m in the following respect.

In a batch pro-

cessing syste, - individual job throughput may not be of prime concern due to the
usual background nature of the jobs supported; therefore, maximum utilization of
system resources is usually more important than the amount of system overhead incurred.
On the other hand, a time-sharing system would strive for a balance between resource
utilization versus incurred overhead due to the requirement to interact and support
multiple users.

Fina!ly, a real-time processing system usually stresses low overhead

and requires maximum job throughput with resource utilization being of only secondary
concern.
Therefore, tradeoff decisions need to be made relative to serial versus multiprogram processing, and overhead versus throughput versus resource utilization of the
processing system.
o

Mode of operational support

There are two basic modes of operation supported by operating systems.

These

are: continuous operational capability over an extended period of time and scheduled
operation over a fixed period of time, e.g., eight-hour shift per day.
The major difference between these modes of operation is the criticality of the
processing supported.

Continuous operation is not normally a requirement for batch

processing while it is almost mandatory for real-time processing and may be highly
desirable for some time-sharing systems.
The determination of which of these modes of operation is to be provided by the
system will aid in the determination of how comprehensive the error recovery requirements will be, whether on-line maintenance or periodically scheduled off-line maintenance will be required, and whether on-line o- off-line program checkout will be

6

necessary. If the system isto provide the capability for continuous support with very
little down time, then comprehensive error recovery procedures, on-line maintenance,
and on-lint rrogram checkout should receive definite consideration. This decision
can also affect the hardware configuration since equipment redundancy, either on -line
or off-line, is frequently required for continuous support.
o

Type of user personnel

Whn it is known that the system must interface with and accomodate users
with limited programming interests, such as in a general time-sharing system, greater

attention should be paid to the area of diaqnostics and system communication.

This

attention should focus upon the ease of usage, clear and simple messages, and clear
and simple instructions.
If the system is real-time, the user can usually be assumed to be a sophisticated
assembly or machine language programmer familiar with the internal organization of
the computer; and although diagnostic and debug features are very important, they
do not require the level of explanation and simplicity required for general timesharing usage.
o

Type of checkout supported

If a system is to provide continuous operational support, then a method should
be considered for allowing application program checkout concurrent with on-line
operations. This would probably involve the utilization of a special checkout mode
and therefore require special operating system support. This feature is required mcst
frequently in real-time processing systems and is usually also standard in time-sharing
processing systems.
o

Operational philosophy of ihe system

The question of manual intervention versus automatic decision making must be
cons;d4red. Will the operating system be hig['y dependent upon operator intervention or will the operating system be as independent as possible requiri,

very little

operator intervention?
o

I

Maintainability

Certain basic decisions should be made concerning the capabilities to maintain
the system operationally, e.g., the ease of updating, changing, deleting, generating,
and initializing, and the support to be provided for changing hardware configurations.
7

o

Reliability

This function is important to all sy.-erns but the real-time environment usually has
the most stringent requirements in this area. Specifications for this area should consider the degree of editing. error checking, fault isolation, operational degradation,
etc., that will be required by the operating system.
o

Expandability

Finally, it should be determined if the operating system may be required to perform additional functions in the future above and beyond those described within the
application scenario. This decision can affect the selection of certain requirements
which will ease the required operational transition o a later date.
When all of these considerations have been assessed, the next step is to select
the requirements that will best satisfy the decisions made.
2.4

Use of the Selection and Evaluation Criteria
The third through sixth steps used in selecting operating system requirements are

found within Section III of this report. Section III contains requirements checklists
and references to aid in the selection of requirements for an operating system or for
the evaluation of a proposed operating system. These requirements checklists are
constructed within the framework established by the Operating System Functional
Classification Structure. The entire structure as it relates to requirement specification is depicted in Attachment 1 to this report.
As shown in the attachment, the major operating system areas consist of:
1) Executive/Control Functions, 2) System Management Functions, and 3) Data
Manipulation Functions. Each of these major functionel areas is broken down into
hierarchical levels of functions contained within the major functional areas.

For

example, within the major functional area Executive/Control the first level grouping
is: 1.0 JOB MANAGEMENT, 2.0 DIAGNOSTIC ERROR PROCESSING, and 3.0
PROCESSING SUPPORT, while the second level grouping consists of such functions
as 1.1 JOB CONTROL, 1.2 I/O CONTROL, 1.3 SYSTEM COMMUNICATION, 1.4
RECOVERY PROCESSING, 2.1 HARDWARE ERROR CONTROL, 2.2 PROGRAM ERROR
CONTROL, etc.

Each lower level is a more detailed functional breakdown of the

functions of the preceding higher level. In certain functional areas this structure

8

is subdivided into only two levels, while in other areas it is subdivided into as many
as four.
Similarly, the requirements checklist has also been structured by the same hierarchical levels and are presented for each of the three major functional areas (Executive/Control, System Management, and Data Manipulation).
The presentation of the functions in the group level format provides a procedural
structure which allows personnel using the checklist t , perform a step-by-step progression
to the level of deliil required for a particular application. Also, this type of structure
provides a total system overview at each level. This is highly important in developing
an understanding of the entire operating system structure. With this in mind, the
attached diagram illustrating an overview of all levels of the hierarchical structure
will also enable the user to relate each particular function to the composite structure.
The level to which the requirements are selected for specification is dependent
upon many fa,;tors and an absolute rule can not be applied to determine the number of
levels that should be used. In many cases the level to which the requirements can be
specified is dependent upon the detailed knowledge or information available for
particular system's applications. In other cases the level of specification may vary
according to particular circumstances.
During the preparation of operating system specifications, it can be generally
assumed that for a known hardware configuration the entire checklist should be used.
In preparing a specification for an unknown hardware configuration, the first two
levels are most appropriate, while caution shouid be exercised in specifying the
requirements appearing in levels three and four. The reason for this is that many of
the methods used to implement operating systems are directly related to the hardware
upon which the operating system functions. Hence, many operating systems perform
the same function using different methods. Consequently, delineation of specific
requirements for operating system functions may lead to a choice between different
implementation methods, the specification of either of which would be overly restrictive for a competitive procurement.
A word of caution should be interjected at this point: The requirements checklist is to be a working document used by personnel to indicate requirements for an
operating system. A detailed review by the personnel preparing the final solicitation
9

document must be conducted to detect the specification of any improper or superficial
requirements. The danger in using a checklist of the type proposed is that criteria
can be specified, when in fact the criteria are not needed. Consequently, the user
must continually recognize that valid justification is still necessary prior to the
selection of any requirement.
Finally, it is a near certainty that although this is a fairly comprehensive checklist, there will still be some user requirements or methods of stating requirements other
than those that appear within the check!ist. These requirements, when they occur,
should first be incorporated within the system specification by the user and along with
available reference material should also become a permanent part of an updated checklist. This will insure that the checklist remains a comprehensive tool in performing
operating system specification, selection and evaluation.
A user can use his own discretion in how he designates (e.g., yes, no, mandatory, optional, etc.) that a requirement is a criterion for his particular system. An
example of this using page 44 (1.1.1 SCHEDULING) of this report as reference is as
follows:
The user has an extremely complex scheduling requirement (several jobs compeling for execution), so he would place a "yes" by requirement (a).

Since he has

several jobs in competition, he would place a "yes" by requirement (f), and if he
knew the number of possible jobs in contention, he would fill in the blank within
requirement (f), etc.
In many cases a requirement can be specified as "Mandatory" and this can be
used as a designator by the user, or a requirement may be specified as "Optional"
to mean that if a system has this feature, it is an added feature and will be a weighting
factor during final system selection.

10

SECTION III
SPECIFICATION AND EVALUATION CRITERIA

3.1

Introduction
This section presents the operating system requirements checklist discussed in

Section II. The checklist consists of a column of requirements applicable to each
functional classification area, followed by three columns entitled "Reference",
"Initial", and "Extended."
The "Reference" column contains reference numbers adjacent to the requirement
or requirements to which they are applicable. These reference numbers coincide with
the list of references on the facing page.

These references will aid in the determin-

ation of whether the requirement should be specified or is applicable for specification
for a particular operating system. As with the requirements checklist, the references
are intended to be open-ended.

The references should be extended as users identify

additional considerations.
The column entitled "Initial" is to be used by personnel using the checklist to
indicate whether a requirement 6 a criterion for Ohe initial phase of the particlar
operating system which is being specified; while the column entitled "Extended" is
to be used to indicate requirements that will be included within the operating system
at a later date but are not required for initial installation. It should also be noted
that within certain listed rmquirements blanks are available for insertina parameters
when their values are known.
3.2

Requirements Checklist - Part I - Executive/Control Functions

The following subsections present specification and evaluation criteria for the
components of the operating system that maintain real-time execution control over
the system environment.
3. 2. 1 First Level of Detail (Part I - Executive/Control Functions)
This suhsection covers the following first level executive/control functions:
1.0 JOB MANAGEMENT
2.0 DIAGNOSTIC ERROR PROCESSING
3.0 PROCESSING SUPPORT
!1

F!
REQUIREMENTS
OPERATING SYSTEM

Reference

REQUIREMENTS CHECKLIST

JOB MANAGEMENT

1

(a)

Batch processing support m ist be provided.

2

(b)

Real-time support must be provided.

2

(c)

Time-sharing support must be provided.

(q

Multiprogramming support must be provided.

3

(e)

Multiprocessing support must be provided for
processors.

4

1.0

i
12ii

ii

i

-

-

Initial

Extended

1.0

JOB MANAGEMENT
Reference:
1.

The job management function is responsible for the initiation, scheduling,
monitoring, and control of system operations for all jobs submitted to tie
system. In this context, a job encompasses all of the programs required
for the execution of a given application. The job management subfunctions consist of: job control, input/output control, system communication,
and recovery processing.

2.

The operational environment (batch, real-time, time-sharing) of a system
is directly established by the intended system applications.

3. Multprogramming is a technique that attempts to maximize computer
throughput by interleaving the execution of two or more programs. Normally, multiprogramming is not a requirement as long as system throughput
requirements can be met in a non-multiprogrammed manner. However,
some systems require multiprogramming as a firm operational requirement
without regard to throughput. These systems are normally those that combine
two or more processing environments (such as batch and real-time processing) or those that are communication based systems using multiple terminals
and requiring multiprogramming techniques due to the large number of concurrent messages received.
4.

This criterion is entirely dependent upon the hardware configuration and
can only be specified when the configuration is known.

13

RE QU IREM ENT S
NT S '
E
M
nn

OPERATING SYSTEM
REQUIREMENTS CHECKLIST

Reference

DIAGNOSTIC ERROR PROCESSING

I

(a)

The system must provide hardware error control.

2

(b)

The system must provide program error control.

3

(c)

The system must provide interface error control.

4

(d)

The system must provide error recovery procedures.

5

2.0

14

Initial

Extended

2.0

DIAGNOSTIC ERROR PROCESSING
Reference:
1. The diagnostic error processing function is responsible for recognizing hardware, program cnd interface errors. Recognition is usually based upon hardware interrupts or program testable switches. The function also supports the
diagnosis and resolution of error conditions.
2. This criterion is highly dependent upon the hardware configuration and can
only be specified in detail when the hardware configuration is known.
3. This criterion is rarely specified. However, it may be necessar> to specify
it when there will be a iarge amount of program testing in a batch processing
or time-sharing environment or if the system operates in an on-line real-time
environment.
4.

Usually any interface that can exhibit control, introduce control, request
control or initiate an executive function should be edited. The editing
performed is generally ba-ed upon system defined format constraints.

5.

Error recovery routirns are usually provided with a system and they may be
augmented by the installation during system generation. Augmentation or
redesign of error recovery routines is most frequently found in real-time
environments. This function should be specified for all processing systems.

15

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
3.0

PROCESSING SUPPORT

Reference
I

(a)

The system must provide a timing service.

2

(b)

The system must provide testing/debugging service.

3

(c)

The system must provide a logging and accounting
service.

(d)

The system must provide system description maintenance.

16

4

Initial

Extendc...

3.0

PROCESSING SUPPORT
Reference:
1.

The processing support functions consist of supervisor routines which may be
called upon to accomplish a variety of miscellaneous services for an application
program. In general the services are utilitarian in nature and provide convenient, rather than necessary, functional support.

2.

Most systems have an internal timing device which provides timing services to
application programs. A few systems, to reduce the size of the resident supervisor, only include these services as an option during system generation. This
tfature is highly desirable in a real-time processing system and frequently
occurs in both the batch processing and time-sharing environments.

3.

In a real-time environment testing/debugging service spccifications should take
advantage of any specially provided hardware processing modes.

4. This criterion is rarely specified. However, it may be advisable when a single
set of app ;cation and/or system programs are to be executed usinq two or more
hardware configurations so that the programs may tailor themselves to the
specific hardware or software environment.

17

3.2.2

Second Level of Detail (Part I - Executive/Control Functions)
This subsection covers the following second level executive/control func-

tions:
1.1
1.2
1.3
1.4
2.1
2.2
2.3
3.1
3.2
3.3
3.4

JOB CONTROL
I/O CONTROL
SYSTEM COMMUNICATION
RECOVERY PROCESSING
HARDWARE ERROR CONTROL
PROGRAM ERROR CONTROL
INTERFACE ERROR CONTROL
TIMING SERVICE
TESTING/DEBUGGING SERVICE
LOGCING AND ACCOUNTING
PROGRAM ACCESSIBLE SYSTEM DESCRIPTION MAINTENANCE

19

REQUIREMEI !TS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

(a)

JOB CONTROL
1.1
The system must provide support for the concurrent
execution of up to

(b-c)

Reference
1
2

batch jobs.

Batch support must be provided for:
(b)
(c)

cen'.ral site job entry,
remote job entry.

(d)

The system must support
terminals.

remote job entry batch

3

(e)

The system must provide support for the concurrent
real-time jobs.
execution of up to

2

(f)

The maximum service time for a real-time request
under average load conditions is

4

(g)

The maximum service time for a real-tlme request
under maximum load conditions is

4

(h)

The system must provide control for real-time jobs
initiated by clock interrupts.

(i)

The system must provide support for the concurrent
time-sharing jobs.
execution of up to

(j)

The system must support, at a maximum, simultaneous
terminals.
submission of jobs from

(k)

The system must support, on the average, simultaneous
terminals.
submission of jobs from

(I-m)

The system must provide a response to interactive
terminals within a time frame

(I) of

during maximum load conditions,

(m) of-during average load conditions.

20

5

4

Initial

Extended

1.1

JOB CONTROL
Reference,
1.

D, not overlook any future expansion requirements in this area since it will
I obably be more economical to include these requirements in the basic
system rn"her than to change the system at a later date.

2. While frequently employed for evaluation, this criterion is rarely specified. However, it may be necessary under the fol!owing circumstances:
a. enough information is known about the real-time environment
to determine the number of independent real-time processes/
interrupts requiring near-simultaneous servicing
b. sufficient information is known about the hardwai configuration, throughput requirements, and projected batch
processing load to dictate a level of accuracy.
3.

This criterion is entirely dependent upon the hardware configuration and can
only be specified when the configuration is known.

4.

This criterion should be specified when system response time requirements are
known.

5.

This criterion should be specified for a time-sharing sysgm.

24

REQUIREMENTS
OPERATING SYSTEM
Reference

REQUIREMENTS CHECKLIST
1.2

1/0 CONTROL

1,2

must support I/0 scheduling.

3

(a)

The system

(b)

The system must provide support for up to
terminals.

(c)

The system must permit the concurrent activity of up
remote terminals.
to

(d)

The system must provide support for up In
devices.

(e)

The system must support the concurrent operation of up
devices.
to

6

(f)

The system must provide support for up to
processors or channels.

7

(g)

The system must support the concurrent operation of up
I/0 processors or channel.
to

7

The system must support the following device types/
number of device types:

7

(h-o)

(h)
(i)

(j)
(k)
(I)
(m)

(n)
(o)

remote

I/0

direct access storage devices,

22

4,5

I/0

unit record devices,
paper tape units,
magnetic tape units,
typewriters,
-console
display devices,
___plotters,
extended core storage.

4

inl;ial

Extended

1.2

I/O CONTROL
Reference:
System control over the activity of input and output devices is a characteristic
feature of third-generation operating systems. This control is maintained for
two separate reasons. First, it simplifies the work of the application programmer since he need not be concerned with the intricate details of programming
for a variety of channel and device characteristics. This upgrades the overall
effectiveness of the programming staff since a standard and well defined
approach, rather than a number of widely varying approaches, is always used
to interface with I/0 devices. Secondly, since the system is in control of
I/0 activity, the application program need not be alerted to process I/0
interrupts. •
2. Future expansion requirements should be factored into the quantity of each
device to be supported.
1.

3.

I/0 scheduling is the process of acknowledging a request for I/0 services and
initiating the physical input or output operations to satisfy the request. Requests
for service may be processed immediately or they may be serviced according to
a queuing scheme. In the latter case, queues are provided to hold requests for
channel or device services. This criterion should be specified for all system
environments.

4.

This criterion should be specified for either a time-sharing or remote batch
processing system. It may only be specified in detail when the hardware
configuration is known.

5.

If it is possible that all remote terminals will be interacting or functioning
with the system at any particular time, then the number of rer ate terminals
will equal the number requiring concurrent activity.

6.

This value should be de' rmined by the anticipated utilization under peak
loading conditions.

7.

This criterion is highly dependent upon the hardware configuration and can
only be specified in detail when the hardware configuration is known.

23

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.3

Reference

SYSTEM COMMUNICATIONI

(a)

The system must permit up to
displays.

operator terminals/

2

(b)

The system must permit up to
displays.

user term'inals/

2

(c-f) The system must support the following types of
operator and user communication devices:
(c)
(d)
(e)
(f)

card reader,
console typewriter,
typewriter-CRT display,
ty pewriter-printer.

2
3
4
4

(g)

The system must provide device independent communication formats.

(h)

System startup must be provided.

24

5

Initial

Extended

1.3

SYSTEM COMMUNICATION
Reference:
1.

System communication incorporates all of the functions involved in the exchange
of information between the user or the computer -nerator and the operating system.
The communication may be oriented either to controlling the execution of scheduled
jobs within the system or to configuring system components and monitoring system
status.

2. This criterion is dependent upon the hardware configuration and can only be
specified in detail when the hardware configuration is known. Potential
expansion requirements should also be considered.
3. The use of a card reader as a communication device is usually only associated
with local or remote batch processing.
4.

Typewriter printers and typewriter-CRT displays can be associated with both
time-sharing and real-time environments.

5.

Providing device independent communication formats entails much planning
in the design pl.ase; however, it is quite worthwhile to the user. This feature
allows any communication device to be substituted for another device type
without greatly affecting operation. Furthermore, this method of format
standardization can be an economical factor in user job and program preparation. Consequently, it should be seriously considered during the development of specifications or during the e, :!-gotion of system proposals.

A

25

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.4

RECOVERY PROCESSING

(a-b) The system must provide checkpoint/restart facilities
at the following levels:
(a)
(b)
(c)

Reference

1,2
3

program,
system.

The system must provide restart for all suspended
programs.

26

3

Initial

Extended

1.4

RECOVERY PROCESSING
Reference:
1. Checkpoint/restart facilities are normally invoked whenever error processing
routines have analyzed an error and determined that execution should be
resumed from an earlier point in the processing cycie. Consequently, checkpoint/restart usually supplements normal error recovery operations and should be
considered for specification in all system environments.
2.

Checkpointing may be performed at either the system level or the program level.
Only in rare circumstances are both provided. The system level checkpoints
the entire system whereas the program level only checkpoints a single program.
Consequently, in a real-time system checkpoint/restart facilities are generally
initiatc d at the system level rather than the program level. In a batch processing or time-sharing system, on the other hand, checkpoi,;jrestart facilities
are most likely to be initiated at the program level.

3.

When checkpointing is performed at the program level, a checkpoint nwy also
be used to temporarily suspend and later resume an executing progiam in order
to permit execution of one or more programs.

27

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
2. 1

HARDWARE ERROR CONTROL

Reference
1

(a)

The system must provide for error correction.

2

(b)

The system must provide error notification.

3

(c)

The system must provide for recovery from hardware
errors.

4

(d-i) The system must detect the following hardware errors(d)
(e)
(1)
(g)
(h)
(i)

CPU errors,
I/0 device errors,
I/0 channel or I/0 processor errors,
storage parity errors,
co-processor errors,
power failure.

5

6

Initial

Extended

2. 1

HARDWARE ERROR CONTROL
Reference:
1.

It is usually necessary to specify this criterion when proposing an extensive
error recovery scheme for a particularly complex system.

2.

Generally, error correction is performed by retrying a failing operation and, if
this fails, relyng upon analternate method of accomplishing the cperation.

3.

U5ally, i" error correctior can be satisfactorily performed: notification of the
error is not requie-d. However, if the error can not be corrected, some form of
crror notification should be directed to the operator ard to any affected interactive user.

4.

System recovery from hardware errors can be associated with systems that support
reconfiguration either through standby redundancy, replaceable modules and
devices, or a degraded (fail soft) mode of opero;ion. These functions are most
frequently found in medium-to-large scale systems supporting a real -tme
environment where full time operation is required.

5.

Indications of CPU errors, I/0 device errcr, I/0 channel errors, parity errors,
and power failures are generated by almost every hardware system.

6.

The recognition of co-processor errors is only significant in a multiprocessor
configuration. Generally, one of the no"-failing processors will initiate
diagnostics to determine the cause of the failure, the extent of the do,.ge,
and the recovery procedures that can be inv,'od. Error recovery for u mnultiprocessor configuration is more complicated (by an order of cnagnitude) than
for uni-processing sys'ems.

29

REQUIREMENTS
wE12:z=

OPERATING SYSTEM
_____________REQUIREMENTS

CHECKLIST

Reference

PROGRAM ERROR CONTROLr

2.2
(a)

The system must provide for program error correction.I

(b)

The system must provide program error not ificai -on.

2

(c)

The systein must provide control led abnormal program

3

terminations,
(d-j) The system must detect the foi~owing types of error:
(d)
(e-g)

(h!
(i)

n-rithmetic errors,
Instruction errors:
(e) invalid insfruction,
'f) unsupported instruction,
(g) privileged instruction,
invalid address errors,
storage protecton errors,

() invalid data errors.7

4
5

6
6

IInitial

Exlended

2.2

PROGRAM ERROR CONTROL
Reference:
1. Almost all ,ystems recognize program errors occuring in user programs and assume
control to prevent the system from being adversely affected. The user is frequently
allowed to supply his own error handling routines for certain types of errors, such
as arithmetic and data errors.
2.

Program error notification should be considered for a time-sharing system since
the ineractive user can frequently determine the corrective action that should
be taken. In batch processing the error is normally logged and on-line nctification is not normally performed. In the real-time environment when an error
occurs in an operational program, it is usually desirable for notification to be
made directly to the console operator.

3.

This function is highly desirable in batch and time-sharino systems. In a realtime environment, a form of error recovery, rather than abnormal termination,
should be considered.

4.

These criteria are dependent upon the hardware configuration and can only be
specified in detail when the hardware configuration is known.

5.

There are several different types of instruction errors that a system should
recognize and distinguish. An invalid instruction is one that is not a part
of the hardware's instruction repertoire. The normal error procedure should
be to teiminate the offending program. An unsupported instruction error occurs
when a computer has optional instruction sets. Normally a programmed procedure
can be used to simulate the optional instruction. Privileged instructions are used
by most third generation systems to reserve a part of the instruction set for the
sole use of the supervisory programs. By controlling the use of these instructions,
aoplication programs are much less likely to inadvertantly damage the software
system. The recognition or detection of an attempted use of one of these
instructions by an application program should cause operator notification and
possibly job termination.

6.

Invalid addressing errors are detected by most systems when either the address
does not physically exist within hardware storage or if it lies out of an application program's assigned working area. Unauthorized attempts to access OS
resident areas or other urer areas should be detected and the offending program
should be terminated. In a shared computer system (batch or time-sharing),
repeated occurences should be brought to the attention of the operator. Timesharing systems that process classified or private information should always
storage protect this information and notify the operator of any violations.

7.

It is usually impossible to determine invalid data content unless the user has
specified limit values within which the data should occur. However, hardware
detection can be used for detecting invalid data parity and adherence to device
data formatting requirements.

31

REQUIREMENTS
OPERATING SYSTEM

REQUIREMENTS CHECKLIST
2.3

-

Reference

INTERFACE ERROR CONTROL

(a)

The system must edit operator key-ins.

1

(b)

The system must edit input stream control commands.

2

(c)

The system must edit remote terminal communications.

3

(d)

The system must edit program to system linkages.

4

32

Initial

Extendea

2.3

INTERFACE ERROR CONTROL
Reference:
1. All processing system environments provide a form of operator communication.
Most systems thoroughly edit and validate each operator input command prior
to attempting to execute it since the failure to do so could result in a system
failure. Consequently, serious consideration should be given to this criterion.
2. This criterion should be specified for a batch processing or time-sharing envi-onment.
3. This criterion should be specified for time-sharing and remote batch processing
environments.
4.

This criterion is highly recommended for time-sharing and batch processing
systems. It's usefulness in a real-time environment is somewhat questionable
since real-time programs should be thoroughly validated prior to operational
processing.

33

I.

REQUIREMENTS
-

OPERATING SYSTEM
REQUIREMENTS CHECKLIST
3.1

TIMING SERVICE

Reference
I

(a)

The system must provide real.-time clock services.

2

(b)

The system must provide interval timing services.

3

Initial

"s
Extended

3.1

TIMING SERVICE
Reference:
I.

These features are highly desirable in a real-time processing system and are quite
useful in time-sharing and batch processing environments. Implementation, however is dependent upon the availability of a timing device.

2. Real-time clock services are generally required for any environment in which
the time of day will affect the processing workload. For example, in batch
processing a time of day is frequently used as a deadline by which some processing jobs must be completed. In real-time systems, it may be used either
for job scheduling or for distinguishing event occurences (e.g., message timestamping). Time-sharing systems have no particular requirement for a realtime clock.
3.

Interval timers are generally required in a real-time environment in which
execution scheduling is based upon a periodic interval (e.g., polling of
communication lines). Interval timing services are also used by most timesharing environments to control the execution time allotted to each user.
Interval timing service can also be incorporated within all systems as a
debugging aid. One method of use is for an application program to set a
time limit on the performance of a loop. If the time expires prior to loop
completion or exit, then this indicates that something is wrong within the
loop. Also, this function is sometimes used by systems to detect I/O devices
that fail to respond within a certain designated time period.

35

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
3.2
(a)

Reference

TESTING/DEBUGGING SERVICE

The system must provide storage dumps.

(b) The system must provide tracing facilities.
(c)

-24

The system must provide a special test/debuj
operating mode.

36

I
2
3

Initial

Extended

3.2

TESTING/DEBUGGING SERVICE
Reference:
1. This criterion should be specified for all processing systems.
2.

Tracing facilities are usually most extensive in a time-sharing system although
they are also quite useful in testing batch and real-time programs. Specification of the criteric , should be dependent upon the anticipated level of program testing that will be performed.

3.

This criterion is highly desirable in both a batch and real-time processing
environment. In real-time processing, it may permit some program testing
while the system is actually "on-line," or it may allow the simulation of a
real-time environment when the system is "off-line." It is also extremely
useful in a batch processing system where a high degree of program testing
occurs. In this area, it frequently takes the form of a set of pre-spocified
actions that can be invoked when a program error occurs. Theseoctions
override the system's standard abnormal termination processing capabilities.

4

37

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLST
3.3

Reference

LOGGING AND ACCOUNTING

(a-c) The system must maintain:
(a)
(b)
(c)

job charge information,
error statistics,
system utilization statistics.

1
2
3

38

Initial

Extended

3.3

LOGGING AND ACCOUNTING
References:
1.

Batch processing and time-sharing operating systems normally require detailed
accounting information on job execution time, device utilization, core utilizotion, etc. Consequently, this criterion should be specified -or these two
environments.

2.

It is usually highly desirable to accumulate error statistics in order to identify hardware devices that have a greater than normal frequency of intermittant
errors. As a result this criterion should be considered for all processing
systems.

3.

Though this criterion is rarely specified, it may be desirable to maintain system
utilization statistics for relatively large and complex systems. These statistics
in turn, can be examined to enable the system manager to tailor and tune various
operating system functions to improve overall system performance.

39

OPERATING SY

REQUIREMENTS
'
"

.

REQUIREMENTS CHECKLIST
3.4

PROGRAM ACCESSIBLE SYSTEM
DESCRIPTION MAINTENANCE

Refe',-.nce
I

(a)

The system must maintain current system status information.

2

(b)

The system must maintain currcnt system description
information.

3

(c)

The system must provide for the extraction of system
description information by a user program.

2

40

Initial

Extended

3.4

PROGPAM ACCESSIBLE SYSTEM DESCRIPTION MAINTENANCE
References:
1.

Many batch processing and time-sharin 1 stems maintain a certain amount
of descriptive information in a supervsor communication region that may be
interrogated by an application program. Three types of information are
likely to be maintained: system defining information, current system status
information and individval job information.

2.

System status information may be of use to installation monitoring or accounting routines tha -re not built into the operating supervisor. Device status
information (availability) is also extremely useful when an application
program may use a number of different devices to accomplish its processing.

3.

This information is useful when there are general purpose programs or
compilers in operation that have the cap&.siiity of alternate modes of operation based upon hardware and sofi'are status. For example, sort programs
are usually designed to use all of the core areu available.

41

3.2.3

Third Level of Detail (Part I - Executive/Control Functions)
This subsection covers the folowing third level execjtive/control func-

tions:
1.1.1
1.1.2
1.1.3
1.1.4
1. 1.5
1.2.1
1.2,2
1.2.3
1.2.4
1.3.1
1.3.2
1.3.3

1.3.4
1.3.5
1.4.1
1.4.2
2. 1. 1
2.1.2
2. 1.3
2.2.1
2.2.2
2.2.3
2.3.1
2.3.2
2.3.3
2.3.4
3.1.1
3.1.2
3.2.1
3.2.2
3.2.3
3.3.1
3.3.2
3.3.3
3.4.1
3.4.2

SCHEDULING
RESOURCE ALLOCATION
PROGRAM LOAD!NG
EVENT MONITORING
PROGRAM TERMINATION PROCESSING
I/O SCHEDULING
DATA TRANSFER
DEVICE MANIPULATION
REMOTE TERMINAL SUPPORT
SYSTEM STARTUP
JOB CONTROL r" WMUNICATION
,EAM CONTROL
INPUT/OUTPUT
RESOURCE STATUS MODIFICATION
SYSTEM STATUS I NTRROGATION
CHECKPOINTING
RESTARTING
ERROR CORRECTION (Hardware errors)
ERROR NOTIFICATION (Hardware errors)
ERROR RECOVERY (Hardware errors)
ERROR CORRECTION (Program errors)
ERROR NOTIFICATION (Prgram errors)
PROGRAM TERMINATION
OPERATOR KEY-IN EDITING
CONTROL COMMAND EDITING
REMOTE TERMINAL COMMUNICATION EDITING
PROGRAM TO SYSTEM LINK VERIFICATION
REAL-TIME CLOCK SERVICE
INTERVAL TIMER SERVICE
STORAGE DUMP CONTROL
TRACING CONTROL
SYSTEM TEST MODE CONTROL
MAINTAINING JOB CHARGE INFORMATION
MAINTAINING ERROR STATISTICS
MAINTAINING SYSTEM UTILIZATION STATISTICS
CURRENT SYSTEM STATUS INTERROGATION
SYSTEM DEFINITION INTERROGATION
-

43

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.1.1

SCHEDULING

RPerence

I

(a)

The system must provide an algoriihmic scheduling
capability.

2,7

(b)

The system must provide a time-initiated scheduling
capability.

3

(c)

The system must provide an event-initiated scheduling
capability.

4

(d)

The system must provide a program-initiated
scheduling capability.

5

(e)

The system must provide conditional scheduling.

6

(f)

The system must recognize up to
priority levels.

7

(g-k)

Batch scheduling must be permitted from the
following sources:
(g)
(h)
(i)

(j)
(k)
(I)

scheduling

local input s~ream,
remote input stream,
a,, executing interactive job,
an executing real-time job,
another executing batch job.

The system must provide scheduling for programs
and/or subprograms which will be consistent with
the desired sequence of operations.

44

8
9,5
9,5
9,5
10

Initial

Extended

1.1.1

SCHEDULING
Reference:

1.

The purpose of the scheduling function is to select a job which is available for processing and prepare it for execution. The function may be
extremely complex, as in an extended multiprogramming system where
several jobs may be simultaneously available for execution, or quite
simple, as in serial processing systems where the order of programs in
the input stream may dictate the execution sequence. Since most
systems handle more than one type of processing mode, different scheduling philosophies are used for the real-time, time-sharing, and
batch processing applications.
The greatest variation in the implementation of the scheduling facility
exists in the handiing of batch processing. The most elementary approach
is to schedule each job for execution in the sequence of its occurence in
the input stream. When a system has separate input streams for several
processing areas, as in serial processing or basic multiprogramming systems,
each input stream serves as a scheduling queue which is external to the
system.
Further sophistication of the sequential approach is achieved by pre-reading
the entire input stream and storing it on a secondary storage device such as
a disk. By so doing, jobs may be executed in an order other than input
stream sequence. In this type of system, scheduling parameters are introduced to control the execution sequence. Normally, these parameters are
priorities, where a higher priority job is executed before a lower priority
job. Alternatively, the parameters may be clock times, where a job is
initiated at a selected time or is initiated to be completed by a certc*n
time. Clock-time scheduling may also be used to initiate selected realtime jobs.
The batch scheduling philosophy of an extended multiprogramming system
allows jobs submitted from more than one input stream to cam F te for execution assignment. Under this philosophy a scheduling queue on an intermediate storage device is mandatory, and jobs are placed on this queue
whenever they are entered from either a local or remote input terminal.
In this type of system, an input stream symbiont is used to read the input
stream a.od store it on the scheduling queue. The symbiont is itself scheduled
by an external event such as an operator or user command to initiate input
stream processing.

2.

Algorithmic scheduling provides a priority scheduling concept where a
number of factors may be allowed to influence the selection of the next
program chosen for execution. This criterion should probably be specified for all extended multiprogramming systems.

45

REQUIREMENTS
OPERATING SYSTEM
Reference

REQUIREMENTS CHECKLIST
1.1.1

SCHEDULING (repeated)

1

(a)

The system must provide an algorithmic scheduling

2,7

(b)

The system must provide a flmi.-initiated scheduling
capability,

3

(c)

The system must provide an event-initiated scheduling
capability.

4

(d)

The system must provide a program-initiated
scheduling capability.

5

(e)

The system must provide conditional scheduling.

6

(f)

The system must recognize up to
priority levels.

7

(g-k)

Batch scheduling must be permitted from the
following sources:
(g)
(h)
(i)

()
(k)
(I)

scheduling

local input stream,
remote input stream,
an executing interactive job,
an executing real-time job,
another executing batch job.

8
9,5
9,5
9,5

Tk system must provide scheduling for programs
and/or subprograms which will be consistent with
the desired sequence of operations.

46

---

10

Initial

Extended

1.1.1

SCHEDULING (cont'd.)
Reference:
3.

Time initiated scheduling is frequently found in batch and real-time processing
systems. It is used when job initiation must occur at a certc'n time or must be
completed by a certain time. Clock time scheduling may also be used to
initiate selected real-time jobs. Consequently, this criterion should be
examined for a batch and real-time processing system. The criterion is
rarely specified for a time-sharing system.

4.

Initiating programs in response to events that produce an external signal
to the compute. is the most straightforward of the scheduling methods.
This criterion should normally be specified for both real-time and timesharing sysiems.

5.

Program-initiated scheduling permits an executing program task to request
that another program task be scheduled for either asynchronous or subsequent
execution. This capability frequently occurs in a time-sharing environment
where background batch processing is in;tiated by a foreground time-sharing
program. It is also found in large multiprogrammed batch processing systems.

6.

Conditional scheduling permits the user to specify scheduling parameters
which must be satisfied before the program can be initiated. These parameters tend to be the presence or absence of certain errors in a previous
job step as well as the status of internally and externally set switches.

7.

Mans, times the priority levels required to control scheduling can be
determined from the environment. A batch environment will usually only
have a few levels of priority to expedite urgent and/or short jobs. Timesharing environments also generally need few priority levels. A rea-time
environment usually requires several levels of priority. These levels of
priority are assigned to individual programs according to their execution
requirements relative to other programs.
If the system is to operate in a mixed environment (e.g., batch and
real-time, etc.) then a combination of priority levels for each environment will probably be required.

8.

This criterion is dependent upon the hardware configuration and can only be
specified when the hardware configuration is known.

9.

A detailed examination of the intended or existing application programs
must be performed to determine the desirability of this criterion.

10.

This criterion should be specified when an operational scenario is included
within the specification.

47

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
RESOURCE ALLOCATION

1

The system must allocate and prevent conflicts for,
the following resources:

2

1.1.2
(a-d)

(a)
(b)
(c)
(d)
(e-g)

3

permanent assignment,
static (job stream) requests,
dynamic (execution time) requests.

4
5
6

The allocation of I/0 devices must be by:
(h)
(i)

()
(k-I)

core storage,
I/O devices,
data files,
common routines.

Extended

Initial

The allocation of core storage must be by:
(e)
(f)
(g)

(h-i)

Reference

permanent assignment,
static (job stream) requests,
dynamic (execution time) requests.

4
5
6

The allocation of data files must be by:
(k)
(I)

static (job stream) requests,
dynamic (execution time) requests.

48_

5
6

__

_]

1.1.2

RESOURCE ALLOCATION
Reference:
1.

The resource allocation function is responsible for assigning resources
to each executing job in such a way that conflicting resource assignments
are avoided. In general the system resources are CPU time, core storage,
I/0 devices, information files, and commonly used routines. The allocation of CPU time to a program is called dispatching and is covered
separately under Section 1.1 .4.

2.

This feature is not necessary in a serial processing system since all system
resources are normally made available to the executing program. However
the criteria should be considered for both multiprogramming and timesharing environments.

3.

Routines that can be used by multiple programs may be designed to be
loaded and executed when needed, or to be permanently core resident.
They are rarely incorporated as a part of +he executing program during
the binding process except in serial processing or small multiprogramming
systems.

4.

This criterion is usually relevant for a basic multiprogramming environment
where the user needs little control over resource assignment. It is
primarily found in dedicated environments, such as real-time foreground/
batch background applications in which the resources are permanently assigned
to a particular environment.

5.

This criterion is primarily relevant for those environments supporting input
job streams (local and remote batch processing) and is also frequently
found in time-sharing systems. The request for system resources occurring
within the job stream generally means that the resources are assigned to
the requesting element (job, job step, task) for the entire duration of the
element's processing. With the exception of data files, these resources are
generally not available for the use of other programs until this element terminates. Many systems will also not permit a program task to be scheduled until
all static resource requests have been satisfied. The criterion should probably
not be specified for real-time applications.

6.

This feature occurs in many real-time environments as well as in large
multiprogramming and time-sharing systems. The feature permits a
system element to be assigned to an executing task only for the length it
is actually needed, rather than ;or the duration of the entire task. A
program will execute until it reaches a point at which a resource is required,
reques+ the resource, and then suspend itself until the resource becomes
available. In a large system this reduces the nti'ber of I/O devices required
and allows more effective utilization of core storage. It also invokes heavy
overhead as well a- introducing the possibility that a job in execution will
be delayed because a resource is not available.
It is highly recommended for those systems wher,- several programs may require
access to a single on-line data base.
49

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS 2HECKLIST
1.1.3

1

PROGRAM LOADING

(a)

The system must provide for program or program
segment loading into main memory.

(b-e)

The sy- em must permit program loading from the
Following sources:
(b)

syst--n library,

(d)
(e)

input s1ream,
temporary library (e.g., compiler
output file).

Wc

Reference

2

user Ilibrary,

(f)

The system must provide facilities for absolute
loading.

(g)

The system must provide facilities for relocatable
loading.

50

3

Initial

Extended

1.1.3

PROGRAM LOADING
Reference:
1. The program loading function is responsible for loading a program task into -ore
storage in such a way that it can be executed under the control of the system
supervisor. There are two basic forms of program loading and either one or both
is found in every operating system. The first, absolute loading, can only luau
a program that is in complete executable (core image) form. This technique
requires very little system overhead durirg the loading process, though it a,;o
usually does require an independent supoort program element to convert the various programs into the executable core mage format.
The second form of loading, relocutal a loading, combines most of the functions
of the independent support program eiemc it and the absolute loader into a sing#
system element. A relocatable loader w I assign preliminary storage addresses
to the program, perform any address adjustments that may be required, combine
the program with any required support subroutines, and produce a loaded executable program. The system overhead is considerably higher for this techniqut ,
however the human requirements for compiling, loading, and executing a program
are greatly simplified.
As a result, absolute program loading is most generally found in small re, -time
control systems (where overhead must be minimized) and in small basic mLItiprogramming and serial processing systems where the assigned program execution
area is relatively static (such as a fixed background partition). Relocatable ioaders occur most frequently in extended multiprogramning systems as well as in most
time-sharing environments. Both loading techniques frequently co-exist in large
multi-purpose systems.
2.

Programs that may be loaded into core (using either technique) must reside in a
defined location. Every system provides a system library which is composed of the
operating system itself, the various pnogram language compilers, and many of the
most frequently used application programs. The system 'ibrary is almost always
on-lin.'. Separate user libraries are generally designed to be removed when not
in use. User libraries G,e also frequently used in large multi-user environments
such as time-sharing and remote batch processing systems.
The loading of programs through the input stream is usually a supplement to lib,aries. This technique dates back to earlier computer systems where program decks
were maintained apart from the computer and loaded only when needed. Most
systems still retain the capability, but apart from remote batch processing appli.cations it finds little use except in program testing.

3.

The purpose of this feature is to protect the system and user libraries against the
addition of unproven programs. Most systems provide this protection in some
form. Therefore, the nature of the protection, and the specification of this
criterion, would only be important in rare circumstances.

51

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1. 1.4

m

Reference
I

EVENT MONITORING

(a)

The system must provide fixed time-slice dispatching.

2

(b

The system must provide variable time-slice dispatching4

2

(c)

The system must provide contention (priority)
lispatch ing.

2

(d)
(e)

The system must provide event synchronization.
distinct external
'he s tem must recognize up to

3
4

interru s.
interrupt levels.

(f)

The system must recognize up to

(g)

The system must provide limit monitoring.

52

4
5

Initial

Extended

1.1.4

EVENT MONITORING
Reference:
1.

Event monitoring refers to the control the operating system maintains over executing programs. The function includes: dispatching control, interrupt processing
control, event synchronization, and program limit monitoring.

2.

Dispatching is the supervisor controlled allocation of processor tire to a speciic
task. Tasks that are eligible for dispatching have already been placed in an execution state by the sckeduler and are not waiting for I/O activity, operator responses,
etc. Dispatching is important only in multiprogramming and time-sharing.
Two techniques are frequently used: time-slicing and contention. Time-slicing
allows one program to execute for a specified length of time, interrupts it , and
selects another program to execute for another specified time period. Consequently, each program in execution is guaranteed a certain slice of time for execution.
The contention technique, on the other hand, allows the highest priority program to
execute until it no longer requires the CPU and thien assigns the CPU to the next
highest priority program. A low priority program is not guaranteed any execution
time beyond that not used by higher priority programs.
Time-slicing is normally used for time-sharing whereas contention processing is
almost mandatory for most real-time applic,. )ns. Batch processing systems may
use either technique, with little preference shown to one or the other.
While frequently used for evaluation, disptching criteria are rarely specified.
However, if an operating system is to be specifically designed for a give: ;Pplication, it may be desircble to consider the dispatching technique during initial
criteria specification.

3.

Event synchronization is the process of delaying task execution until some specified
event occurs or the process of triggering a task upon the occurrence of a specified
event. The most common types of events which may delay or initiate task e-,ecution are I/O completions, selected time intervals, subtosk completions, c' a
unsolicited key-ins.

4.

This criterion is highly dependent upon the hardware configuration and con only
be specified in detail when the hardware configuration is known.
Interrupts that ore provided in response to certain error conditions within the CPU
(e.g., illegal instruction, arithmetic overflow, pari' error, power failure, etc.)
are considered internal interrupts and should not enter these calculations.

5.

This criterion is frequently specified for time-sha,"q and batch processing in order
to prevent misuse of system resources. The featui
generall), desirable in a
testing environment to assure that a program error does not result in voluminous
output records, excessive CPU time, etc. Generally, limits are established for.
CPU1 time, output lines/cords/or records, and main and secondary storage space
allocation.

53

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.1.5

PROGRAM TERMINATION PROCESSING

Reference
I

The system must deallocate all resources at program
termination.

2

(b-e) The system must provide summaries of the following
information:

3

(a)

(b)
(c)
(d)
(e)

error statistics,
CPU time utilization,
device utilization,
file access statistics.

(f-i) The system must provide the fo!lowing options at
abnormal termination:
(f)
(g)
(h)
(i)

durw. core,
dump files,
execute a specified program,
initiate recovery procedures.

4
4
5

(j)

The system must notify 'he operator of abnormal
terminations.

6

(k)

The system must notify remote terminal users of
abnormal termintions.

7

54

Initial

Extended

1.1L5

PROGRAM TERMINATION PROCESSING
Reference:
1. A program terminates normally when it has completed all of its processing
and returns control to the s,.,ervisor. A program may also be abnormally
terminated by the operating system under a number of different circumstances. This is frequently caused by a programmed rejest for abnormal
termination of the job, a system determination to abort due to lack of
corrective actions for certain error conditions, or a console command to
terminate issued Oy the computer operator. The standard abnormal termination procedure is to discontinue execution of the executing task, or
possibly of the entire job, depending upon the criticality of the task
with respect to the job.
2. This criterion should be specified for all processing systems that use the
static resource allocation technique.
3. Summary status information is highly desirable for most batch and time-sharing
applications. CPU time utilization, device utilizaton, and file access
statistics can also be helpful to a facility in "tuning" the system to best
meet operational requirements. Error statistics are an aid to hardware
maintenance personnel.
4.

This feature frequently occurs in _ batch processing or time-sharing system
as a means of providing program testing and debug support.

5.

The initiation of recovery procedures is highly desirable and usually
mandatory for most real-time processing systems.

6. This feature rarely occurs in time-sharing or large batch processing
systems. When it does, it is normally restricted to operational programs
rathor than programs being tested. It should, however, be specified for
a real-time processing system.
7.

This criterion should be specified for time-sharing proces. ng, remote
batch processing and interactive real-time processing.

55

REQUIREMENTS
.

OPERATING SYSTEMA
kQUIREMENTS CHECKLIST
1.2.1

I/O SCHEDULING

(a)

The system must provide immediate scheduling of
I/O requests.

(b-e)

The system must permit specific device assignment
from the following system external sources:
(b)
(c)
(d)
(e)

Reference

input stream (control statement),
the operator,
a program,
interactive user.

I

2

3

(F)

Specific device assignment must be the responsibility
of the system.

(g)

The system must provide queuing of input requests.

(h)

The system must permit specification of device
priority.

4

(i)

Ihe system must permit the specification of I/O
request prioriies.

5

(

The
i system must attempt to route I/O to a specific
route , rni. ri t roule
device via u,. ,
is busy or disabled.

6

(k)

The system must provide facilities for alternate
device selection.

6

(I-m)

The system must provide facilitics for initiating

Glternate device selection:
(I)

automatically,

(M)

by the cperator.

7

56

Initial

Extended

1.2.1

I/O SCHEDULING
Reference:
1.

This criterion should be specified for all serial processing systems. This
method is also used quite frequently in basic multnorogramming systems
where dedicacd real-time devices ire known to be available. Any
system supporting real-time processing where there are critical I/O
operations should also conside, this criterion.

2.

Operator assignment of devices is highly desirable in most processing
systems to permit an override of other assignment techniques due to
unusual workloads.

3.

Specific device assignment by the system is a dynamic method of selection
which increases system throughput. This can be associated with multiprogram processing in which the system knows the status of all devices
and can therefore make the best decision at a given moment as to which
device should be made available to a particular program.

4.

In certain real-time processing systems it is necessary to specify device
priority due to the critically of device operation, e.g. telemetry data,
teleprocessing data, etc. Within some time-sharing systems, a requirement may also exist For some terminals to have priority over other
terminals during system operation.

5.

This criterion should be specified for most real-time processing systems.

6.

This criterion is highly desirable for a real-time processing system; however, it is highly dependent upon the hardware configuration and can
only be specified in detail when the hardware configuration is known.

7.

Autornaic initiation is most useful within a time-critical environment or
when fhere is a large number of alternate devices from which to make the
selection.

57

REQUIREMENTS
.'ERATING SYSTEM
REQUIREMENTS CHECKLIST
1.2.2

Rrfrence

The system must provide buffer control.

2

(b)

The system must permit data code translation during
data transfer.

3

(c-f) The system must process the following
record types:

(g)

Extended

I

DATA TRANSFER

(a)

(c)
(d)
(e)
(f)

initial

4

fixed length records,
variable length records,
undefined length records,
character string records.

The system must accomplish all necessary code
translation without the requirement for conversion
or translation routines within applications programs.

....

_______

___
___

1.2.2

DATA TRANSFER
Reference:
1.

Data transfer controls the movement otf input or output data between
main storage and seconwary storage, or between main storage and input/
output devices. Prior to initiating tW3 data transfer operalion, an area
of main storage (called a buffer) must be set aside. The buffer wiil
either contain the output data to be transmitted or will receive the input
data as it is being transmitted. Techniques for allocating buffer areas
vary greatly among the various operating systems.

2.

This criterion should be specified for all processing systems cxcept certcin
small real-time processing systems in which the application program must
er:", all data transfer operations.

3.

This requirement frequently occurs in teleprocessing where the input or
output line data coding st,uctures differ irom the internal computer data
codes. The requirement may also occur in real-time systems which
are required to interface with analog devices. If the system will interface
with any non-standard peripherals this criterion should also be cons,4ered.
An examination of the intended applications should determine if the OS is
to support:

4.

Fixed length records: Records having the some length as all other
records in the some file.
Variable length records: Records having a length independent of the
length of other records in the same file.
Undefined length records: Records having a length unspecified or unknown
to the system.
Character string records: An unformatted record composed of a series of
contiguous characters. Character string processing usually applies to
teleprocessing message3.

59

REQUIRE MENTS
Inm=-

()PERATINr- SVSIEM
REQUIREMENTS CHECKLIST
-

1.2.3

DEVICE MANIPULATION1

(a-d) The system must provide facilities for:
(a)
(b)
(c)

rope positioning,
disk positioning,
card stacking,

(d)%

page ejecting.

Reference

Initial

Extended

1.2.

DEVICE MANIPULATION
Reference:
1. Device manipulation is a control function which
allows a physical I/O
device to be positioned without actually requiring
data transfer. Device
manipulation facilities
.
l,it volume positioning (rewinding,
forward spacing, back-spacing, disk arn positioning,
etc.), printer
spacing and forms control, and card stacker selection.
These features
should be available on every operating system for
the devices associatea
with the system.

61

RLQUIR EMENTS
OPERATING SYSTEM

1.2.4

-

REQUIREMENTS CHECKLIST

Reference

REMOTE TERMINAL SUPPORT

1

(a)

The system must permit interactive communications.

(b)

The system must permit terminal to terminal communications.

2

(c)

The system must permit terminal to operator communlications.

3

(d)

The system must permit operator control over remote
terminal activity.

4

(e)
(f)

he system must allow slaved remote terminals.
The system must provide a remote batch communication
mode.

62

5
6

Initial

Extended

1.2.4

REMOTE TERMINAL SUPPORT
Rtference:
1.

Control ,%,er remote terminal operations is found in all time-sharing
systems, interactive real-time systems and batch processing sysfems that
provide emote job entry. While it may be possible io attach a remote
terminal to practically any computer system, many operating systems are
not designed to specificully support remote terminals and special t.rminal
support routines must be designed to augment the normal supervisor
facilities.

2.

This feature is found in some time-sharing processi ig systems as well as
in a few real-time environments. It is a very desirable feature for
applications where ,emote users must interact with each other.

3.

This feature should be specified for all processing systems that support
remote terminals.

4.

This feature is sometimes used to inhibit or lock-out certain terminals
durina processing of classified or private information. This feature may also
be used to restrict the usage of certain termiials during critical (%": soft)
operations.

5.

W*thin ertain system applications there exists t' need to distribute or
acquire .ata from terminals other than the prime terminal. If 'his i4 "he
case, then for proper operation certain terminals must be slaved to the
prime terminal until completion of f.xecution.

6.

This criterion should be specified for all remote batch applications.

63

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.3.1

Reference

SYSTEM STARTUP

(a)

Startup of the entire system must be provided.

(b)

Startup on a partition by partition basis must be
provided.

2

(c)

The system must allow the use of cctaloged startup
procedures.

3

(d)

The system must provide a capability during startup
for respecification of parameters specified at system
generation ime.

4

(e)

The system must permit specification of device
availability during startup.

5

(f)

The system must permit controlled system reconfiguration during startup.

5

(g)

The system must provide full system restart procedures.

6

(h)

The system must schedule user initiation programs.

7

(i)

The system must request time/date specification.

(j)

The system must permit manual initiation of symbionts.

8

(k)

The system must provide automatic initiation of
symbionts.

8

64

Initial

Extended

1.3,1

SYSTEM STARTUP
Reference:
1.

System startup is performed by the computer operator to initialize the
operating system for normal processing. In batch processing environments
this is the normal beginning-of-the-day procedure once computer power
has been turned on. In real-time environments operating arou,'d the
clock, startup is only performed when the system has been shut down
for some reason.

2.

Startup on a purtition by partition bcsis allows each partition to be
started independently of the other partitions, When the system is divided
into environment based partitions (batch, real time, time-sharing), then
each area con be initiated without requiring the other areas. This
feature is also associated with basic multiprogramming where each
partition or group of partitions is supported by its own input stream.

3.

This criterion should be specified where startup requirements are extensive
and consistent.

4.

This feature i: highly desirable in most 1 rocLsslng systems since it
provides flexibility in tailoring a system to meet daily requirements.

5.

This criterion should be specified for configurable processing systems.

6.

System restarting is required when a failure that affects the total system,
rather than a specific job, occurs. Restarting functions are oriented
to restoring as much as possible of the system environment that was valid
at the time of the error. In critical real-time environments, for example,
system checkpoints are frequently taken at regular intervals. These
checkpoints can be used to reload a previous valid version of the operating
environment when no other immediate method of repair is possible.

7.

This technique is highly desirable in a real-time processing system in
which the syrtem is required to interface with uniqu" devices which
can not be initializeJ using general initializafion techniques. For
example, user initiation programs may be required to selectively
in'tiaie teleprocessing operations.

8.

Automrti -ymbiont initiation is generally .dvisable for output symbionts
whereas n.,,nual initiation is more desirable for input syrnbionts.

65

1
OPERATING

SYSTEM

REQUIREMENTS CHECKLIST
1.3.2

JOB CONTROL COMMUN!CATION

(a-d) The system must provide control of user jobs from the
following interactive sources:
(a)
(b)
(c)
(d)

REQUIREMENTS

Reference
1
2

the batch job submitter,
the operator,
interactive users,
other executing jobs.
separate input

3

(i)

The system must permit up to
stream devices.

(f)

The system must provide for the use of cataloged
procedures.

4

(g)

The system must provide procedures for modifying
cataloged procedures.

4

(h)

The system must provide for conditional execution
logic within the input stream.

5

(i)

The system must provide the operator with the capability
to redirect or abort output generated by a job initiated
at a remote terminal.

(j)

_

The system must provide a job control language (JCL).

66

6

Initial

Extended

1.3.2

JOB CONTROL COMMUNICATION
Reference:
I.

Job control communication refers to that communication between the
operating system supervisor and either the user or the computer operator
relating to the initiation, running, or termination of individual jcbs
witHin the system. In batch processing systems, user/system communication is generally non-interactive, whereas in time-shcr-rg systems it is
almost always interactive. Operator/system communication is predominantly interactive.

2.

Job submitter control occurs primarily in serial batch processing environments
where the submitter has access to the operator console area.
In most batch environments the operator has the capability to exercise
some control over user jobs, e.g. resource assignment, cancellation,
etc. In a real-time environment, the operator should have the capability
to exercise extensive control over executing jobs.
Most time-sharing and remote batch processing systems assign job control
functions to interactive users.

3.

This criterion is highly dependent upon the hardware configuration and
can only be specified in detaiLwhen the hardware configuration ;s kown.
In a basic multiprogramming system this parameter is directly related to
the number of partitions.

4,

A cataloged procedure is a set of job control statements stored on a
library and which may be invoked by being named on a special control
card. This is an excellent feature where jobs are relatively standard or
where the control language is complicated.
If cataloged procedures are used, then the flexibility should be available
to allow modification of the procedures. This would be useful in diverting
output from one device to another due to a new system configuration.

5.

This feature is frequently found in larger batch processing systems. It
allows non-interactive users to specify conditions for performing certain
job steps. This feature is particularly useful in program testing and
debugging.

6.

This criterion should be specified for most batch processing and time-sharing
systems.

67

RE QU IREM ENT S
ENT
-

OPERATING SYSTE
REQUIREMENTS CHECKLIST
1.3.3

INPUT/OUTPUT STREAM CONTROL

Reference
I

(a)

The system must provide input strecm control by
symbiont processing.

2

(b)

The system must provide output stream control by
symbiont processing.

2

(c)

The system must provide for the processing of up to
___input streams.

3

(d)

The system must allow up to ____output streams to
be maintained.

3

(e)

The system must provide automatic editing of control
command formats.

4

(f-j)

The system must allow the following output stream
elements:
(f)
(g)
k;.%
(i)

()

diagnostic messages,
trace control listings,
data,
core dumps,
file dumps.

68

Initial

Extended

1.3.3

INPUT/OUTPUT STREAM CONTROL
Reference:
1.

The input job stream is the sequence of batch processing control statements
and program data submitted to the operating system on an input device specified for this purpose. In serial processing and basic multiprogra, iming systems,
the device tends to be the system card reader, though, in fact, any input
device can be used. In thesc. two system types, jobs are read, processed, and
output in the order in which they occur in the input stream.

2.

In I.rger systems, particularly extended multiprogramming systems, the input
and output streams are maintained as separate files in direct access storage.
Programs called symbionts are used to read and transfer the system control
and data cards from input devices to the input stream files. Other symbionts
transfer output data from output stream files to the actual output devices.
The advantage of this technique can be best illustrated with an example.
Consider the concurrent (either multiprogrommed or time-shared) execution
of two independent application programs in a system that has a single system
printer. If both programs require the use of the printer, only one can physically be assigned the device. If the device were assigned to both programs,
output data from both jobs would appear intermixed in the listing. However,
if one program is assigned the device, the other must be suspended until the
device again becomes available. On the other hand, if both programs create
separate output stream files on a direct access device, both programs can
execute concurrently. When each program closes its output stream file, the.
file can be transferred to the printer by an output symbiont when the prtnter
is available. Thus, the single system printer does not inhibit concurrent
processing. A further benefit is that the system printer is not reserved during
the entire execution period of either application program. Rather, it is
reserved only for the length of time it takes to transfer the output data from
secondary storage.
Thus, symbiont proct.ssing enables input/output devices to be utilized a
physical data transfer rates, while permitting programs to process input and
output stream data at strorage file transfer speeds rather than at tle lower
peripheral device speeds. The overall effect on the system is a considerable
increase in throughput without requiring additional peripheral devices.
Since, in time-sharing applications, the terminal is usually dedicated to a
particular time-sharing job, and since both the input and output stream are
usually located at the same terminal, no significant equipment or time
saving is afforded time-sharing programs by using symbiont processing techniques. On the other hand, when the terminal is used for remote batch
processing, symbiont processing can offer both time and equipment saving.,
particularly when multiple jobs are submitted.

3.

This criterion is highly dependent upon the hardware configuration and con
only be specified in detail when the hardware configuration is known.

4.

This criterion is highly desirable for all batch processino systems.

69

REQUIREMENTS
OPERATING SYSTWM
REQUIREMENTS CHECKLIST
1.3.4

RESOURCE STATUS MODIFICATION

(a-e) The system must provide control for on-line configuration modification of the following resour, s:
(a)
(b)
(c)
(d)
(e)

The system must permit operator control of systen
configuration through operator console.

(g)

The system must permit user control of system resource
ccnfiguration.

(h-I)

The system must recognize the following device
condt ons:
(h)

available,

(i)

down,

()

assigned,
reserved,
test mode.

(m)

addition,

(n)
(o)
(p)

deletion,
replaceinent,
s"Vtching.

3

4

(m-p) The system must permit the following types of
resource modification:

(q)

2

peripheral devices,
mass storage allocation,
core storage allocation,
CPU time allocation,
input job queues.

(f)

(k)
(I)

Reference

The system mus allow reconfiguration in the event
of fnalfunct*on arid maintain continuity of ot .ration.

70

5

6

initial

Extended

1.3.4

RESOURCE STATUS MODIFICATION
Reference:
1.

In most computer operating enviroiments, it is desirable to alter the computer
configuration with_ ut physically terminaing all system operations. For
example, a tape drive may require cleaning, a disk file may require maintenance, or an off-line operation may have concluded and edditional peripheral
devices may have become available for system use. As e, result, it is generally
advisable to allow the computer operator to alter the st. is of resources available to the system during system operation. This is frequently accomplished via
direct operator console commands to the operating system supervisor.

2.

These criteria provide the flexibility to support changing workloads. The
modification of peripheral device configuration is particularly advantageous
where dynamic allocation or device substitution techniques are employed.
Modification of mass storage allocation is desirable when this storage is used
in support of real time or time-sharing.
On-line modification of core storage allocation is desirable in a system that
supports fixed partitioning so that the allocation between foreground and
background or real time,/hatch/time-sharing can be altered to satisfy changing requirements. This feature would not be relevant to serial processing,
variable partitioned, or paged environments.
In multipurpose environments, it is sometimes desirable to alter the dispatching
algorithm due to changing priorities or unusual system loads
In any environment in whi,;h the system supports input job queues, it is a necessity
that some control be provided to modify these queues. This control should allow
such functions as job deleting, postponing, replacing, etc. to be performed.

3.

This feature is not prevalent e c to the impact that user control could have on
the total multiprogramming system operation. However, when the user does
have dedicated resources (e.g., a remote batch terminal) then the criterion
may be advisable.

4.

Test mode recognition should be specified if on-line diagnostics are
supported by the system.

5.

Replacement is a manual technique while switching is normally used for
automatic transfer to a standby on-line device.

6.

This criterion is highly desirable for a real-time processing system.

71

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.3.5

SYSTEM STATUS INTERROGATION

(a)

The status of the system must be displayed continuously.

(b-c)

The status of the system must be displayed upon
request on a:
(b)
(c)

(d-i)

(g)
(H)
()
(j-m)

(k)
(!)
()

2

3

identification of current users,
resource status,
job status (executing, waiting,
suspended, etc.)
job ..,formation (priority, title, etc.)
input job queue status,
output job queue status.

The system must display causes of processing delays
to include:

()

1

CRT,
printer.

The system must provide facilities to display the
following information:
(d)
(e)
f)

Reference

peripheral non-avoilability,
data non-availability,
memory non-availability,
CPU delays due to unavailability
of resources.

72

4

Initial

Extended

1.3.5

SYSTEM STATUS INTERROGATION
Reference:
1. The computer operator isusually given the capability of displaying the status
of various system elements. This may range from ihe status of specific jobs to
the status of I/O devices and main and secondary storage. Systems vary considerably in the capabilities provided and where some may only provide status
information on particular items, others will produce extensive visual displays
showing the current status, relative usage, and accumulated error statistics
for any system element.
2. The display of system status continuously generally requires the use of a
reserved CRT display Aevice.
3.

Many of these elements are valuable in monitoring the utilization of the
system. It should be determined by the facility which will be most useful
in their operating environment.

4.

This feature is very important to a facility in determining where hardware or
software changes can be applied to improve operation.

73

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.4.1

-

Referer1 ue

CHECKPOINTING

I

(a-d) The system must provide checkpoint initiation from
the following external sources:

2

(a)
(b)
(c)
(d)

control card,
system,
operator,
interactive user.

(e)

The system must permit checkpoint initiation by the
program itself.

3

(f)

The system must permit checkpoint initiation by other
programs.

4

(g-1) The system must provide checkterrogation,
report development.

(e-f) The system most provide data management facilities that
operate in the following modes:
(e)
(f)

Reference

batch,
in.eractive.

196

3

Initial

Extended

1.3

DATA MANAGEMENT SYSTEM FACILITIES
Reference:
1.

A data management system is a group of integrated routines developed to
create and maintain an organized collection of related data, known as
the data base, and to interrogate the data base and produce various types
of formatted reports. A data management system will create files from
various input sources; mcintain these file, by additions, deletions, and
alterations; create new files and reorgarize and merge existing files;
select data via user-prepared queries; rake computations on this data;
and produce reports in system-defi ed r user-specified formats. A data
management system may be designed I operate in either a batch or interactive mode.

2.

Normally, a data management system consists of each of these elements.
However, there may be unusual circumstances whereby one or more of
these elements will not be required. For example, if the installation
intends to develop its own report generation capability, this feature need
not be included within the DMS.

3.

This criterion is directly derived from the intended operational environm

197

t.

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
2.1

DISPLAY FACILITIES

-

Reference
I

(a)

The system must allow formatted display.

2

(b)

The sy4 em must allow unformatted display.

3

(c-e)

-e system must provide utilities for the foilowing
types of display devices:

4

( N
(d)
(e)

L.2

printer,
typewriter,
CRT.

PERIPHERAL DEVICE SUPPORT

(a-d) The sys i must p. vide the following peripheral device
support f,ci Iities:
(a)
(b)
(c)
(d)

volume positioning,
media copying,
data editing,
tet data file support.

I
2
3

193

Initial

Extended

2.1

DISPLAY FACILITIES
Reference:

2.2

1.

The most common display facilities provided are for main storage (core dumps),
system catalogs, tables and directories. Other display facilities are generally
provided for data stored on any secondary storage media supported by the system.

2.

This mode of display is advantageous when the recipient is concerned with the
contents of the data being displayed, rather than its machine structure.

3.

This function is very important if a picture image of the exact data structure
is required.

4.

The printer is the most frequent means of displaying data.
user may only have a typewriter or CRT available.

However, a remote

PERIPHERAL DEVICE SUPPORT
Reference:
I.

This function consists of such features as rewinding, backspacing, or forward
spacing a magnetic tape, moving a disk arm, etc.

2.

Media copying facilities should normally be available to aN facility users.
They consist of routines to accomplish such functions as tape to disk, tape to
card, tape to tape, card to tope, etc.

3.

This is a very useful feature to a facility and should be -oecified if file-oriented
program development is to be a major installation objective.

192

REQUIREMENTS
OPERATING SYSTEM
Reference

REQUIREMENTS CHECKLIST
3.1
(a)

SORT MODULE DEVELOPMENT

The system must provide a tailorable general purpose
sort program.

1

(b-c) The system must provide parameter specification by:
(b)
(c)

2

control cards,
internal linkage parameter.
3

(d)

The system must determine the aliccation of internal
workspace.

(e)

The system must albw a supplied parameter to determine
internal workspoce allocation.

3

(f) The system must determine external workspace allocation

3

(g)

3

The system must allow a supplied parameter to determine
externor workspace allocation.

(h-j) The system must provide the. following options:
(h)
(i)

(i)

'

4

ascending/descending outpu sequence,
single/multiple sort control fields,
single/mixed data field formats.

(k-n) The system must recognize the following field keys.
(k)
(I)

alphanumeric,
binary,

(m)

zoned,/packed aeclr.ol

(n

floating point.

(c) The system must support a user-ipeclf%-d collating
sequence.

200

5

6

Initial

Extended

3. 1

SORT MODULE DEVELOPMENT
Reference:
1. This technique is prevalent in most sort packages and allow3 the user to tailor
the sort program eithe, ,nrough control statements or selectable subroutines.
In this way the user can create the most efficient program for his specific
need.
2. Many systems provide For parameter specification either through ontrol cards
or internal macro instructions. The use of control cards is recommended for
"off-line" sorting of fixed data files. The use of internal macros for specifying parameters is most desirable when the sort program operates as an in-line
routine for a more comprehensive application package.
3. It is generally advisable to have the system perform all workspace calculations.
However, there may be overriding reasons for allowing a user to specify these
as parameters - particularly if the generated sort routine is to be a small part
of a more comprehensive application program package.
4.

Most systems provide the capability to specifiy ascending, descending, or a
mixture of an ascending/descending output sequence. This allows the user to
specify different sort orders based upon different keys.
Single sort control fields require that the sort key consist of an adjacent
set of characters. Multiple control keys permit sorting using a number of
data elements that need not be contiguous.
Some systems do not provide the capability for sorting mixed files containing
different kinds of records or merging files with fixed and variable record length.
While other systems provide these features as options to increase user flexibility
and to lessen the requirement for restructuring files prior to sort.

5.

It is generally advisable to have the sort program recognize every type of data
element representation ptrmitted within the system

6.

This function rarely occurs ii. standard system supplied sort programs. However,
it is sometimes necessary for a user to produce sequences based upon an alternate
collating sequence. For example, if the data is sorted on one system but intended
for a different system (with a different collating sequence), it would be worthwhile
to use the second system's collating sequence.

201

REQUIREMENTS
OPERATING SYSTIE
REQUIREMENTS CHECKLIST
3.2

Reference

SORT MODULE EXECUTION

(a-c) The system must provide the following types of sorting:
(a)
(b)
(c)
(d)

full data records (record sort),
sort key and record address (tag sort),
sort key and selected fields (field select
sort).

The system must provide control for workspace overflow.

(e-i) The system must permit the inclusion of user codes
relative to:
(e)
(f)
(g)
(h)
(i)

2

!'bel processing,
input record insertion/modification/deletion,
output record insertion/modification/
deletion,
blocking/deblocking control,
error processing

(j)

The system must provide an automatic final pass
sequence check.

3

(k)

The system must provde an optional final pass sequence
check.

3

202

Initial

Extended

3.2

SORT MODULE EXECUTION
Reference:
1. Three types of sorting are most generally used: a record sort, where the full
record is sorted; a fie!d select sort, where certain fields are deleted from the
record pr;o &,asorting; and a tag sort, where the full record is stored on an
intermediate device and only its sort key and address are sorted. The latter
is primarily of advantage wlhen the sort program is used as a suPorting task
of another executing application program.
2.

Exits to user codes within a sort module provides the user with the flxiE ty
to perform any of the listed criteria without modifying the standard sort module.
Each user can then perform any of fhe unique functions required without affecting
the more general sort module structure.

3.

It is usually a good practice to perform a final pass sequence check to validate
the results of the sort/merge. Whether or not this is performed automatically or
as an option depends upon the operational philosophy of the installation.

203

3.4.3

Third Level of Detail (Part III - Data Manipulation Functions)
This subsection ccvers the following third level data manipulation func-

tions:
1.1.1
1.1.2
1.1.3
1.2.1
1.2.2
1.2.3
1.3.1
1.3.2
1.3.3
1.3.4
2.1.1
2.1.2
2.2.1
2.2.2
2.2.3
2.2.4

FILE LOCATION RECOGNITION
FILE ACCESS CONTROL
BACKUP AND RESTORATION CAPAB".ITIES
DATA ACCESS CONTROL
DATA BLOCKING/DEBLOCKING CONTROL
LABEL PROCESSING
CONTROL SPECIFICATION
DATA FILE GENERATION AND MAINTENANCE
DATA QUALIFICATION AND RETRIEVAL
DATA OUTPUT
UNFORMATTED DISPLAY
FORMATTED DISPLAY
VOLUME POSITIONING
MEDIA COPY FACILITIES
DATA EDITING FACILITIES
TEST DATA FILE SUPPORT

205

REQUiREMEki.)
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.1.1 FILE LOCATION RECOGNITION
(a-b) The system must provide for locating files using the
fol lowing methods:
(a)
(b)

cataloged addresses,
label recognition.

1
2
2

(c-d) The system mubt use a File identifier which is:
(c)
(d)

Reference

3

system assigned,
user assigned.

(e)

The system must support multiple cataloging levels.

4,2

(f)

The system must maintain separate catalogs.

5,2

206

Initial

Extended

1.1.1

FILF I 11CATION RECOGNITION

Reference:
1.

In most systems permanent data files are identified by labels assiqned
by the user or the system. File labels may be composed of such iems
as the file id 'tifier, the file edition number, the owner's name and
account number, and perhaps a file utilization privacy code.

2.

Maintaining a catalog of file locations is the most expeuitious method
used to locate files in that the system merely searches the catalog for
the address of the referenced file.

3.

Both methods of label assignment are presently used. With system
assigned labels, the system is responsible for the uniqueness of the
labels; with user assigned labels the user must assume the responsibility ,r creating a unique label. Many systems provide for
mixed labei ;reation in which the user identifier is used by the
system in conjunction with a system generated label.

4.

Some systems provide multiple levels of cataloging. Though not
extensively used, this feature may be of advantage when a hierarchical structure of dato ba- musiagement is desired. For example, a
payroll file could be constructed to consist of three subfiles:
administrative staff Payroll, professional s;aff payroll, and operational staff payroll. The professional staff payroll file could also
be made into multiple files: managerial staff, corporation officers,
and consultants. Thus, the number of records composing a file is
a function of the file cataloging level.

5.

Certain systems provide for an active or master catalog and a
temporary catalog which is used for programs that are in a checkout
phase and which would not be placed on the master cuialog until
operational.

207

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.1.2

FILE ACCESS CONTROL

The system must provide file security control.

(b)

The system must provide read/write access control.

(c)

The system must provide concurrent access control.

(d-h) The system must provide file access protection for the
following units:

(i-j)

(j)

2

3
4

volumes,
files,
physical records,
logical records,
data elements.

The system must provide for acces!; control maintenance:
(i)

Reference
1

(a)

(d)
(e)
(f)
(g)
(h)

-

5
2

by system supervisor,
by programming conventions.

208

Initial

Extended

1.1.2

FILE ACCESS CONTROL
Reference:
1.

The designation and restriction of file access may be a function under
control of the operating system or it may merely be established by a
set of installation programming conventions. When controlled by the
system, the owner of a file can usually designate that the file is to be
maintained for his use only, for the use of a designated group only, or
For general use. Frequently, the owner may also specify the level of
access afforded each designated user. For example, access may be
restricted to a read-only level for some users while others are allowed
full read and write capabilities.

2.

This criterion should be specified For all processing systems that maintain classified or private information.

3.

Concurrent access control is required to maintain the scheduling and
handling of concurrent or simultaneous requests for a data file from
separate programs or users in a multiprogramming or time-sharing
environment. Basically, the control function must determine if
multiple user access can be permitted or whether the file must be
restricted to single user access. In situations where multiple users
may simultaneously access a single file, it is usually desirable to
grant any number of them read-only access, but to restrict ,v'ite
access to a single user at a tine.

4.

The level of rile access protection *s a part of the overall philosophy
of data base design. One school of 'hought advocates a single lage
data base with individual records and data elements individually
allocated or denied to certcln users. Another school advocates a
dot, 'i. - -:n2ng of multiple files with the user either allowed
or denied access to the entire file.

5.

Either of these criteria can be specified as a method of maintoining
access cor.trol. However, system superviscry control is consderably
more reliable; the other method is dependent upon external users
adhering to thi conventions. System supervisory control should be
specified for t me-O-'orin and multiple-user batch processing systems.

209

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

Reference

1. 1.3 BACKUP AND RESTORATION CAPABILITIES
(a-b) The system must support the following backup media:
(a)
(b)

on-line devices,
off-line devices.

I
2

(c-d) The system must provide the following restoration
techniques:
(c)
(d)

automatic,
operator in*tiated.

2

(e-g) The system must provide the folowing File backup
techniques:
(e)
(f)
(g)

grandfather files,
periodic checkpoints,
retention of transoct*.n data.

21.)

3

Initial

Extended

1.1.3

BACKUP AND RESTORATION CAPABILITES
Reference:

1.

This function is highly dependent upon the hardware configuratior, and
can only be specified when the hardware configuration is known. Syst
support of on-line backup devices can s*-nificantly improve the system
recovery time cnd shLu!J be con,;dX,ed ror a real-time processing syste

2.

Thi: -rite,'ion is highly desirable for a real-time processing system.

3.

The use of grandfather files as a file backup technique provides a secur0
base from which a system can be restored to
-ration. However, this
type of File backup is usually associated with a periodic update of he
grandfather file which means that File changes made during operation of
the system must be retained and re-run to bring the grandfather file up
to date. This pr .cedure is normally used for batch processing commercially oriented jobs.
Periodic checkpoints are used as a backup technique in many real-time
processing environments. However, the file maintained on the checkpoint will not be totally up to date and intermediate transection data
should be retained.
The retention of all transaction datc is an excellent technique to be
used in conjunction with redundant files or graJfather files. In this
way the redundant file or grandfc'her file can be updated to the status
of the previous working file.

211

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.2.1

sequential,
random (direct),
keyed,
indexed,
teleprocessing.

I
2
3
4
5
6

(f-r) The system must permit data access at the fo!lowng
levels:
(f)
(g)
(h)
(i)

Reference

DATA ACCESS CONTROL

(a-e) The system must support the following access methods:
(a)
(b)
(c)
(d)
(e)

'

block,
record,
data item,
character.

212

7

--

Initial

Extended

1.2. I

DATA ACCESS CONTROL
Reference:
1.

The specification of these criteria is highiy dependent upon the
system hardware configuration.

2.

Sequential access methods process records serially and read or write
them consecutively on a storage volume. Sequential access may be
provided for data stored on any secondat, storage medium; although,
certain storage media, such as magnetic tape, obviously dictate a
file organization of this type.

3.

Random access methods read and write records without regard to the
physical sequence in which they are stored. Consequently, records
stored in this type of organization must have some type of identificc,..on code that will enable the record location to be determined.
Usually, an algorithm is used to convert a unique record identification into a unique storage address on a random access storage
device.

4.

Keyed access methods rely on a selected data field within each
record to uniquely identify the record. This data field, called the
record key, frequently corresponds to the record identification code,
though it need not do so. Keyed access is useful for secondary
storage devices which have a physical design that features hardwareimplemented search instructions. In such systems, a record request
will cause the read/write mechanism of the storage medium to scan
the entire file in search of a selected record key. The technique
is advantageous since processor time need not be spent in scanning
secondary storage and may thus be employed with other execution
functions. The technique is also frequently augmented by software
which isolates a portion of the file prior to issuing the keyed search
in order to avoid a scan of the entire file.

5.

Indexed access methods create and maintain files which, in addition
to the data record have directories of selected record field values
and their corresponding record addresses. Records may then be located by seL. ,ing the directory rather than the file. Some form of
immediate access storage, such as disk, is necessary for indexed access
methods to have value.

6.

Teleprocessing data is usually composed of character trings of varying
lengths. While not a file in the classical definition, most systems
provide assistance in accessing and processing the relatively unformatted messages that accumulate in the system communication buffers.
This assistance normally handles all communication between the
computing system and remotely located terminals.

7.

The level to which access is provided greatly increases user capability
with a corresponding increase in system overhead.
213

REQUIREMENTS
1000

OPERATING SYSTEM
REQUI~REMENTS CHECKLI ST
1.2.2 DATA BLOCKING/DEBLOCKING
CONTROL

Reference
1

(a)

The system must provide record acquisition by
deblocking.

(b)

The system must provide move mode deblocking.

2

(c)

The system must provide locate mode deblocking.

2

(d-f) Block ing/deblock ing facilities must be available for:
(d)
(e)
(f)

fixed length,
variable length,
records of undefirnd length.

(g)

The system must provide system specified block sizes.

(h)

The system must permit user-specified block sizes.

214

3

Initial

Extended

1.2.2

DATA BLOCKING/DEBLOCKING CONTROL
Reference:
1. Blocking combines two or more individual records into one physical
data block; deblocking isolates the individual records within a
physical data block. Record lengths may be fixed, variable or
undefined and all of these types may be blocked or unblocked.
2. While frequently employed for evaluation these criteria are rarely
specified. The locate mode of deblocking provides the user with the
capability to locate and process a ,oecific record through the use of
pointers without physically moving the record to a processing area.
In move mode deblocking the system physically moves each deblocked
record from the I/O buffer area into a user storage area. The !ocate
mode s thus somewhat faster and requires less core storage. It may,
however, also *ntroduce unnecessary complexity in record processing
for the application programmer.
1.

This function is usually supported by all processing systems that provide
logical input/output support.

215

REQUIREMENTS
_____________________

SYSTEM________
OPERATING___________________________

REQUIREMENTS

1.2.3

CHECKLI ST

LABEL PROCESSING

system must provide an automnat~c label generation
capabiIi ty.

________________

Reference

1

(ni)

The

(b)

The

system must allow users to generate labels.

3

(c)

The system must provide automatic la~bel checking

2

facilities.
(d)

The

system must ailow label checking upon user request.

2

Initial

Extended

1.2,3

LABEL PROCESSING
Reference:
1.

Most systems provide facilities for writing and checking fie labels
when a data file is opened or closed. Many systems also permit the
user to spicify his own labels and to supply special routines for
processing them. A few of the smaller systems provide no label
generation and checling facil~ties, and all label processing functions
must be performed s,y the user.

2.

This function is usually provided in medium to large processing syeems
and should be specified.

3.

Many systems support user generated labels. User labels also
require special user routines to read and validate the labels.

217

REQUIREMENTS
OPERATING SYSTEM
REQUIkEMENTS CHECKLIST

Reference

CONTROL SPECIFICATION

1

(a-d) The system must allow the specification of the following
types of formats:

2

1.3.1

(a)
(b)
(c)
(d)

ffli formats,
report formats,
input formats,
query formats.

(e-f) The system must provide the following methods of
deriving control functions:
(e)
(f)

generative routines,
interpretative routines.

3

218

Initial

Extended

1.3. !

CONTROL SPECIFICATION
Reference:
1.

A data management system must be pri ided with a set of specifications or commands delineating the jo it is to perform. The system
interprets these specifications, and generates func.lonal modules to
perform the selected jobs. These modules may take the form of
interpretive tables or executable programs or subroutines. Generally,
the system will maintain an extensive library of functional subroutines
which may be incorporated as needed into the final support modules.
These subroutines range from arithmetic and data conversion routines
to file searching and positioning capabilities. The generation of the
resulting support modules is analogous to the process used by a compiler
to convert user code into machine executable code.

2.

These formats should be specified for each of the elements selected to
compose the data management system (see 1.3 a,b, c,d).

3.

The generative type of derivation is a process which actually structures
a machine executable module to perform the required function.

219

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

-

Reference

1.3.2 DATA FILE GENERATION AND MAINTENANCE
(a-e) The system must provide the following data file generation and maintenance facilities:
(a)
(b)
(c)
(d)
(e)

fixed input transaction processing,
logical (programmed) file maintenance,
interactive file mainteance,
file reorganization,
data error procedures.

(f-g) The system must allow the following types of correction:
(f)
(g)

interactive,
pre-establ ished.

220

2
3
4
5

6

Initial

ExteiJed

1.3.2

DATA FILE GENERATION AND MAINTENANCE
Reference:
1.

Data file generation and maintenance is concerned with defining
the internal strurtur- of a file, allocating space for the file on a
storage device, prccessing input transactions against the file, performing logical and interactive maintrance on the file, and reorganizing the file when the structure must be modified.

2.

Fixed input transacticn processing involves defining input data element
formats, validating the data elements as they are entered, converting
them into internal formatt and storing them in the data file. Input
format definitions may be established prior to the entry of the data into
the system or the data entry may be self-defining.

3.

Logical file mc ntienc.e permits conditional or programmed updating
of a data file. Logical maintenance may or may not be transaction
oriented. If it is, the transaction updates the object file only when
specified criteria are satisfied. Non-transaction oriented maintenance
is usually accomplished via internal actions generated by a computer
pseudo-language program. Fo, example, a logical mainttenance job
might specify the deletion of every record written after a given calendar
date, or convesey, the retention of only those records written between
two given calendar dates.

4.

Interactive maintenance, as its name implies, is the updating of a
data file from an on-line terminal. Almost all interactive maintenance
applications utilize logical file maintenance featur,.s. Prior to
initiating the actual transaction the terminal user must usually establish
logical parameters to isolate records of interest.

5.

this function provides for reorganization of one or more existing date
files in.'o a new composite output file. Data fields may be added,
deleted, or changed in size or type under the restructuring v )Cess.

6.

Most data management systems provide for the use of pr-es-atlished
nctions to be performed in case of an error. A more unique capability
is that of an-lir, interactive correction support whereby the interactive
^er can correct data errors s they are recognized.

221

REQUIRFMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

Reference

1.3.3 DATA QUALIFICATION AND RETRIEVAL

I

(a-b) The system must allow the following interrogation
modes:
(a) interactive,
(b) batch.
(c-e) The system must allow retrieval mode control through
the following pre-stored queries:
2
3
4

(c)
fixed logic,
(d) modifiable logic,
(e) parameterized.
(F-h) The system must allow retrieval mode control through
the following interactive queries:
(f) cue-response format,
(g) prompting format,
(h) programmable format.

5
6
7

(i-m) The system must allow query processing through the
following types of logical operators:
(i)

Boolean,
(j) qt-intitative (occurrence),
(k) arithmetic,
(I) statistical,
(m) application-defined.

8
9
10
11
12

13

(n) The system must allow nested logical operators.
(o-r) The system must allow the following query processing
operand formats:
(o)
(p)
(q)
(r)

constant value,
another data field,
interim result,
arithmetic expressions.

14

(s-u) The system must support the following types of file
search-es:
(s)
(t)
(u)

8

single file,
multi-file,
inter-file.
222

Initial

Extended

1.3.3

DATA QUALIFICATION AND RETRIEVAL
Reference:
I.

Data management systems may be designed so that data qualification and retri
can be accomplished in either a batch or interactive mode. In the batch rr J,
the data base may be interrogated by individually prepared logical queries or I
prestored logical queries in which specific operands can be altered. In $he in:
active mode interrogation may be by a cue-response form of query, by a promF g
query which "guides" the user through the interrogation, or by a user-progromf d
query. Each record satisfying the poran,eter of the query may be directly disp! .ed,
retained on an intermediate file for subsequent processing, cr passed on to ano
r
portion of the data management system, such as data output or file maintenance
Thus, a single data qualification scheme generally serves the entire data mona!
ment system.

2.

Fixed logic pre-stored queries allows the user to store frequently used queries c
a library and to directly reference them ut execution time.

3.

Modifiable !ogic pre-stored queries allow the user to temporaril' aler query Ic
prior to execution.

4.

Parameterized pre-stored queries allow the user to store skeleal queries within
system and then insert parameters at execution time.

5.

The cue-response format provides the user with the capability to engage in a
question/answer dialogue with the system. The user furnishes answers to the sr
questions in order to execute his request.

6.

The prompting format is one which is designed primarily for inexperienced users
The system prompts the user when he is uncertain of how to formulate a request.

7.

The programmable format allows the user to program and execute retrieval requ.N

8,

The specification of each of these functions 's entirely dependent upon the type
query processing envisioned by the installatior.

9.

A Boolean query allows the user to perform logical retrieval statements using thl
comparators: equal, not equal, greater than, less than, less than or equal to,
greater than cr equal to. Additionally, the user can combine statements by the
logical conrnetors AND, OR, -"d NOT. Thus, the user can perform such funr€
as: Search for "this AND this" but "NOT t iis"; search for "this OR tHis" but "I
this"; etc.

10.

A quantitative query allows the user to retrieve records based upon a count of t*
unique occurrences of a specified value.

11.

An arithmetic query provides the user with the capability to perform arthmetic
operations on data values oncd to retrieve based upon the numeric result.

12.

Statistical query allows the user to retrieve records based upon strfisticcl colcul
ions such as derivation frn mean, median, etc.

13.

Application-def-ecd query r ocessing are those queries required for special appl
cations.

14.

This function allows the user to conitruct a qualification for'--, bcad upon a
previous computation or query.
223

c

-1
'T

REQUIREMENTS
"

O~~~.PER ATONG SYSiFEM-

REQUIREMENTS CHECKIST

Ra;erence

3.4 IDATA OUTPUTf
(C-c; The fat!ow'ng meti.vds of repert control must be
s ;sported by the system-

(a,

(b)
(C)
(d)

user St-ucV.;r~,Vd

sysie',- defined,
in-#ractively dfirtedH

The system must
data output,

Iroyde pre-stored reNr? Formats for

(e-i) The system must support the following media;
(e)
(f)
(g)
(h)
(1)
(I)

2
3

CRT,
typewriter,
printer,
magnetic tape dr've,
card punch.

The sysiem must provide support for mu!tipfe copy
facilities.

(k-m) The sy!",m must provide the foik-wing types of output
labeling:
(k)
(i)

headings,
trilers,

(n)

data labels.

4
5

(n-o) The s,0'stem must provide the following data formatting
capablifies:
(n)
(o)

hor'zor-al/verti cal positioning,
rigqh,/left justification.

(p-q) The sy!tem must provide the following data altering
capabilitie :
(p)
(q)

data editing,
decoding.

(r-s) The system must provide the following output account;ng capabili ies:
(r)
(s)

5

5
6
7

5

counting,
totaling.

(t-u) The system must provide pagination control for the
following:
pr;nted reports,
;)
(u) CRT disolavs.
224

8

lnitioi

Extended

1.3.4

DATA OUTPUT
Reference:
I,

User structured reports provide the installation with the greatest flexibility
over the report Format. System defined reports, while less likely to produce c Format to completely satisfy every report requirement, are normally
considerably faster. System defined reports are usuay adequate for
printing transaction listings and other internally oriented documents.
Externally oriented documents (those for other than the actual DMS programmer) should probably be produced via a user structured report.
Interactively defined reports should, of course, only be considered for
facilities supporting on-line interactive support.

2.

This criterion is highly desirable for a data management system that will
process standard reports on c recurring basis.

3.

The selection of any of these criteria is dependent upon the devices
available in the hardware configuration.

4.

This Function is a highly desirable Feature for a data management system
in that it provides the user with the capability to obtain multiple copies
without rerunning the output program.

5.

Most data management systems provide these capabilities.

6.

The capability of the system to automatically perform data editing is
very important to a user in producing an acceptable report appearance.
Editing consists of such things as suppressing leading zeroes, supplying
punctuation, etc.
If the DMS supports data encoding when data is entered into the fie,
then the output phase should support a corresponding decoding module.

7.
8.

If the system is to support such devices as printers or CRTs then pagination
control should be provided for starting a new page, numbering sequential
pages, stopping output on one page and beginning a new page, etc.

225

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
2.1.1

-

Reference

UNFORMATTED DISPLAY

(a-d) Unformatted display must be provided by the system for
the following media:
(a)
(b)
(c)
(d)

cam,
magnetic tape,
paper tape,
random access storage.

2.1.2 FORMATTED DISPLAY
(a-b) The system must allow format specification by:
(a)

system,

(b)

user.

(c-d) The system must support the following speci,. display
categories:
(c)
(d)

2
3

data files,
directories.

(e)

The system must provide for selective record display.

4

(f)

The system must provide for se'qctive field display.

4

226

Initial

Extended

2.1. 1

UNFORMATTED DISPLAY
Reference:
1.

2.1.2

If the unformatted display option has been selected as a criterion
(see 2, 1 b), then ;f should be provided for each storage medium
within the system.

FORMATTED DISPLAY
Reference:
1.

This criterion is highly desirable since it gives the user the capability
to specify the output presentation, e.g., octal, decimal, alpha
op-codes, etc.

2.

The capability to display data files in a formatted m.. e is extremely
useful to the user during program testing and debugging. It is also
useful to the installation as a method for displaying total file contents.
This type of file display frequently becomes a -uckup to the report
generation capabilities of a data management system.

3.

If the system maintains directories or catalogs, then the system should
also provide routines to produce formatted displays of their contents.

4.

This criterion gives the user the capability to visually examine portions
of a file without requiring a total file dump. This can be a definite
aid during system troubleshooting or program testing.

227

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

-

Reference

2.2.1 VOLUME POSITIONING
(a-c) The system must support the following types of volumes:
(a)
(b)
(c)

magnetic tape,
direct access storage,
card files.

(d-h) The system must provide the following magnetic tape
support:
(d)
(e)
(f)
(g)
(h)

2

forward spacing,
backspacing,
rewinding,
unloading,
erasing.

(i-j) The system must provide selective positioning of:
(i)

files,

3

()

records.

3

(k-I) The system must support the following .. thods of
positioning:
(k)

count oi records or files,

(I)

field or record contents.

3
4

228

Initial

-q

Extended

2.2.1

VOLUME POSITIONING
Reference:
I.
The specification of these criteria is highly dependent upon
the
hardware configuration.
2.
These criteria should be specified for all processing systems
which
support magnetic tape.
3.
This criterion is highly desirable for all processing systems
supporting
sequential access devices.
4.
This method frequently occurs in systems supporting direct
access
storage.

229

REQUIREMENTS
OPERATING SYSTEM

REQUIREMENTS CHECKLIST

Reference

2.2.2 MEDIA COPY FACILITIES
(a-f) The system must provide copy facilities for the following
media:
(a)
(b)
(c)
(d)
(e)
(f)

card,
magnetic tape,
paper tape,
random access storage,
main storage,
remote terminal devices.

(g-j) The system must provide the following options:
(g)
(h)
(i)

()

I

2

field insertion,
field selection,
format conversion,
code conversion.

(k-rn) The system must provide the following dump and reload
facilities:
(k)

(I)

file compaction,
storage compection,

3
3

(m)

backup file creation.

4

230

Initial

Extended

2.2.2

MEDIA COPY FACILITIES
Reference:
1.

This criterion should be specified for all media supported by the
processing system.

2.

Field insertion and field selection provides the user with the compatibility to alter or copy selected daia fields rather than entire
records.
Format and code conversion is generally not too extensive in
utility programs. It is normally only a conversion of data structure rather than a conversion of the data itself. Data cooe
conversion, however, is necessary when the media use a different
code representation e.g., punched card to paper tape.

3.

These considerations normally apply only to direct access storage
devices. File and storage compaction is highly desirable when the
file is fairly volatile in the number of records maintained. As
records are deleted from a file, "holes" of unused space occur.
Compaction eliminates these unused areas, thus decreasing the
total amount of space required for file storage.

4.

Backup file creation is always a useful feature in case of inadvertent
file destruction.

231

!! REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
2.2.3

Reierence

DATA EDITING FACILITIES

(a-c) The following types of editing must be provided by the
system:
(a)
(b)
(c)
(d)

full file compare,
selective field compare,
single file scan.

The system must provide for file comparison between
differing file formats.

2.2.4

TEST DATA FILE SUPPORT

(a-b) The system must support the creation of the following
types of test files:
(a)
(b)
(c)

2

I

data files,
I/O terminal message files.

The system must provide history/troce fite interpretation

232

2

Initial

Extended

2.2.3

DATA EDITING FACILITIES
Reference:

2.2.4

1.

A full file compare is useful in validating file contents. A selective
field compare is useful in validating selected field updates without
validating the entire File. A single file scan is useful in checking
file structure, sequence, and formats.

2.

This capability occurs in very few processing systms.
be quite useful when validating related Files.

It can, however

TEST DATA FILE SUPPORT
Reference:
I.

Many systems provide utilities to support the checkout of application
programs in a mode which will not impact operational files. For this
to be done it is necessary to create a simulated environment as close
to the operational environment as possible. By providing test data
files and terminal message files, application program testing becomes
considerably easier.

2.

This criterion ishighly desirable for a processing system that provides
trace capabilities (see Part I, 3.2.2).

233

3.4.4

Fourth Level of Detail (Part III - Data Manipulation Functions)
This subsection covers the following fourth level data manipulation func-

tions:
1.1.2.1
1.1,2.2
1.1.2.3
1.2.1.1
1.2.1.2
1.2.1.3
1.3.2.1
1.3.2.2
1.3.2.3
1.3.2.4
1.3.2.5
1.3.2.6

FILE SECURITY CONTROL
READ/WRITE ACCESS CONTROL
CONCURRENT ACCESS CONTROL
SEQUENTIAL ACCESS CONTROL
KEYED/INDEXED ACCESS CONTROL
TELEPROCESSING ACCESS CONTROL
STRUCTURE DEFINITION
SPACE ALLOCATION
INPUT TRANSACTION PROCESSING
LOGICAL RECORD MAINTENANCE
INTERACTIVE FILE MAINTENANCE CONTROL
FILE REORGANIZATION

235

REQUIREMENTS

-

OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1.1.2.1 FILE SECURITY CONTROL
(a-b) The system must provide the following file security
control protection methods:
(a)

user ID,

(b)

passwords.

1.1.2.2 READ/WRITE ACCESS CONTROL
(a-b) The system must provide the following access restrictions to authorized users:
(a)
(b)
(c)

read access only,
read and selective write access.

The system should provide unrestricted access to
authorized users.

1. 1.2.3 CONCURRENT ACCESS COI'-r1L
(a-c)

The system must provide the following level of doto

shoring:
(a)

file,

(b)

record,

(c)

data element.

236

Reference

Initial

Extende,

1.1.2.1

FILE SECURITY CONTROL
Reference:
1.

1.1.2.2

If the user ID is used, then the synpe-, must maintain a checklist of the
users that can access a particular file and perform a user ID compare
to determine if the user can have access. If the password method is
used, then each file has a designated password and the mere reference by a user to the password allows access. Therefore, the password method is more efficient from a processing standpoint, though
potentially less secure than user ID control.

READ/WRITE ACCESS CONTROL
Reference:
1.

1.1.2.3

Once a user has been granted access to a file, some systems limit the
type of operation he may perform. For example, some users may only
read the file, other's may read the file and alter existing records, but
may not add new records. The type of access designations that should
be permitted must be derived from the anticipated file contents and
the type of user4 requiring cccess.

CONCURRENT ACCESS CONTROL
Reference:
1.

Concurrent access control is required to -iintain the scheduling and
handling of concurrent or simultaneous requests for a data file from
separcte programs or users in a multiprogramming or time-sharing
environment. Basically, the control function must determine if
multiple user access can be permitted or whether the file must be
restricted to single user access. In situations where multiple users
may simultaneously access a single file, it is usually desirable to
grant any number of them read-only access but to restrict write
access to a single user at a time.

237

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

-

Reference

1.2.1.1 SEQUENTIAL ACCESS CONTROL
(a)

The system must provide basic sequential access
control.

(b)

The system must provide automatic read-ahead sequential (queued) access.

1.2.1.2 KEYED/INDEXED ACCESS CONTROL
(a)

The system must provide automatic key computation.

(b)

The system must provide automatic index maintenance.

2

(c)

The system must allow multiple index levels to be
maintained.

3

(d-e) The system must support the following types of access
keys:
(d)
(e)

software keys,
hardware keys.

238

Initial

Extended

1.2.1.1

SEQUENTIAL ACCESS CONTROL
Reference:
1.

1.2.1.2

This function is usually desirable for sequcntial record processing. Automatic read-ahead facilities are provided to decrease the amount of wait
time a program may have to incur during successive access operations. In
this way the program can be processing previously obtained data while
the next data access is being performed.

KEYED/INDEXED ACCESS CONTROL
Reference:
1.

Automatic key computation relieves the user of determining the physical
storage address of the record.

2.

Automatic index maintenance relieves the user of updating the index
of an indexed file when he adds or deletes a record from the file.

3.

Indexes are provided for more efficient access of data. However, if
the index itself becomes too large, then an index to the index may be
desirable. For example, a disk index could consist of an index for all
cylinders in a file and a separate track index for all tracks on a cylinder.

239

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENT: CHECKLIST

Reference

1.2.1.3 TELEPROCESSING ACCESS CONTROL
(a)

The system must provide automatic message time
stamoing.

1,2

(b)

The system must provide optional message time stamping.

2

(c-e) The system must provide the following ioput message
processing facilities:
(c)
(d)
(e)

message routing,
message queuing,
message priority recognition.

(f-h) The system must provide the following output message
processing facilities:
(f)
(g)
(h)

3

message routing,
message queuing,
message priority recognition.

240

3

Initial

Extended

1.2.1.3

TELEPROCESSING ACCESS CONTROL
Reference:
1.
This criterion is highly desirable for al) systems
supporting teleproce.ssing.
2.

3.

Message time-stamping is one of the more
convenient ways of attuching
a unique identifier to each message entering
the system. At the same time,
it allows the system to easily recognize
messages that have been in the
system an excessive length of time in order
to increase their processing
priority if necessary.
These Features are quite desirable for most
processing systems supporting
teleprocessing.

I"

241

REQUIREMENTS
OPERATING SYSTEM

REQUIREMENTS CHECKLIST
1.3.2.1

-

iitial

Extended

STRUCTURE DEFINITION

(a-e) The system must allow the following types of structures:
(a)
(b)
(c)
(d)
(e)

Reference

m

1
2
3
4
5
5

sequential,
hierarchical,
indexed,
ring,
list.

(f-g) The system must provide the following types of
indexing schemes:
(f)
(g)

normal,
inverted.

6

(h-j) The system must allow the following types of data
elements:
(h)
(i)

fixed length,
variable length,

()

repetitive.

7
49

1.3.2.2 SPACE ALLOCATION
(a-d) The system will provide data management system support
usinc, the following storage media:
(a)
(b)
(c)
(d)

tape,
disc,
drum,
mass storage.

242

1.3.2.1

STRUCTURE DEFINITION
Reference:
1. While frequently employed for evaluation, these criteria are rarely
specified. However it may be necessary to specify certain of these
criteria based upon anticipated file design requirements.

1.3.2.2

2.

A sequential structure is one in which the data elements are all of
equal rank. This method can be used in support of data which can be
grouped into data elements that are an entity within themselves.

3.

Hierarchical structures provide the capability to structure a file based
on a ranking scheme usually related to a specific type of logical group
relationship. An example of this type of data could be a file containing a logical ranking such as: nation, political subdivision, counties.
major cities, etc.

4.

The indexed structure may be applied to either the sequential or hierarchical structure method and can be used to selectively locate data
elements within a file.

5.

The ring and ':st type of file structure are closely related. Each data
element contains the address of the next successive data element
within a file. The difference in the two structures is that the last
data element in a ring contains the address of the first data element,
whereas the list does not. A ring structure thus allows the user tr
-ead a total sequence of data elements starting with any element within
the ring.

6.

This criterion is highly desirable for a processing system where the
retrieval elements are either random or unpredictable. In this structure retrieval time is minimized regardless of the data fields queried.
However, this type 0t structure also requires an extremely complex
file updating technique.

7.

Repetitive data elements are those which have a number of entries
under c single data label. For example, in a bar account record,
deposits and/or withdrawels tend to be repeating entries.

SPACE ALLOCATION
Reference:
1.

The specification of these criteria ;s d*rsoondent upon the
hardware configuration.
243

REQUIREMENTS
OPERATING SYSTEM

REQUIREMENTS CHECKLIST

Reference

1.3.2.3 INPUT TRANSACTION PROCESSING
(a-c) The system must provide input transaction processing
fccilities that allow:
(a)
(b)
(c)

input data definition,
input data validation,
input data alteration.

(d-e) The system must allow the following types of input
formats:
(d)
(')

2

pre-established,
self-defining.

(f-i) The system must provide the following types of input
data validation:
(f)
(g)
(h)
()
(j-)

equal value compar; n,
range verification,
masked comparison,
sequence checking.

The system must provide the following types of input
dota alteration:

(j)
(k)
(I)

3

automatic truncation/podding,
encoding/decoding,
constant factor modification.

(m-o) The system must recognize the following input data
te rn inator,(m)

standard (embedded) feld,

(n)
(o)

%peciolcharactec(s),
phys'cal media morkers.

244

4

Initial

Extended

1.3.2.3

INPUT TRANSACTION PROCESSING
Reference:
1.

These criteria should be specified for all data management systems.

2.

In many cases the structure of the input to be received can be
established in advance. At other times the method in which the user
receives the input precludes effective data structuring.
The pre-established format is useful for fixed record input media such
as punched cards, magnetic tape, etc. The self defining Format is
usually best For teleprocessing based transactions.

3.

4.

The ability to truncate or pad data is useful in forcing data conformity.
Encoding can be useful in decreasing storage requirements, while
decoding is the reverse but allows the user to make abbreviated
references. Constant factor mnodification allows input data values
to beemodified by a data value.
Input terminators are used to signal the end of the input data to be
processed. Each of these techniques has its advocatea, and no particular method is favored.

245

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST

Reference

1.3.2.4 LOGICAL RECORD MAINTENANCE
(a)

The system must allow the selection of update records
by logical query.

1

(b)

The system must provide record maintenance through
multi-record logic.

2

(c'

The system must provide automatic updating of subordinate files.

3

1.3.2.5 INTERACTIVE FILE MAINTENANCE
CONTROL
(a-b) The system must provide interactive oa irride capabilities for:
(a)
(b)

data values,
update logic.

246

I

Initial

Extended

1.3.2.4

LOGICAL RECORD MAINTENANCE
Peference:
1.

Logical query provides the user the capability to update records
based upon a specified condition being satisfied. An example of
this would be the statement "delete all records after a given calendar
date" or "reain all records between two given calendar dates".

2.

Update by multi-record logic provides the user the capability to
update records by referencing another record or records as control,

3. A system that provides subordinate files should have the capability
to automatically update these file, when an update is performed on
the master file to which they are subordinate.

1.3.2.5

INTERACTIVE FILE MAINTENANCE CONTROL
Reference:
1.

These criteria are highly desirable for a data management system
that supports interactive maintenance from on-line terminals. This
feature provides a user with the capability to override established
data validation conditions or data definition in an on-line interactive
mode.

247

REQUIREMENTS
OPERATING SYSTEM
REQUIREMENTS CHECKLIST
1,3.2.6 FILE REORGANIZATION
(a-c) The sy-ten. mus allow the following methods of restructuring:
(a)
(b)
(c)

field additi n,
deletion,
reordering.

(d-e) The system must allow the following types of merging:
(d)
(e)

intra-file,
inter-file.

248

Reference

Initial

Extended

1.3.2.6

FILE REORGANIZATION
Reference:
1. These methods are frequently found in data management
systems
and are desirable for meeting varying file design requirements.
2.

Intra file merging involves the changing of the internal
structure of a
file by restructuring and merging records within the file.
inter -file merging consists of merging different files into
a single file
structure which will better satisfy a particular application,
This allows
the user to build master flies of related data from existing
singularly
used files.

249

1.1.1 SCHEDULING

1.!1.1

ALGORITHMIC
SCHEDULING

1.1.1.2

TIMEINITIATED
SCHEDULING

1.1.1.3

EVENTINITIATED
SCHEDULING

1.1.1.4

PROGRAMINITIATED
SCHEDULING

1.1.1.5

2.1

2.1.1

ERROR
CORRECTION
(HARDWARE)

2.1..

CONDITIONAL
SCHEDULING

1.1.1.6

SCHEDULING
QUEUEMAINTENANCE

1.1.2.1

CORESTO
ALLOCATI

ERROR
HARDWARE
CONROL

ERROR
'IOTIFICATION
t1ARDWARE)

RECOVERY
2,1.3 ERROR

2.2.1

ERROR
Ppr'G

COMPUTER

1.1

JOBCONTROL

PROGRAM
1.1.3 LOADING

RESOURCE
1.1.2 ALL CATION

CORESTORAGE
I ALLOCATION

1.1.2.2

I/O DEVICE
ALLOCATION

2,0

2.2

ERPOrC:ORP[CTION
,'.RAMl
IP'
,

OPE

1.1.2.3

COMMON ROUTINE
ALLOCATIOi'

1.1.3.1

LOADING
CONTROL

1.1.3.2

SWAPPING
CONTROL

1.1.3.3

STRUCTURE
CONTROL

1.1.4.1

DISPATCHING
CONTROL

1.1.4.2

DIAGNOSTIC ERROR
PROCESSING

ERROR
INTERFACE

ERROR
PROGRAM
G..r

2,13 CONTROL

OL

ERROR
NOTIFICATION
2.2.2 tPROGRAM)

2.2.3

PROGRAM
TERMINATION

2.3.1

KEY-IN
OPERATOR
EDITING

OPiRATING SYSI'M
10 MANAGEMENT

CONTROL
2.3.2 COMMAND EpIIrNC.

REMOTETERMINAL
COMMUNICATION
2.3.3 EDITING

2.0

PROGCAM
AINTENANCE

EVE
SYI

rER OPERATING

SYSTEM FUNCTIONAL CLASSIFICATION

STRUCTURE

PARI,-VEXEC0,VE/ONTROL FUNCTIONS

1.0

JOBMANAGEMENT

(,

1.2

114

TCHING
TROL

EVENT
ITORING

INTERRUPT
PROCESSING

EVENT
1.1.4.2

PROGRAM
5 TEPJNATION PROCESSING

- NCHRONIZATION

1.1.4.3

CONTROL

1.2.1

BUFFERING
221

3.1

11 TIRMINAt
I TI
Nt

PRO45RAm TO

SCRSTM LINK
SESTEM
1IAT LI.2SEkC
.4 ' ERIFICATION

REAL-TIME
CLOTCK

* .\IT f rNAN I

3.0

COMPI.ERINTERFACES

PAT 11

COTROL

DATACODE
1222

TRANSLATION

TESTINGDEBU
3.2 SERVICE

TIMING SERVICE

IN1EPVALI MER

3.1"

L

DEVICE
1.2.3 MANIPULATION

1.2.2 DATATRANSFER

I/O SCHEDULING

PROGRAMLIMIT
1.1.44 MNiN

I0 CONTROL

,..1l.2 SEVIC

YSTEM MANAGEMENT FUNC [I-S

4.1

LITIIITIE5

_

STO.ACF UJMP
3222EICE
3.1.,
1 ONTOk.

.,2 IkA(INI .

CTLIRE

1.3

L

DEVICE
.2.3 MANIPULATION

TERMINAL
REMOTE
1.2,4 SUPPORT

1.3.1.1

SYSTEM
INITIALIZATION

3.0

P

1.3. 1.2

1.3.2

STATUS
RESOURCE

INPUT/OUTPUT

JOBCONTROL
1.3.1 SYSTEMSTR

SYSTEM
COMMUNICATION

COMMUNICATION

1,3.3

STREAM
CONTROL

1.3.4

MODIFICATION

1.3.5

I

SYSTFMRESTART

SUPPORT
PROCE15INC,

PR
3.

TESTING(.)EBUGGING
5ERVICE

M, I
IkA I N(. CON,3

3.3

$yS1EM TEST h'IOI
C*4TKL

3..1

MAI NTAININCG
jO
06CHA R(-'E
INI OIMAT!ON

3.1,2

LOGGING AND
ACCOUNTING

MAINTIlNI NG
Ek OR SIAIIS1I(.S

34

I

MAINIAINING
SyTIEM UIILI,?AIION
qAIISTIC

3.41

CURRENT 'Y510.
STATIUS
IN1ENRC)GA1I')N

M

SYSTEMRECOVERY
4

.3COMMUNICATION

RESOURCE
STATUS
1.3.4 MODIFICATION

INPUT/OUTPUT
3.3 STREAM
CONTROL

SYSTEMSTATUS
INTERROGATION

1.3.5

1.4.1 CHECKPOINTING

1.4.2.1

3,4

M A IN TA I N NCAI,
STEM
J

IAISIL~3.4.1

I

L

PROGRAM
ACCESSISLE
SYSTEMDESCRIPTION
MAINTENANCE

r
SI~m
TAIUStEM
AI'TN
INTEIk()O..A1 )N

3.4.

DERINITION
iNTR)WX)ATI-)N

PROCESSING

1.4.2

INITIATED
PROGRAM
1.4.2.2
RESTARTING

RESTARTING_

SVSTEMINITIATED
RESTARTING

1.4.2.3

DEVICE
REPOSITIONING

2.1

2.1.1

ERROCRECTION
(HADA)

CONTROL

ERROR
NOTIFICATION
2.1.2 (HARDWARE)

RECOVERY
2.1.3 ERROR

2.2. t'

FILEMANAGEW NT

FACI1111

1.1

FILELOCATION
I1,1 4RECNITIQ

fc. the fRwmp,; S,*-.,,
Co4.,t N.,.
w

~d.

ifsol. A;, foc.

:"e

1..

FILESIECURITY
11.2.1
-1.'I--128
1 21 N RO

FILEACCESS
CI)N RO

RfEAWARITE
ACCSfflC.ONTROL

RESIO&tATION
1.1.1 CAPABIIITIFS

1.1.2.3

CONCRJRIf"T
ACSS
MCONTROL

SEOIANTI

ERROR
PROGRAM
2.2 CONTROL

ERROR
CORRECTION
2.2.1 (PROGRAM)

ERROR
NOTIFICATION
2.2.2 (PROGRAM)

2.3

2.2.3

KEY-IN
OPERATOR
2.3.1 EDITING

PROGRAM
TERMINATION

1.0

1.1

1.0

DATA,

2.3.2

ERROR
INTERFACE
CONTROL

TERMINAL
REMOTE
COMMUNICATION
2.3.3 EDITING

CONTROL
COMMANDEDITING

OPERATING SYSTEM
MANAGEMENT

GENERATION
SYSTEM

1.2

2.0

MAINTENANCE
SYSTEM

2.1

PROGRAM
MAINTENANCE

AND DIRECTORY
LIBRARY
MAINTENANCE

2.2

LOAD
GENE

GEMENT

I/O SUPPORT
,.2 FACILITIES

DATAPILE
DATAACCESS
I1. 1 CO TRo.

I

Ju(NTIAL
.'mO

L

EIY(D INIXI,
ONTYL
A

DATA$LOCKINGG
DESLOCkING
1.2,2CONTROk

1,1.1.3

TLIPROCESSING
A(CES COONTROL

1.2,3 LAIELPROCESSIN

1.3.2.1

STRUCTUlRE
DEFINITION

1,l3,1

CONTROL
SPCIFICATION

SPACE
1,3,2,2 ALLOCATION

I

1,12

GENERATION AID
1.3.2 MAINTENANCE

,6ACTION
ItI,0T 1A
P OCEXSSING

I3.2-.4

LOGICAL RECORD
MAINTENANCE

NT
MA

3.1

PROGRAM
TO
SYSTEMLINK
2.3.4 VERII-CATION

OTETERMINAL
MUNICATION
ING

3.2

TIMING SERVICE

INTERVALTIMER
3.1.2 SERVICE

REAL-TIME
CLOCK
3.1.1SERVICE

3.2.1

STORAGEDUMP
CONTROL

TESTIN D
SERVIC

3.2.2 TRACI6

LARTJI" SYSTFM
MANAGEMENT FUNCTIONS

0

PROGRAM
MAINTENANCE

3.0

COMPILERINTERFACES

4.0

MANAGEME NT SUPPORT
UTILITIES

4,2

SYSTEMSIMULATION
ROUTINES

II
DEVICE
PERIPHERAL
4.1 SUPPORT

LOADMODULE
GENERATION

CTORY
2.2

A.1.1

SIMULA'1ON
OF SYSIEM
4.2.1 FACILITIES

VOLLIME
4.1.2 MAINENANCE

VOLUME
PREPARATION

4.3

SYSTEMMEASUREMENT
ROUTINES

SIMULATION OF
COMMUNICATION
4.2.2 FACILITIES

STAND-A
4.4 UTILITIES

TAND-ALONE
STATUS
4.4.1 DISPLAY

PART
III - DATAMANIPUIATION FUNCTIONS

DATAMANAGEMENT

DATAQUALIFICATION
1.3.3 AND RITTIEVAL

II
.41.lO.
I

JWTEIACTI'.E FILE
IAINTENANCE
125CONTROL

OILE

134DT

?y

3.2

TESTINGDEBUGGING
SERVICE

DUMP
3.2.2

OL

UREMENT
4.4

TRACING CONTROL

3.3

$,(STEMTESTMODE
3.2.3 CONTROL

MAINTAINING
J08 CHA PGE
3.3,1 INW ',RMATION

LOGGING AND
ACCOUNTING

MAINTANING
3.3,2 ERROR
STATISTICS

MAINTA: NI NG
SYSTEMUTILIZATION
1.3-3 STATISTICS

3.4.1

fENT ys
STATUS
INTERROGl',

STAND-ALONE
UTILITIES

STAND-ALONE
STATUS
4.4.1 DSPLAY

STAND-ALONE
RECO%,ERY
4.4.2 SUPPOrT

2.0

2.1

DISPI. Y ALII.TIfl

1,).dAT1
X!Ut2MA!R ()I
).

P.D

1,1
344C~T~T21

DATAHANOL ING
UTILITIES

_______________
-Lid1PITON
DI1PA~
.*,.

.*..T.

OfAR
".J
poltloTIWS
__________________

WA

21PA

C('#'.

RA

'V

AA5 ?
&i3ICRTS

I'D
3.4

.0

MAINTAINING
SYSTEM UTILIZATION
s.S3_

STATISTIC,

PROGRAM ACCESSIBLE
SYSTEM DESCRiPTION
MAINTENANCF

CURRENT 'YSTEM
STATUS
3.4.1

SYSTEM DEFINITION

INTERROGATION

3.4.2

INTERROGATION

SOtTtNG AP'D

3.0

WV-ING

4~~~

*~ftt$A.
00t MCSS~3E.

h

S~ST
MS~\

-

Security Classification

DOCUMENT CONTROL DATA.- R & L
(Securitv classification of title, body of afstract and ,rndex~ng ainoetton muIIJt be entered w'hen the ovrll
ORIGINATING

(Corporate author)

ACTIVITY

,4REQ

The COMTRE Corporation

LA;FC

151 Sevilla Avenue
REPORT

TO

UCASFE
b

RU

Coral Gables, Florida 33134

3.

report is rlasajod

SCUIY

_______

TITLE

COMPUTER OPERATING SYSTEMS CAPABILITIES;
A SOURCE SELECTION AND ANALYSIS AID
4. DESCRIPTIVE NOTES (T-ype ot epo..t and inclue~re dates)

None
5. AU THORISI (First name, middle initial, Iaat name)

William C. Mittwede
6.RPOTDAE7.

TC 'AL

November 1970
*a.

NO1O

lb. NO. OF REFS

PAGES

249

CONTRACT OR GRANT NO,9.

None

ODIGINATORS.7EPORT NUMISERIS)

F19628-70-C-0258

ES D-TR-71 -74

b. PROJECT NO

6917__

_

C.

9.

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

_

OTHER R EPORT NO'St (Any other rmrnbare that my beooms
this nvprt)

d.
10

DISTRIOUTION

STATEM.ENT

This document has been cppraved for public release and sales; its distribution is unlimited.
11 SUPPLEMENTARY

I

________ABSTRACT__________

TCS

la

SPONSORING MILITARY

AC TIIYI

Deputy for Command and Management Syster
Hq Electronic Systems Division (AFSC)
L G Hanscom Field,

edford, Mass. 01730

TisI reporl presents a method for translating operatiorial data processing
requirements into specific criteria for use in set ecting, volidr'ting or
evaluating computer operating systems. The criteria have ,*n structured
on the basis of an integrated functional classification structure applicable
to the executive/control functions, system management functions and data
manipulation functions of currently available operating systems. In concert
with the methodology presented, a checklist form is included as on aid to
developing selection criteric for particular applications. A diagram of the
functional classification structure is also npii!udod.

DD~o

0,S~1473

Security Classification
14
EY

WCIPD5

LINK

A

LINK

WT

8

-

•
51OLE

ROLE

W,

opemting systems (computer)
specificiation
evaluation
validation

analysis
selection
guidelines
identification

Security Claisilication

4

LINK
ROL E

C
WT



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Creator                         : 
Producer                        : 
Page Count                      : 257
EXIF Metadata provided by EXIF.tools

Navigation menu