• Keine Ergebnisse gefunden

ERRORS, CHECKS AND ACTION

Im Dokument WHAT IT IS--HOW TO USE IT (Seite 187-195)

PROGRAM TRANSLATOR

4:180.464 USERS' GUIDE

7. ERRORS, CHECKS AND ACTION

This paragraph lists all the major types of error that may occur in the translation, and states the types of checks or interlocks provided to detect or protect against these errors. In some cases, particular types of errors are not possible because of the mode of operation of the translation. If, when the check fails or an interlock is applied, some action is automatically taken, this is also stated. The most common types of errors are as follow:

Missing Entries - Only when all the input statements to the program translator are serially numbered can any missing entry be noted; however, there may be a check for missing or unspecified labels or data names which come under "incom-plete entries" or "inconsistent program".

Unsequenced Entries - Where it is important that the data submitted be sequenced in some proper order, a monotonic check on labels may be used. There may be checks to insure that the data is in proper sequence, it may be that the data can be accepted in any sequence and is reordered internally, so that there cannot be a sequencing error.

Duplicate Names - It may be that by mistake several separate and unique items of data in a program have been given the same name. Confusion would therefore arise in the translator whenever the name was used in procedures.

Improper Format - Particularly where sophisticated syntactic construction rules are used, it may be that a translator does not examine a program for proper for-mat in all cases, and makes only a limited check.

Incomplete Entries - In certain syntactic arrangements, it is mandatory that cer-tain entities be mentioned, such as three operands to go with a multiplication statement; and the translator may check to see that they exist.

Target Computer Overflow - Due to the fact that expansion during translation is not always easy to estimate, the translator may check that the storage space in the object computer has not been exceeded.

Inconsistent Program - Inconsistent program errors can occur, for example, when a data name is improperly used as a destination, floating point operations are illegally prescribed for fixed point operands, or where references are made to files that have not been opened;

PROGRAM TRANSLATOR 4:180.800

4/62

§180.

Particular types of action are:

Stop - The translator is stopped and cannot continue until some action is taken by the operator. This may be used in order to let the operator resequence cards, or because the translation must be abandoned.

Abandon - This implies that it is impossible to continue with the translation.

Continue - This may be an optional feature and implies that the program continues either ignoring the fact that an error has occurred, or executing some built-in rule for an arbitrary resolution of the error; or even, perhaps, leaving it unde-cided.

Offer Options - The translator stops and offers options to the operator from which he may make a choice. The choice offered is usually rejecting an item in error, continuing in spite of the error, abandoning the translation, or continuing after some other action.

Reject - The particular item under consideration is rejected and the translation continues, ignoring that item.

The checks or interlocks that may be applied include the following:

Not possible - This means that because of the way the translator or the language is constructed, this type of error is not possible and therefore need not be con-sidered.

None - This means that there is no check or interlock to discover when such an error occurs, and its effect may, therefore, be uncertain or unusual, depending upon the particular behavior of the translator under such conditions. Where the behavior of the error is important and easily stated, it will be given in the action column.

Check - Often it is not possible to describe simply a check that is provided to

dis-cover

sophisticated errors. The word "check" is used either when the form of the check is obvious from context or when there is a check whose description would be lengthy or difficult. A check may not always be complete, but the name of the check usually gives a good idea of its coverage. A check discovers an error after it has occurred .

. 8 ALTERNATIVE TRANSLATORS

In addition to the standard translator provided to allow a given language to be translated for a given target computer, there may be alternative translators which enable the same target computer to be used with the same source language. These translators are usually run on translating computers that are different from the target computer.

Sometimes the translating computers are larger computers which eruible more efficient target routines to be produced for a small computer than might be possible using the target computer as the translating computer. On the other hand, the translating com-puters may be smaller computers which enable the preparation and debugging of pro-grams for later use on a larger computer. Sometimes a translator runs on an existing computer to prepare routines for a computer which is not yet available. In many cases alternative translators may also be associated with simulators of the target computer.

© 1962 by Auerbach Corporation and BNA Incorporated

OPERATING ENVIRONMENT

§ 190 .

4: 190.100

Users' Guide

Operating Environment

. 1 GENERAL

The operating environment can be loosely defined as all the facilities that contribute to the efficient and convenient running of routines on a computer. It covers both produc-tion runs and debugging. In the most sophisticated systems, these facilities may be provided within the computer as a number of special purpose routines automatically controlled by a master routine.

The important functions of operating are:

the loading of programs into the computer.

the allocation within the computer of storage, input-output and other units.

the running supervision of programs.

the simultaneous working of units.

multi -running or multi -sequencing.

the handling of errors and restart facilities and the control of program diagnostics for trials.

the particular facilities for manual operator control (particularly where the general supervision is being done automatically).

the communication between the operator and any automatic control.

the logging of progress showing all the important events as far as operating is concerned.

the enhancement of the performance of the system because of the special facilities provided for operating.

the repertoire of special problem oriented routines that are available to assist in the running of an installation

The special routines used to help the operator in the running or debugging of routines are called executive routines. There are three kinds - service routines, monitor routines, and supervisor routines.

Service routines are those that provide a service to another routine. Typical examples are overflow control, input-output blocking and unblocking, control of typewritten mes-sages, and program loading. They are normally used as subroutines of the routine they serve.

Monitor routines are those whose principal task is to monitor the progress of work.

One example is a trace or snapshot routine used in debugging. Another example is an automatic log-writer.

Supervisor routines are those that control and organize the running of many routines, either the automatic sequencing of loading, initiating, and unloading of one routine at a

© 1962 by Auerbach Corporation and BNA Incorporated 4/62

4:190.110 USERS' GUIDE

4/62

§ 190.

time, or multi -running. They should require manual action only to load and unload input -output units, state the jobs required to be done, and intervene in unusual cases.

There are many cases in which the different kinds of executive routine are not clearly differentiated; for example, a trace routine may have varying degrees of control - some are almost supervisors.

· 11 Identity

These are the names and code numbers of the important executive routines referred to in this part. Where it is appropriate, the originator, if it is not the equipment manu-facturer, and the current maintainer, if it is not the manumanu-facturer, are given, and also any important dates, such as first pilot or first regular universal use .

. 12 Description

This is an over-all description of how the majority of the features provided are integrated into one system - whether by a comprehensive supervisor routine or individual service routines in each program, or by operator manipulation at the console. The description indicates the degree to Which the system is automatic, the strong and the weak points of the system. It should be noted that in many cases, the provision of facilities that exist in the system may be controlled by the translator or even the data description of the pro-gram, and it is sometimes difficult to allocate the control of each of the various facili-ties to one authority. Where possible, cross-references are made to those facilifacili-ties which are controlled by the source program or the translator. At one level, a facility may be automatically provided in a supervisor regardless of, or in addition to, anything that the translator or the program may try to control. At a second level, the translator may insert into programs either service routines or entries into a supervisor routine to provide the individual facilities. At a third level, parameters in a program or even special coding in a program may be allowed to control certain of these facilities . . 13 Availability

The major executive routines are listed here together wi,th the dates on which they are first available for regular operational use in a properly-documented form .

. 2 LOADING OF ROUTINES

The three important aspects of loading are: first, the sources from which routines may be obtained; second, the ability of being able to call a subroutine from a library. at the time of program loading; and third, the sequence in which the routines are loaded and the control over a queue if one exists •

. 21 Source of Routines

In general, there are two major sources from which routines may be taken to be loaded into a computer - first, special libraries, and second, the set of independent routines which have not been organized in any library. The various alternatives for each of these sources are listed. The alternatives may be those of the storage media, language, or form in which the programs are submitted, such as relocatable or absolute code. The

control that calls the particular routines is stated.

· 22 Library Subroutines

These are the library routines that are cued within. programs being run, and, in the operating environment under discussion, are not incorporated into the routines at trans-lation time, but are called at loading time. In typical cases, the calls may be made automatically upon an on -line library or by operator selection from a card file.

· 23 Loading Sequence

In the simplest case, the sequence of loading routines is determined by the physical

&

Ir-A-U-ER-BA-CH-'''-'@

OPERATING ~NVIRONMENT 4: 190.300

§ 190.

sequence in which the operator places them in an input hopper or in which they are re-corded on a magnetic tape. When using magnetic tapes with a supervisor routine, it may be possible to specify a priority sequence for the routines by loading control data into the computer, and it may even be possible to make later changes. A supervisor routine may apply ,certain rules for determining the sequence in which routines should be loaded. When multi-running is possible, there must also be rules and procedures for the relative precedences of routines that are to be run during the same period . . 3 HARDWARE ALLOCATION

Programs are sometimes prepared in such a way that by the time they are ready for loading the particular input-output channels, units and storage for each instruction and item of data are already determined and fixed. It is more convenient, in many cases, to leave a routine in what is called relocatable form. This means that a routine can be moved, as is convenient, to different places in the storage. This flexibility is particu-;

larly useful when a routine may be used as a subroutine, because it can then easily be moved to fit in with other routines with which it may be associated. When multi -running is possible, it is necessary for several routines to be located together easily in the storage .

. 31 Storage

When a routine is in relocatable form, it is possible to place its segments in oifferent locations as required. This is useful for overlay procedures and essential for multi-running .

. 311 Segmenting of routines . . 312 Occupation of working storage

Many routines run in computers with more than one level of storage require dynamic allocation of storage. This means that as a routine is running, it is necessary from time to time to allocate some storage to different parts of the program - in particular, to each overlay segment which is moved between auxiliary storage and working storage, There are two separate decisions to be made: first, the decision as to how to divide the program into individual overlay segments at the time of loading; second, the deci-sion as to which segments shall occupy working store all the time and which segments shall from time to time be moved from one level to another .

. 313 Choice of location

In the simplest case, there is the choice of the particular locations within a level of storage to be allocated for each routine .

. 32 Input-Output Units

If it is possible to make the allocation of the input-output units at run time instead of when the program is written, an operating system can make choices so that an operator can set up input and output files in advance on idle equipment, and generally can choose the most convenient input and output units for any particular run of the job .

. 321 Initial assignment

This is the aSSignment of the individual input and output units to different files at the beginning of a job. Such an aSSignment enables the files to be set up in advance, con-venient input-output units to be chosen, and faulty input-outputs to be avoided .

. 322 Alternation

This is the technique of making dynamic changes to the allocation of the input-output units even when the particular allocations may have been pre-set. This is sometimes referred to as tape-swapping when it is used on magnetic tape units. The principle

© 1962 by Auerbach Corporation and BNA Incorporated 4/62

4: 190.323 USERS' GUIDE

4/62

§ 190.

involved is that, instead of allocating one magnetic tape unit to a master input file, two units are allocated. Then by the technique of mounting the second reel on the second unit while the first unit deals with the first 'reel, it is possible to switch quickly between units at the ends of reels to avoid having to wait f()r unloading and reloading. Alterna-tion is normally applied only to very active files·, and may take a variety of sophisti-cated forms .

. 323 Reassignment

This is a general facility to change dynamically the input -output unit associated with any file. It enables the operator to change units conveniently in the event of a break-down or to simulate alternation if he wishes, or to over -ride a pre -set alternation if there are not enough units available .

. 4 RUNNING SUPERVISION

There are five important areas in the supervision of a running routine. These are:

(a) the organization of the simultaneous working of various units.

(b) the intermingled running of independent routines (called multi -running).

(c) the running of interdependent sequences of one routine, called multi-sequencing.

(d) the control of errors and the actions taken.

(e) the organizing of restarts in routines.

Many of these facilities may not be provided by supervisor routines but are built into the operational routines either when writing the original source program or during translation. There may well be some control left to a human operator, however, or an automatic supervisor routine at running time •

. 41 Simultaneous Working

Usually the control of simultaneous working of many hardware units is a direct function of the way the source program is written or the way the translator implements the pro-gram, unless it is possible that there be dynamiC allocation of individual channels to input-output units, or some special form of sharing is built into the hardware that can be dynamically controlled by a control routine. The control routine may, in fact, be incorporated into each program by a translator .

. 42 Multi-Running

This is the running together of several independent routines in the computer in an inter-mingled way. There must be rules which specify whether a particular unit shall work for one routine or another. There are usually practical limitations on the number of routines -allowed in ·the operating system, even if in theory there are no limitations . . 43 Multi -Sequencing

This is the ability for several processors, not necessarily of the same kind, in one computer to operate separately on different sequences of one routine and to be inter-dependently interlocked at check-points in specified places .

.44 Errors, Checks, and Action

This shows all the major types of error concerned with the running of routines as op-posed to unusual hardware faults or programs errors. In some cases, particular types of error are not possible because of the mode of operation of the system. If, when a check fails or an interlock is applied, some action is automatically taken, this is also noted. The most common types of errors are as follow:

r---,--,~

I

AUERBACH /

@[I

./

OPERATING ENVIRONMENT 4: 190.450

§ 190.

.45

Loading Input Error - A loading error occurs when, for example, the wrong data is loaded into an input unit, the data is loaded' in improper sequence, console con-troIs are not properly set, or certain control cards are missing or in error.

Allocation Impossible - This is an attempt to load a routine which it is not possible to place in the computer. This may be because the other routines do not leave enough space or because certain features are not available due to faults in them, or because the capacity of the computer would be exceeded.

Input-Output Errors - Although input-output errors are often built into routines by the translator or the programmer, all routines in a given installation usually use a consistent and common set of service routines for input-output error control. There are two cases that normally have to be considered. The first case is that of a single isolated error which may be overcome automatically by re-reading or some such recovery procedure. The second case is that of a persistent error which resists automatic recovery.

Overflow - This covers the particular types of arithmetic errors that may be de-tected in the computer control, or in a routine, when numbers or other items exceed the limits that have been allowed for them.

Invalid Instructions - These are invalid instructions that are encountered in the pro-gram; e.g., constants that are obeyed as instructions by mistake or an instruction which is used that does not apply to a particular configuration because of lack of

Invalid Instructions - These are invalid instructions that are encountered in the pro-gram; e.g., constants that are obeyed as instructions by mistake or an instruction which is used that does not apply to a particular configuration because of lack of

Im Dokument WHAT IT IS--HOW TO USE IT (Seite 187-195)