DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦47dd284b9⟧ TextFile

    Length: 176640 (0x2b200)
    Types: TextFile
    Names: »D34«

Derivation

└─⟦017e68d2c⟧ Bits:30005867/disk05.imd Dokumenter (RCSL m.m.)
    └─⟦this⟧ »D34« 

TextFile

F_       7         UTILITY PROGRAMS 
           
           
          The computer is equipped with a sequence of utility programs.
          Some of these have been mentioned in the previous chapters in
          order to illustrate the various possibilities of utilization. In
          the following 3 chapters more extensive description of the most
          important utility programs exist. The descriptions are in no way
          thorough and only the most important (usual) possibilities of use
          are described. 
           
          In this chapter a short survey of the utility programs is given,
          and different common conventions are mentioned. 
           
          The utility programs are on basis of their functions separated in
          three groups: 
           
                    - Job control 
                    - Catalog handling 
                    - Data handling 
           
           
&_7.1       Job Control 
           
          Programs which can influence the job execution in different ways
          are reckoned in this group. Furthermore the group includes pro-
&_          grams which communicates with BOSS (cf. 5.2). At the present the
          group includes 27 programs. Job control programs are naturally
          separated in the following groups: 
           
T_                    - Management of input / output 
&_                    END, I and O 
           
T_                    - Job programming 
&_                    IF, MODE and REPEAT 
           
T_                    - Print enrollment 
&_                    CONVERT \f

                    - Job enrollment 
                   NEWJOB and REPLACE 
 
                   - Operator communication 
                     OPCOMM, OPMESS, KIT, MOUNT and RELEASE 
           
          The listed programs are described in chapter 8. 
           
           
T_7.2       Catalog Handling 
           
          The wellknown operations on the CATALOG are carried out by the ca-
&_          talog handling programs. The group includes at present 22 programs
          of which the following are mentioned: 
           
T_                    CLEAR 
                    LOOKUP 
                    RENAME 
                    SCOPE 
                    SEARCH 
                    SET 
&_          The listed programs are described in chapter 9.
 
           
T_7.3       Data Handling 
           
          By data handling is meant: 
           
                    - Data transfer 
                    - Data printout 
&_                    - Data modification 
           
          To solve these problems a sequence of programs exist of which so-
          me have several applications. In the following grouping the pro-
          grams are placed according to their primary function. 
           
T_                    - Data transfer 
&_                    COPY, LOAD, MOVE, and SAVE 
           \f

T_                   - Data printout 
                     HEAD, HEADPUNCH and PRINT 
           
                    - Data modification 
&_                    EDIT 
           
          The stated programs in the first and second group are described
          in chapter 10. 
           
          EDIT is a text editing program, which makes it possible to modify
          program texts and data. EDIT holds more facilities than BOSS -
          editor. 
           
          The group includes at present 13 programs. 
                    
     
T_7.4       Conventions 
           
          All utility programs work on the basis of a common set of conven-
          tions, so the error messages are standardized and delivered on
&_             the same file, which is CURRENT OUTPUT FILE. 
           
          Error messages have the following format: 
           
          xxx program name' explanation' 
           
T_          Ex. 7.1 
                    xxx CLEAR CALL 
&_          Illegal call of the CLEAR - program resulted in the errormessage.
           
          PRIMARY OUTPUT FILE is used for error messages when it is impossib-
          le to use CURRENT OUTPUT FILE. 
           
          The catalog handling programs have by creation and printout of ca-
          talog entries several abbreviations in common. 
           
          When the size is negative, a catalog entry refers to a document
          and the type is determined by a MODEKIND statement which replaces\f

          the size. MODEKIND is described by a coordinate, but for the sake
          of convenience it may be replaced by different MODEKIND abbrevia-
          tions. 
           
           
T_7.5       Modekind 
           
          The following list includes the most used MODEKIND abbreviations.
           
          Abbreviation        MODE         KIND        EXPLANATION 
           
               ip             00Input/output via 
                                                       internal process 
          bs             0        4          Backing store 
          tro010Tape reader, odd, 
                                                       parity 
          tre210Tape reader, even, 
          parity 
&_          trf            6        10Tape reader, flexo- 
                                                  writercode.
T_                 tpo            0           12         Punch, odd parity

          tpe            2        12    Punch, even parity

               tpf         6        12    Punch, flexowriter-
                                                       code
               lp             0        14         Printer 
          crc  10 16Cardreader, 
                    EBCDIC
          mto            0           18    Magnetic tape,
                                                  odd parity. 
&_           
           
T_       7.6       File Descriptors 
           
          A sequence of frequently used documents is described by different
          permanent catalog entries which often have the same name as the
          MODEKIND abbreviation for the document. The list below is not
&_          complete. 
           \f

T_          NAME                DOCUMENT            MODEKIND-ABBREVIATION 
          tro                 reader                     tro 
          tre                 reader                     tre 
          trf                  reader             trf 
          tpo                  punch              tpo 
          tpe                 punch              tpe 
          tpf                 punch              tpf 
          lp                  printer            lp 
&_          crc                 cardreader                 crc 
           \f

F_       8         JOB CONTROL 
           
           
          Programs which influence the job execution or communicate with
          BOSS are called job controlling programs. Some of these programs
          have already been introduced in chapter 6 without any actual pro-
          gram description. In this chapter a sequence of program descrip-
          tion exist supplemented with different examples and exercises
          which show the most frequently occuring use of the programs. Se-
veral of these programs deal with new aspects and the needed
concepts are introduced currently. 
           
           
T_8.1       Control of Current Input/Output 
           
          To this purpose the already mentioned programs I, END and O exist.
          In the next three sections there is a thorough program descrip-
          tion for each programs. This section finishes with a description
          of the ONLINE program, which makes it possible to run conversa-
&_          tional jobs. 
           
T_8.1.1     I 
          With the I program CURRENT INPUT FILE is selected.
           
            Ex. 8.1 
&_                    i komfile 
           
          The file which is described by the catalog entry KOMFILE, is
          chosen for CURRENT INPUT FILE. 
           
T_PROGRAM    
&_CALL      i filename' 
           
          FUNCTION 
          The CURRENT INPUT FILE is stacked and by this information about
          the name and position is stored. This done, the file which is
specified in the program call is chosen as CURRENT INPUT FILE. 
           \f

T_ERROR     xxx I CALL 
&_MESSAGE   A left hand side in the program call occurs. 
           
T_          xxx I PARAM 
&_          There is a parameter error in the program call. 
           
T_                 xxx I file name' reason' 
&_          The file can>t be attached because of the reason stated. 
           
T_8.1.2     E_N_D_. 
          With the END program CURRENT INPUT FILE is unstacked. 
           
          Ex. 8.2 
&_                    end 
           
T_PROGRAM    
&_CALL      end 
           
          FUNCTION 
T_             The CURRENT INPUT FILE is unstacked and FP continues reading from
          the previous input file in the position where the file was left. 
           
           
ERROR     In spite of a wrong program call the END program is executed. 
           
           
T_ERROR     xxx END CALL 
&_MESSAGES  A left hand side occurs in the program call 
           
T_          xxx END PARAM parameter' 
&_          The stated parameter must not occur. 
           \f

T_8.1.3     O_ 
          With the O program CURRENT OUTPUT FILE is selected. 
           
            Ex. 8.3 
                      o output 
&_                    The file OUTPUT is selected as CURRENT OUTPUT FILE. 
           
T_PROGRAM    
&_CALL      o filename' 
           
          FUNCTION 
          An END OF MEDIUM character is written on CURRENT OUTPUT FILE and
          the use is terminated. This done, the file which is specified in
          the program call is selected as CURRENT OUTPUT FILE. If no file
          with the name stated exists, an area is created and is selected
          as CURRENT OUTPUT FILE.The area gets the name, which was
          specified in the program call. 

ERROR     By error PRIMARY OUTPUT FILE is selected as CURRENT OUTPUT FILE. 
           
           
T_ERROR     xxx O CALL 
&_MESSAGES  A left hand side occurs in the program call. 
           
T_          xxx O PARAM parameter' 
&_          The stated parameter must not occur. 
           
T_          xxx O filename' reason' 
&_          For the reason given the specified file could not be attached. 
           
T_8.1.4     E_x_e_r_c_i_s_e_. 
          Exercise 8.1 
          Let the area TEXT have the following content: 
           
                      begin integer i ; 
                    read (in,i) ; write (out,i) 
                    end 
&_                    7 
           \f

          Please explain what happens, when the following two jobs are
          enrolled: 
           
T_                    1. (i text 
                    u = algol 
                    ) 
                    u 
                    5 
&_                    finis 
           
T_                    2. (i text 
                    u = algol 
                    end) 
                    u 
                    5 
&_                    finis 
           
T_8.1.5     O_n_l_i_n_e_. 
          With the ONLINE program the job is made conversational, and the
          terminal is selected as CURRENT INPUT FILE. 
           
                   Ex. 8.4 
                    10 online 
&_                    go 
          The terminal is selected as CURRENT INPUT FILE and the next com-
          mand must be typed directly on the terminal. 
           
T_PROGRAM    
&_CALL      online 
           
          FUNCTION 
T_          PRIMARY INPUT FILE is redefined for the terminal which was used
          for the job enrollment. The terminal is also chosen for CURRENT
          INPUT FILE. The following FP commands can now be typed directly,
&_          and they will be performed concurrently with the typing. 
           
          The conversational form of a run can only be used when permission
          to this is stated in the USER CATALOG because this form of run de-\f

          mands more resources than others. When the permission is given
          the resource can be ordered with the command / option ONLINE. 
           
T_          Ex. 8.5 
                    online yes 
&_                    job kc1234 online yes 
           
           
T_ERROR     xxx ONLINE CONNECT TERMINAL 
&_MESSAGES  The job has not ordered the ONLINE resource. 
           
           
T_8.2       Job Programming 
           
          To this purpose the earlier mentioned programs MODE, IF and REPEAT
          exist. In the next three sections each program is described in
&_          details. 
           
T_8.2.1     M_o_d_e_. 
          With the MODE program the state variables may be changed. 
           
          Ex. 8.6 
&_                    mode list.yes 0.no  
           
          The value YES is assigned to the LIST bit, and the value NO is
          assigned to the 0-bit. 
           
T_       PROGRAM   mode  sp'  modebit' . yes     N 
CALL                              no      1 
           
          mode' :: =  integer' 
                        list 
           
&_          integer' :: = 0 - 11 
           
          FUNCTION 
          The specified MODE BITS are provided with the stated values. 
           \f

T_ERROR     xxx MODE CALL 
MESSAGES  A lefthand side occurs in the program call. The execution of the
&_          program is not affected. 
           
T_          xxx MODE PARAM parameter' 
          The parameter stated is illegal in the program call and is thus
&_          ignored. The other parameters are treated normally. 
           
T_8.2.2     I_F_. 
          With the IF program the performance of the next FP command is
          determined by the value of one or more MODEBITS. 
           
T_          Ex. 8.7 
                    if ok.no warning.no 
&_                    finis 
          The FINIS program is only called if both the OK- and WARNING bit
          have the value NO. 
           
T_
PROGRAM   if   sp' modebit' .  yes    N 
   CALL                             no     1 
&_
              
T_                           list 
          modebit' :: =   ok 
                    warning 
                      integer' 
           
&_          integer' :: = 0 - 23 
           
          FUNCTION 
          The next FP command is only performed, if the values of all the
                   specified MODE BITS are in accordance with the stated values. 
           
          As the execution of the IF program does not affect the MODE BITS
          IF can be used several times. 
           \f

T_ERROR     xxx IF CALL 
MESSAGES  The left hand side occurs in the program call, which does not
&_          affect the execution of the program. 
           
T_          xxx IF PARAM parameter' 
          The stated parameter is illegal and is ignored. The other parame-
&_          ters are treated normally. 
           
T_8.2.3     R_e_p_e_a_t_. 
          The REPEAT program makes it possible to execute a sequence of FP-
&_          commands several times. 
           
T_          Ex. 8.8 
                    u = algol 
                    (repeat 5 
&_                    u) 
           
          The compound command is executed 5 times. 
           
T_PROGRAM    
&_CALL      repeat integer' 
           
          The program call must occur in a compound command. 
           
          FUNCTION 
          The program makes amendments in FP>s command stack, so the FP
          commands following REPEAT in the compound command are executed
          the number of times specified. 
           
           
ERROR     By error the rest of the commands are executed once. 
           
T_ERROR      
&_MESSAGES  Only the general error messages are stated. 
           
T_          xxx REPEAT NO FACTOR 
&_          The repeat parameter is missing. \f

T_          xxx REPEAT FACTOR 0 
&_                 The repeat parameter is 0.
T_           
          xxx REPEAT NOTHING TO REPEAT 
&_          REPEAT does not enter into a compound command. 
           
T_8.2.4     E_x_e_r_c_i_s_e_s_. 
          Exercise 8.2 
          Three programs P1, P2 and P3 should be executed in the given se-
&_          quence. Write the necessary job when P3 is only to be executed,
          if both P1 and P2 have been correctly executed. The OK-bit has
          the value YES after correct execution of a program. 
           
 
T_8.3       Dialogue with BOSS. 
           
          From an internal process messages can be send to another internal
          process (cf. 5.2). Thus a CHILD process (job) under BOSS can send
          messages to BOSS, and in reference 1 a description of the diffe-
&_          rent messages, accepted by BOSS, exist. 
           
          The dialogue between a job and BOSS is mostly concerned with the
          following subjects: 
           
                    - Job 
                    - Printer 
                    - Disc 
                    - Magnetic tape station 
                    - Operator 
           
          The following sections contain program descriptions of the most
          important programs which can be used for dialogues with BOSS. The
          program descriptions are supplemented with descriptions of the
          corresponding BOSS-commands. 
           
T_8.3.1     J_o_b_. 
          From a job a new job can be enrolled, and a job must be termina-
&_          ted with a FINIS message. \f

T_8.3.1.1   J_o_b_ _e_n_r_o_l_l_m_e_n_t_. There are three separate job types represented at
          the enrollment. 
                    
T_OFFLINE   An OFFLINE JOB is enrolled by the operator and the job is on
&_          papertape or card deck. 
           
           
T_ONLINE    An ONLINE JOB is enrolled with GO or RUN from a terminal, and the
&_          job is in the JOB FILE.  
           
INTERNAL  An INTERNAL JOB is enrolled with the NEWJOB command or from
          another job. The job is in a permanent area. 
           
           
T_JOB SPE-  A job is always described in the wellknown way as demonstrated in
CIFICA-   the earlier chapters. Only when it is an ONLINE JOB the job spe-
TION      cification may be omitted, and the linenumbers are only stated
&_          from terminals. 
           
           
T_PRIMARY   PRIMARY OUTPUT FILE (PRIMOUT) is listed on the terminal for an
OUTPUT    ONLINE JOB, whereas the printer is used for the other job types.
FILE      A particular printer can be selected, if there are several avail-
          able. 
           
          When one job is enrolled from another it can be done in two dif-
          ferent ways by means of the programs REPLACE and NEWJOB. 
           
T_8.3.1.2   R_e_p_l_a_c_e_. With the REPLACE program a job enrollment is send to
          BOSS. 
           
            Ex. 8.9 
                    replace rcjob 
                    A job which is described in the area RCJOB is enrolled
&_                    to BOSS. 
           
T_PROGRAM
&_CALLreplace file name'\f

             FUNCTION 
          A job enrollment including the specified file name is sent to BOSS.
          The existing job must be in a permanent area and its running will
          not be effectuated until the enrollment job is terminated. 
           
          REPLACE should not be used from an ONLINE JOB. 
           
           
ERROR     In case of error no job is enrolled. 
           
                    
T_ERROR     xxx REPLACE CALL 
&_MESSAGES  The left hand side occurs in the program call. 
           
T_          xxx REPLACE parameter list' PARAMETER ERROR 
&_          Parameter error in the program call. 
T_           
          xxx REPLACE parameter list' NOT ALLOWED FROM ONLINE JOB  
&_          REPLACE can not be used from an ONLINE JOB. 
           
T_8.3.1.3   N_e_w_j_o_b_. With the NEWJOB program a job enrollment is sent to BOSS.
           
            Ex. 8.10 
                    newjob rcjob 
                    A job is enrolled to BOSS. 
&_                    The job is in the permanent area RCJOB. 
           
T_PROGRAM   1
&_CALL      newjob filename'  printername' 
          0
          FUNCTION 
          The present job in the specified area is enrolled in BOSS. The
          area must be permanent. PRIMARY OUTPUT FILE is listed on the gi-
          ven printer and if nothing else is stated on the nearer printer.
          The new job is immediately included in the normal priority routine.
           
           
ERROR     In case of error no job is enrolled. \f

T_ERROR     xxx NEWJOB CALL 
&_MESSAGES  The left hand side occurs in the program call. 
           
T_          xxx NEWJOB filename' reason' 
&_          For the reason stated the job could not be enrolled. 
           
T_          Exercise. 8.3 
&_          State the extended syntax for the NEWJOB command. 
           
T_8.3.1.4   J_o_b_ _t_e_r_m_i_n_a_t_i_o_n_ 
          FINIS 
          With the FINIS program a termination message is sent to BOSS. 
             
&_          Ex. 8.11            finis 
           
T_       PROGRAM    
&_CALL      finis 
           
          FUNCTION 
           A termination message is sent to BOSS which will abort the job. 
           
T_8.3.2     P_r_i_n_t_e_r_ 
          A BOSS controlled printing is activated by sending a message to
BOSS with the CONVERT program. 
           
          Ex. 8.12           convert data 1 
           
T_PROGRAM      11
&_CALL      convert area name'  printername' paper type'
                               00
           
          The paper type is specified with an integer. 
           
          FUNCTION 
T_              A message containing area name, printer name and paper type is
&_          sent to BOSS, which will perform the printing of the area on the\f

                   specified paper and the printer stated. If the optional parame-
ters are omitted, printing is performed on standardpaper (type 0)
and on the nearer printer. The area must not belong to the LOGIN
pool. Temporary areas are adopted by BOSS and become invisible to
the job.  
           
ERROR     In case of error the area is not printed.
           
T_ERROR     xxx CONVERT parameter list' reason' 
&_MESSAGES  Parameter error in the program call. 
           
T_          xxx CONVERT parameter list' reason' 
&_          For the reason stated the area could not be printed. 
           
T_          Exercise 8.4 
&_          State the extended syntax of the CONVERT command. 
           
T_8.3.3     D_i_s_c_. 
             K_I_T_ 
On a private disc the kit may be changed and with the KIT program
a message about this is sent to BOSS.  
           
&_          Ex. 8.13           kit 12 dk123456 
           
T_PROGRAM    
&_CALL      kit device number' kitname' 
           
          Each disc station is equipped with a device number, and this
          device number is stated.
 
T_             FUNCTION
A message containing the device number and the kit name is sent
to BOSS which will print the necessary information to the opera-
tor, in order that the specified kit is mounted on the stated
disc station. 
           
In order to demand a kit change the job must reserve the disc sta-
tion with the DEVICE option. Furthermore it is a demand that the\f

job has access to the wanted kit. This must be stated in the USER
CATALOG. 
 
T_          Ex. 8.14 
                    job kc 8000 device 12 
&_                    kit 12 dk123456 
           
           
ERROR     In case of an error the needed operator message is not printed. 
           
T_          xxx KIT CALL 
&_          Left hand side occurs in the program 
           
T_          xxx KIT parameter list' PARAMETER ERROR 
&_          Parameter error in the program call 
           
T_          xxx KIT parameter list' NOT AVAILABLE 
&_          The job has no access to the specified kit. 
           
T_   8.3.4     M_a_g_n_e_t_i_c_ _t_a_p_e_. 
          The magnetic tapes are subject to a security system similarly to
&_          the backing store in order to avoid unautorized access to the mag-
          netic tape. On each tape there is on the first file a lable con-
          taining a tape number, an access code and a project number. 
           
           
T_TAPE      The tape number has six ciphers which identify the tape and BOSS
NUMBER    allows access to the tape under the document name MTtape number'.
&_TAPE NAME  
           
T_ACCESS    The access code determines together with the project number ac-
&_CODE      cess to the tape. 
           
T_PROJECT   
&_NUMBER    The project number is known from the USER CATALOG. 
           
T_       ACCESS    There are four different access codes and they have the following
&_          meaning: 
           \f

T_                    WThe tape is a work tape which may be reserved  
&_under the job running. 
           
T_                    P All jobs have access to read the tape. Writing
                      can only be made by a job, which belongs to the
&_                            project whose number is applied the tape. 
           
T_                    R  Only a job, which belongs to the project, whose
number is applied the tape, has access to the
tape. 
 
&_space'Any job can use the tape. 
           
          On figure 8.1 different users> access to two magnetic tapes are
          shown. It is seen that jobs in project 8000 can read both tapes
          but only write on the tape, which belongs to the project. Jobs in
project 7000 on the other hand may only use the magnetic tape be-
                   longing to the project, as the other tape is protected with the
            access code R.  
Figure 8.1 
T_                     PROJECT NO            PROJECT NO 
          80007000 
          ACCESS CODE           ACCESS CODE 
          RP 
           
          RWRW 
          ERER 
          AIAI 
          DTDT 
          IIII 
          NNNN 
          GGGG 
  PROJECT               PROJECT 
     8000                  7000 
&_                         JOB                   JOB 
                    
MOUNTING  When a job wants a tape, it has to send a message to BOSS con-
taining the tape name. BOSS passes on the message to the operator.\f

Normally the user does not have to consider this dialogue, as all
utility programs and ALGOL/FORTRAN programs automatically handle
this. Should the user want to handle the dialogue himself, he can
use the MOUNT program.  
 
RELEASEA job, which has reserved a tape station, may need to have a
sequence of tapes mounted tape by tape, before each new tape
mounting the tape station must be released. This can be done by
using the RELEASE program which sends the necessary message to
BOSS.  
 
T_8.3.4.1M_o_u_n_t_. With the MOUNT program a MOUNT message is sent to BOSS. 
           
&_          Ex. 8.15            mount mt123456 
           
          The tape name is given to BOSS which passes it on to the operator
          with the message that the tape is to be mounted. 
T_PROGRAM    
&_CALL      mount name' 
           
          The name must specify a tape name or a catalog entry which descri-
          bes a magnetic tape. 
           
          FUNCTION 
          The specified tape name is sent to BOSS, which passes it on to
          the operator with the message that the tape is to be mounted. If
          the specified name indicates a catalog entry, the document name
          is sent on.  
           
T_          Ex. 8.16 
                    file = set mto mt123456 0  1 
&_                    mount file 
           
          The document name MT123456 is sent on. 
           
          An unspecified work tape is mounted when the document name is 0.
          After the mounting the delivered tape name is returned, and the
          MOUNT program places the tape name in the catalog entry. 
           \f

T_                 Ex. 8.17 
                    worktape = set mto 0  0  1 
&_                    mount worktape 
           
          An unspecified work tape is delivered, and the document name in
          the catalog entry WORKTAPE is updated to describe the delivered
          tape. 
                    
           
ERROR     In case of error no message is sent to BOSS. 
           
           
T_ERROR     xxx MOUNT CALL 
&_MESSAGES  Left hand side occurs in the program call. 
           
T_          xxx MOUNT parameter list' PARAMETER ERROR 
&_          Parameter error in the program call. 
           
T_8.3.4.2   R_e_l_e_a_s_e_. When a tape no longer is to be used, it can be released
          by means of the RELEASE program. 
           
            Ex. 8.18 
                     release mt123456 
&_                       
PROGRAM
CALL      release name' 
           
          The name must specify a tape name or a catalog entry that
          describes a magnetic tape.  
           
          FUNCTION 
          A message containing the specified tape name is sent to BOSS
          which then will release the tape and make the tape station avail-
          able to others. 
           
           
ERROR     In case of error no messages are send to BOSS. 
           
           \f

T_ERROR     xxx RELEASE parameter list' PARAMETER ERROR 
&_MESSAGES  Parameter error in the program. 
           
          xxx RELEASE name' TAPE NAME MISSING 
          The specified catalog entry indicates no tape name. 
           
T_8.3.5     O_p_e_r_a_t_o_r_. 
          On the operator console information is listed, so the operator
          can see whenever interference is necessary. The programs auto-
          matically  send the messages to BOSS, which sends on the messa-
&_          ges. 
           
T_          Ex. 8.19 
                    text = set mto mt123456 0  1 
&_                    u = algol text 
          The source text is read from file 1 on tape MT123456, and ALGOL
          manages to send a message about tape mounting, when the job is
          run.  
           
          In various situations a more private dialogue between job and
          operator may be appropriate. 
           
          The programs OPCOMM and OPMESS are for this purpose. 
T_ 
8.3.5.1   O_p_c_o_m_m_. With the OPCOMM program an operator message is sent to
          BOSS. 
           
&_          Ex. 8.20            opcomm give me a tape 
           
T_PROGRAM    
&_CALL      opcomm message' 
           
          Messages should of course obey the general syntax of FP commands.
           
              FUNCTION 
          The first 21 characters of the specified message are sent to BOSS
          which passes it on to the operator. An answer is required, when
          the answer is received, the sender job will again get CPUTIME.
          The answer is listed on CURRENT OUTPUT FILE. \f

ERROR     In case of an error no message is sent. 
           
           
T_ERROR     xxx OPCOMM CALL 
&_MESSAGES  Left hand side occurs in the program call. 
           
T_8.3.5.2   O_p_m_e_s_s_. With the OPMESS program an operator message is sent to
          BOSS. 
           
&_          Ex. 8.21opmess everything is ok 
           
T_PROGRAM    
&_CALL      opmess message' 
           
          The message should of course obey the general syntax of FP com-
          mands. 
           
          FUNCTION 
          The first 21 characters of the specified message are sent to BOSS
          which passes it on to the operator. 
                    
           
ERROR     In case of an error no message is sent. 
           
           
T_ERROR     xxx OPMESS CALL 
&_MESSAGES  Left hand side occurs in the program call.\f

F_       9         THE CATALOG HANDLING 
           
           
          The most important catalog handling programs were introduced in
          chapter 4, and chapter 9 merely contains program descriptions.
           
           
9.1       Set 
           
          A temporary catalog entry is created with the SET program. 
           
          Ex. 9.1 
                    data = set 18 
                    data = set 18 dk123456 
                    data = set mto mt123456 0 1 
           
             
T_PROGRAM   size' 1 1
&_          name' = set  mode kind'  document name'  date'file number'
           0  0
          FUNCTION 
          The parameter list is read and interpreted, and an attempt is ma-
          de to create a temporary catalog entry with the specified name
          and contents. If this is not possible, because a temporary cata-
          log entry with the specified name already exists, the latter is
          altered in accordance with the parameter list. 
           
          The first parameter can be an area size or a MODE KIND specifica-
          tion; the remaining parameters are interpreted in accordance with
          this (cf. 7.5). 
           
          The default value for parameters is 0, but for date d.0, i.e. the
          moment of execution. 
           
           
ERROR     In case of errors no catalog entries are created or changed. 
           
           \f

T_ERROR     xxx SET CALL 
&_MESSAGES  The left hand side missing in the program call. 
           
T_          xxx SET PARAM parameter' 
&_          Parameter error in the program call. 
           
T_                 xxx SET name' CHANGE KIND IMPOSSIBLE 
&_          Changing the MODE KIND was impossible. 
           
T_          xxx SET result' CHANGE BS DEVICE IMPOSSIBLE 
&_          The kit name cannot be changed. 
           
T_          xxx SET result' NO RESOURCES 
&_          There were not sufficient resources available for the creation. 
           
T_          xxx SET result' ENTRY IN USE 
          The catalog entry could not be changed as it was used by somebody
&_          else. 
           
           
T_9.2       Rename 
           
            The name of one or more catalog entries is changed with the RE-
&_          NAME program. 
           
T_          Ex. 9.2 
                    rename honk.toot 
&_                    rename gammel.ny old.new 
           
T_PROGRAM   N
&_CALL      rename  sp' old name'.new name' 
          1
          FUNCTION 
          For each parameter the name of the catalog entry old name' with
          the narrowest SCOPE is changed to new name' 
           
           \f

T_ERRORS    Parameters struck by errors are ignored, and it is only after the
&_          two first error messages listed below that the program is aborted.
           
           
T_ERROR     xxx RENAME CALL 
&_MESSAGES  The left hand side appears in the program call 
           
T_          xxx RENAME PARAM parameter' 
&_          A parameter error in the program call 
           
T_          xxx RENAME old name'.new name' NAME CONFLICT 
          The new name exists already, thus the change cannot be carried
&_          through.
                    
T_xxx RENAME old name'.new name' UNKNOWN 
            There exists no catalog entry with the name, which is to be
&_          changed. 
           
T_          xxx RENAME old name'.new name' ENTRY IN USE 
&_          The specified catalog entry is protected. 
           
T_          xxx RENAME old name'.new name' ENTRY IN USE 
          The specified catalog entry is being used by somebody else and
&_          therefore cannot be changed. 
           
           
T_9.3       Scope 
           
            Catalog entries are transferred to a specified SCOPE pool with
&_          the SCOPE program. 
           
T_          Ex. 9.3 
                    scope user rcdata 
                    scope login rcdata1 rcdata2 rcdata3 
&_                    scope user.dk123456 data 
           
T_PROGRAM   N
  CALL      scope scope specification'  sp' name'  
&_          1 \f

                   1
          scope specification'::=scope specification'  .kit name' 
          0
T_            temp 
          scope specification' ::=  login 
                                user 
&_                                project 
           
          FUNCTION 
          The catalog entries stated are transferred to the specified SCOPE
          pool; to avoid a conflict of names, already existing, catalog
          entries with the specified names are deleted in advance. 
           
          A catalog entry, which does not describe an area, may be made
          permanent on a private kit by stating the kit name after the
          SCOPE specification. 
           
           
ERRORS    Parameters struck by errors are ignored, and it is only after the
          first four error messages in the list below that the program is
          aborted. 
                    
           
T_          Error Messages 
            xxx SCOPE CALL 
&_           The left hand side appears in the program call. 
           
T_          xxx SCOPE scope spec.' ILLEGAL SCOPE 
&_          An illegal scope specification. 
           
T_          xxx SCOPE scope spec.' BS DEVICE UNKNOWN 
&_          The specified kit has not been mounted. 
           
T_          xxx SCOPE PARAM parameter' 
          Parameter errors in the program call. The remaining part of the
&_          parameter list is ignored. 
           
T_          xxx SCOPE scope spec.' name' UNKNOWN 
&_          There is no catalog entry with the name specified. 
           \f

T_                 xxx SCOPE scope spec.' name' PROTECTED 
            The catalog entry specified is protected and therefore cannot be
&_          changed. 
             
T_          xxx SCOPE scope spec.' name' ENTRY IN USE 
            The catalog entry is being used by somebody else, and therefore
&_              cannot be changed. 
             
T_          xxx SCOPE scope spec.' name' NO RESOURCES 
          There are not sufficient resources available to carry through the
&_          change of SCOPE. 
           
T_          xxx SCOPE scope spec.' name' CHANGE BS DEVICE IMPOSSIBLE 
          The catalog entry stated cannot be made permanent on the kit
&_          specified, as it already describes an area on another kit. 
           
           
T_9.4       Clear 
           
          Specified catalog entries are deleted with the CLEAR program. 
           
            Ex. 9.4 
                    clear login data1 data2 
&_                    clear user.dk123456 descriptor 
           
T_PROGRAM   N
 CALL      clear scope specification'  sp' name' 
          11
&_          scope specification'::= scope specification'  . kit name' 
          0
T_                 temp 
          scope specification'::= login 
                    user 
&_                    project 
           
           
          The catalog entries stated are deleted from the specified SCOPE
          pool. \f

          The program ignores error struck parameters, but it is aborted by
          errors causing one of the first four error messages listed below.
           
           
T_Error Messages
             xxx CLEAR CALL 
&_          The left hand side appears in the program call. 
           
T_          xxx CLEAR scope spec.' ILLEGAL SCOPE 
&_          An illegal SCOPE specification. 
           
T_          xxx CLEAR scope spec.' BS DEVICE UNKNOWN 
&_          The specified kit has not been mounted. 
           
T_          xxx CLEAR PARAM parameter' 
            An illegal parameter in the program call. The remaining part of
&_          the parameter list is ignored. 
           
T_          xxx CLEAR scope spec.' name' UNKNOWN 
&_          The specified catalog entry does not exist. 
           
T_          xxx CLEAR scope spec.' name' ENTRY IN USE 
          The catalog entry cannot be deleted as it is being used by somebo-
&_          dy else. 
           
           
T_9.5       Printing 
           
&_          Specified catalog entries are listed with the LOOKUP program, and
          SCOPE pools with the SEARCH program. 
           
T_9.5.1     L_o_o_k_u_p_. Specified catalog entries are printed with the LOOKUP
          program. 
           
            Ex. 9.5 
                    lookup data 
&_                    lookup data1 data2
           \f

T_PROGRAM   N
&_CALL      lookup  sp' name' 
          1
          FUNCTION 
          Accessible catalog entries with the specified names are printed
          on CURRENT OUTPUT FILE. 
           
T_          Printing format: 
                    name' = SET tail' ; scope spec.' 
&_                    ; head' 
           
          The first line in the printout has the same lay-out as the call
          of the SET program, which is necessary to create the catalog entry.
           
          The scope specification contains both a scope specification and a
          kit name. 
          1
          scope spec.'::= scope specification'  .kit name' 
          0
T_          temp 
            login 
          scope specification'::=  user 
                    project 
&_                    system 
           
          The information in the head is stated in the order it is found in
          the catalog entry (cf. 4.6). 
           
          first slice' name key' catalog key' l.base' u.base' 
           
T_          Error Messages
            xxx LOOKUP CONNECT output file' 
          It was not possible to connect the specified output file, the
&_          CURRENT OUTPUT FILE is used instead. 
           \f

T_          xxx LOOKUP PARAM parameter' 
          A parameter error. The remaining part of the parameter list is
&_          ignored. 
           
T_          xxx LOOKUP name' UNKNOWN 
          There are no accessible catalog entries with the specified name.
&_          The rest of the parameters are processed normally. 
           
T_          xxx LOOKUP name' NO RESOURCES 
&_          The program is aborted as too few area processes are available. 
 
T_  9.5.2     S_e_a_r_c_h_. Specified SCOPE pools are printed with the SEARCH program
           
            Ex. 9.6 
                    search temp 
                    search system 
&_                    search own 
           
T_PROGRAM   1
  CALL      output file' =    search scope spec.' 
          01
&_          scope spec.':: = scope specification'  .kit name' 
0
T_            temp 
                   login 
          scope specification':: =user 
                     project 
                    system 
&_                              own 
           
          FUNCTION 
          All catalog entries in the specified SCOPE pool are printed. OWN
          states that the TEMP, LOGIN, USER and PROJECT pools are to be prin-
          ted. The printing is done on CURRENT OUTPUT FILE, if no other
          output file has been specified. 
           
          The printout has the same format as the one used by the LOOKUP
          program. \f

T_          Error Messages 
          xxx SEARCH CONNECT output file' 
          It was not possible to connect the output file, and CURRENT
&_          OUTPUT FILE was used instead. 
           
T_          xxx SEARCH PARAM parameter' 
          Parameter errors in the program call and the program is broken
&_          off. 
           
T_          xxx SEARCH scope spec.' NO ENTRIES FOUND 
&_          There are no catalog entries in the specified pool. 
           
T_          xxx SEARCH scope spec.' ILLEGAL SCOPE 
&_          An illegal SCOPE was stated and no catalog entries are printed. 
           
           
T_       9.6       Exercises 
           
          Exercise 9.1 
          There is an ALGOL program in the area TEXT, which is to be com-
          piled and listed on the seventh file on the magnetic tape
          MT123456. 
           
          Write the necessary job. 
           
T_          Exercise 9.2 
          Print all temporary catalog entries on a permanent area OUTFILE
&_          on the kit DK123456. 
           
T_          Exercise 9.3 
          Delete in the easiest way all accessible catalog entries with the
&_          names DATA1, DATA2, DATA3, DATA4, and DATA5. 
           \f

F_       10        DATA HANDLING 
           
           
          On many occasions there is a need for transfer of data from one
          part of the computer to another, to modify data or to print data
          on a readable medium. Various utility programs are available to
          perform these transactions; only the most frequent applications
          are described in this chapter. Usually the utility programs are
          so flexible that they are only difficultly placed in different
          groups; so the grouping in the following sections is made on the
          basis of the main functions of the programs. 
           
          As said in chapter 7 the actual data modifying programs are not
          mentioned, but the program description exist in reference 4. 
           
           
T_10.1      Data Transfer 
           
CHARACTER By data transfer a destinction between character transfer and
          block transfer is made. Only text files can be copied by cha-
racters, because a transfer like that will stop by the reading of
an END OF MEDIUM character. A character transfer implies that
BLOCKevery character must be read so a block transfer is usually
quicker. With the COPY program copying of text files by charac-
ters can be performed. The MOVE program makes the copying by
blocks. Safety copying of files represents some special problems,
SAFETYas it should without any trouble, be possible to reestablish
COPYINGfiles from a safty copy. This is done in the easiest way by
copying both catalog entries and their belonging files. With the
SAVE program both catalog entries and areas are transferred to
magnetic tapes, and with the LOAD program the catalog entries and
areas on a SAVE - tape can be reestablished. 
           
T_10.1.1    C_o_p_y_ 
          With the COPY program copying from specified input files to a
&_          stated output file is made. 
           \f

T_          Ex. 10.1 
                    outputfile   = copy inputfile 
                    tpe          = copy data1 data2 
&_                    data         = copy 3 
           
T_       PROGRAM
CALL      output file' = copy  input file'N
&_                                number of lines'1

          FUNCTION 
          The specified input files are transferred to the output file in
          their stated sequence. The copying is performed character by cha-
          racter. The transfer from an input file ceases when the END OF
          MEDIUM character is read, this character is however, not trans-
          ferred to the output file. The copying is terminated by the
          writing of an END OF MEDIUM character. When the input statement
          is a number, the specified number of visible lines are copied
          from the CURRENT INPUT FILE to the output file. 
           
           
ERROR     The WARNING bit has the value TRUE after an error. 
           
          Error Messages 
T_          xxx COPY CONNECT output file' reason' 
          For the reason given the output file could not be attached. The
          OK - bit gets the value NO. 
           
T_          xxx COPY CONNECT input file' reason' 
          For the reason given the specified input file could not be attached.
&_          The parameter is ignored. 
           
T_          xxx COPY PARAM parameter' 
&_          Illegal parameter syntax. The parameter is ignored. 
           
T_          xxx COPY END OF MEDIUM 
          The input file is exhausted and COPY continues with the next para-
&_          meter. 
           \f

T_          xxx COPY NO CORE 
&_          The internal process size is too small. 
           
T_    10.1.2    M_o_v_e_. 
          With the MOVE program files are copied block by block on discs or
          magnetic tapes. 
           
            Ex. 10.2 
                    copyfile = move data 
                    tapefile = move data 
&_                    tapecopy = move message.yes file.4 
           
                    
T_PROGRAM    
&_CALL      A distinction between two program calls is made depending on
          whether the output file is on a disc or on magnetic tape. 
T_                 1
          disc file' = move  message . yes    disc file' 
&_                                            0  mt. file' 
           
T_             1disc file'N 
          mt.file' = move  message.yes     mt.file' 
                         0mt.file'.number'   1 
&_
           
          FUNCTION 
          The specified input files are copied by blocks to the output file
          in the same sequence, in which they appear in the program call.
          Each input file is written on a separate output file. When the
          MESSAGE - parameter occurs, a report about the course of the
          copying is printed. 
           
           
ERROR     As the parameters are handled separately, one or more of the in-
          put files could have been copied before an unintended termination
          of the program. 
           
           \f

T_           
          xxx MOVE : NO CORE 
&_          The internal process size is too small 
           
T_          xxx MOVE CALL 
&_          Left hand side missing in the program 
           
T_          xxx MOVE PARAM : parameter list' 
&_          There is an error in the parameter list. 
           
T_          xxx MOVE : INPUT KIND 
          xxx MOVE : OUTPUT KIND 
          The specified file is neither a disc file nor a magnetic tape
          file. 
T_           
          xxx MOVE : CONNECT INPUT 
          xxx MOVE : CONNECT OUTPUT 
&_          The specified file could not be attached. 
           
T_          xxx MOVE : TOO MANY PARAMS 
T_          Transfer of more files to one disc file has been attempted. 
           
T_          xxx MOVE : CHANGE ERROR 
          It is illegal to change the catalog entry which describes the
&_          output file.  
           
T_10.1.3    E_x_e_r_c_i_s_e_s_. 
          Exercise 10.1
          Two paper tapes which are punched in iso code with even parity
          are to be copied into one paper tape with identical format. Write
&_          two different jobs which can solve the problem. 
           
          Change the jobs so the paper tapes are listed on the printer instead.
           
T_          Exercise 10.2 
&_          Why can the MOVE program not be used in exercise 10.1? 
           \f

T_          Exercise 10.3 
&_          Move the temporary area TEXT from kit DK123456 to kit DK123400. 
           
T_          Exercise 10.4 
          Move the files 7, 8, 9, 10, on magnetic tape MT123456 to the fi-
&_          les 1, 2, 3, and 4 on magnetic tape MT123400. 
           
T_          Exercise 10.5 
          Insert three lines from CURRENT INPUT FILE between the files F1
&_          and F2 and store the result in RFILE. 
           
T_          Exercise 10.6 
          The temporary area OUTPUT contains data in text form. List the
          datas five times on the printer with three different jobs and ma-
&_          ke an estimation of what is most suitable. 
           
T_10.1.4    S_a_v_e_. 
          With the SAVE program catalog entries as well as areas are saved
          on magnetic tapes. This program has n_o_t_h_i_n_g_ in common with the
&_          BOSS command SAVE. 
           
T_          Ex. 10.3 
                    save mt123456.1 scope.user 
&_                    The USER - pool is stored on file 1 on MT123456. 
           
T_          Ex. 10.4 
                    save mt123456.last 
                    save mt123456.2.label.rcdump 
                    save mt123456.last scope.temp 
&_                    save mt123456.last data1 data2 data3 
           
T_PROGRAM    
CALL      save tape spec.' dump spec.' 1
&_          tape spec.' ::= tape name'.file number' .label'.label spec.'
                                      0\f

T_                             last 
          filenumber':: =  integer' 
           
          label spec.':: = name' 
           1N
&_          dump spec.' :: =   scope.scope statement'     name' 
          00
T_          temp 
          scope statements' :: =  login 
          user 
&_                    project 
           
                   FUNCTION 
          The catalog entries and areas stated in the dump specification
          are saved on the specified magnetic tape. The tape specification
          states tape name and file number and may also contain a LABEL pa-
          rameter. SAVE always checks whether the magnetic tape file has
          been written with the SAVE program earlier, if this is the case,
          the file is only written over, if the LABEL parameter occurs in
          the program call. The specified dump-label or a standard label is
          written on the file followed by the current moment. 
           
          When LAST states the file number, the first file on the tape,
          which has not been used by SAVE before is used. 
           
          The dump specification states, which catalog entries and areas
          that should be saved. Both SCOPE pools and single names may be sta-
          ted. Is the dump specification omitted, the LOGIN - pool is sa-
          ved.  
           
          SAVE prints a survey of the saved catalog entries and areas on
          CURRENT OUTPUT FILE. 
           
           
ERROR     If one of the first three error messages in the list below occurs,
          the program is aborted, and the tape remains unaffected. 
           
           \f

T_          Error Messages 
          xxx SAVE ERROR IN TAPE PARAM parameter' 
                   The wrong and the remaining tape parameters are printed, and the
&_          program is aborted. 
           
T_          xxx SAVE ERROR PARAM parameter' 
          The error struck and the remaining parameters are printed, and
&_          the program is aborted. 
           
T_          xxx SAVE DUMPLABEL specification' 
&_          The specified dumplabel is illegal. 
           
T_          name' ENTRY IN USE 
&_          The specified catalog entry is used by some other user. 
           
T_          name' NOT ALLOWED 
&_          The specified catalog entry must not be saved. 
           
T_          xxx NOT FOUND : name' 
&_          The mentioned catalog entry does not exist. 
           
T_          xxx SAVE NOT OK number of errors' 
&_          This print out occurs when errors are recorded. 
           
T_  10.1.5    L_o_a_d_. 
          The catalog entries and areas which were saved with the SAVE pro-
&_          gram are reestablished with the LOAD program. 
           
T_          Ex. 10.5 
                    load mt123456.1 
                    load mt123456.last 
                    load mt123456.1 scope.temp 
                    load mt123456.1 scope.user data1 data2 
                    load mt123456.1 load.no 
&_                    load mt123456.last survey.yes 
           \f

T_PROGRAM    
CALL      load tape spec.' dump spec.' special param' 
           
          tape spec.' :: = tape name'.file number' 
           
          last 
          file number' ::  integer' 
          4N 
&_          dump spec.' :: =  scope.scope statement'  name'  
          00 
T_          temp 
          scope statement' :: =  login 
                    user 
&_                    project 
          11
T_          special param' :: =  load.no        survey.yes
&_                                            00
                    
          FUNCTION 
          The catalog entries and areas mentioned in the dump specification
          are reestablished from the specified magnetic tape. As well tape
          name as file number is stated in the tape specification. If the
          dump specification is omitted the entire file is reestablished,
          but on the other hand the stated scope-pools, catalog entries and
          areas are reestablished. A survey of the reestablished catalog
          entries is printed on CURRENT OUTPUT FILE  
           
          When the LOAD.NO parameter is stated no reestablishment is made,
          but the run-report is printed. 
           
          If the parameter SURVEY.YES is used, surveys of the contents of
all files from 1 to the one stated are printed. Only the first
               file is reestablished.
           
           
T_ERROR     If one of the first three error messages in the list below occurs,
&_          the program is aborted. 
           \f

T_          Error Messages 
          xxx LOAD : ERROR IN TAPE PARAM parameters' 
&_          An error struck tape parameter and the remaining parameters are
          printed. 
           
T_          xxx LOAD : ERROR IN PARAM parameters' 
&_          An error struck parameter and the remaining parameters are printed.
           
T_          xxx LOAD : NO DUMPLABEL ON FILE file number' 
&_          The specified file is not generated with the SAVE program. 
           
T_          xxx name' MONITOR integer' RESULT integer' year' 
          The specified catalog entry could not be reestablished for the
&_          reason stated. 
           
T_          xxx NOT FOUND name' 
&_          The stated catalog entry does not exist on the file. 
           
T_          xxx LOAD NOT OK number of errors' 
&_          This print out occurs when an error has been recorded. 
           
T_  10.1.6    E_x_e_r_c_i_s_e_s_. 
          Exercise 10.7 
          Write a job which can find out which catalog entries are saved on
&_          magnetic tape MT123456 with the SAVE program.  
           
          Exercise 10.8 
          Make a safety copy of the catalog entries TXT, DATA, PROGRAM, and
&_          PDATA on file 7 on the MT123456. 
           
           
T_10.2      Print out 
           
          Output on CURRENT OUTPUT FILE can be neatly organized with the
&_          HEAD program, and by means of the HEADPUNCH program readable-
          character are punched on the punch. 
           \f

T_10.2.1    H_e_a_d_. 
          With the HEAD program are form feed, job name, date, hour and cpu
time used by the job printed on the CURRENT OUTPUT FILE. 
           
T_          Ex. 10.6 
                    head 1 cpu 
                    One form feed, jobname, date, hour and used cpu time
                    are printed. 
 
          2
PROGRAM   head  sp' integer'      
CALL      sp'  cpu  
                   0 
           
When an integer is stated the specified number of form feed cha-
racters is printed. Then job name, date and hour are printed. Is
CPU stated the used CPU - time is printed, too. The printout is
made on the CURRENT OUTPUT FILE. 
           
T_          Ex. 10.7 
                    p1 
                    head 1 
&_                    p2 
           
          The printouts from P1 and P2 are separated by call of HEAD. 
           
           
T_      ERROR     xxx HEAD PARAM parameter' 
&_   MESSAGE   Parameter error in the program call. 
           
T_10.2.2    H_e_a_d_p_u_n_c_h_. 
          With the HEADPUNCH program readable texts are punched on the
          punch. Identical information is printed on CURRENT OUTPUT FILE. 
           
T_                 Ex. 10.8 
                    headpunch tape 1 
                    In a readable way "tape 1" is punched on the punch
&_                    and the text is printed on CURRENT OUTPUT FILE. \f

T_PROGRAM   1
&_CALL      headpunch text'   
          0
           
          The text must of course obey the general FP - syntax. 
           
          The stated text is printed on CURRENT OUTPUT FILE as well as
          punched on the paper tape, where it occurs in a readable way.
          Furthermore the job name and hour are printed. 
           
           
T_ERROR     xxx HEADPUNCH CALL 
&_MESSAGE   Left hand side occurs in the program call. 
           
T_          xxx HEADPUNCH CONNECT TPN 
&_          The punch could not be attached. 
           \f

F_       11        THE TERMINATION 
           
           
          In the first chapters we omitted discussing a number of interest-
          ing cases, as a knowledge of these were not necessary to use the
          computer. In this chapter we will discuss different cases, which
          throw light on the utilization of the computer and the possibili-
          ties for extending the basic software. 
           
           
11.1      The Virtual Store 
           
          The ALGOL/FORTRAN programs utilize the primary store virtually;
          thus it is only necessary to have a few program sections at the
          same time in the primary store. Programs are divided into segments
          of 256 machine instructions each, and only room for 2 program
          segments is required, at the same time, in the primary store.
When a need arises for a program segment, which is not present in
the primary store, it is automatically loaded, and may hereby
overwrite a previously loaded program segment. Figure 11.1 shows
a snapshot of an internal process, which besides the program
itself also contains FP, FP"s command stack and the zones IN and
OUT. 
           \f

T_                 Figure 11.1

          FP 

          PROGRAM 
          ADMINISTRATION 
           
          PRO- 
           
          GRAM- 
           
          SEG- 
           
          MENTS 
           
          PROGRAM 
          VARIABLES 
           
          FP-COMMAND 
          STACK 
           
          IN 
           
&_          OUT
                    
          The zones IN and OUT, FP, the command stack and the program ad-
          ministration take up space for about 5000 halfwords dependent on
          the command stack and the size of the program. In RUNNING SYSTEM,
          which is the name of the program administration section, there is
                 a table outlining the location of all the program segments out-
side and within the primary store. A word is enclosed in the
table for each segment, so the variations in the table size are
limited. 
           
          It is obvious that the processing time is extended considerably,
          if program segments will have to be loaded every now and then;
          each execution of a program is therefore concluded with a print
          out of the number of program segment transfers, which have been
          performed. \f

          Ex.11.1 
                    u 
                      END 300 
           
&_          300 program segment transfers have been performed. 
           
          The optional processing size is most easily determined by executing
          a program with different process sizes and then comparing the num-
          ber of program segment transfers with the number of segments in
          the program, which is printed by the compiler. 
           
           
T_   11.2      More Operating Systems 
           
          The process concept makes it possible to implement more operating
&_          systems in a simple way. 
           
T_          Figure 11.3 
           
          S 
           
                                                  P 
                    BOSS 
           
&_                  A B 
           
          Figure 11.3 depicts the process hierarchy, when an additional ope-
          rating system P exists on the same level as BOSS. An operating
          system such as this could e.g. handle a group of terminals for
          real time input or inquiries. Different operating systems have in
                   the past been developed for quite explicit purposes, and the in-
          vestments have been comparatively limited, as MONITOR can support
          all the internal processes, and messages can be sent from one
          process to another. 
           
          The second operating system can thus send messages to BOSS and
          have BOSS execute different things e.g. have a job executed. \f

T_11.3      More Computers 
           
          Several computers can be connected via a RCNET, which is handled
&_          by a set of minicomputers. When a terminal is being used, a LINK
          is created, connecting it to the computer wanted. An internal
          process in one computer can via the RCNET communicate with an-
          other computer, which is connected to the net. The data transfers
          will normally follow the shortest route or the least busy route,
          and in case of a drop out the traffic is automatically rerouted. 
           
          Figure 11.3 depicts a RCNET linking 2 RC 8000 computers and an
          alien computer. In connection with each RC 8000 there is a FRONT
          END minicomputer, and each node in the RCNET consists of an
          independent minicomputer. 
           
T_          Figure 11.4 
           
              RC 8000 
                                 FRONT END               TERMINAL 
           
                                        TERMINAL 
           
           
           
           
           
           
                    FRONT END 
&_                    RC 8000                       COMPUTER 
           \f

F_       12        ANSWER LIST 
           
          E_x_e_r_c_i_s_e_ _3_._1_ 
          Smallsize jobs are usually given a high priority. This can be  
          done by letting the priority be inversely proportional with the
          estimated run time. 
           
                    Priority = 1/estimated run time 
           
          The selection of the jobs to be executed is now simpel, as one on-
          ly has to take into consideration whether the necessary number of
          tape stations are available. 
           
          A more just execution is achieved, when the estimated remaining
          run time is made the basis for calculating the priority. 
           
                    Priority = 1/(estimated run time - used run time) 
           
          By letting the priority be directly proportional with the time a
          job has spent waiting to be executed, the job execution is se- 
          cured. 
           
                    Priority = (hour of arrival)/(estimated time - usedtime)
           
          The priority algorithm implies that a job, which is being proces-
          sed can be rolled out to allow a job with higher priority to be
          executed. The job thus rolled out is swopped on the backing store
          and is pulled forward again, when it has obtained a high enough
          priority. 
           
T_          Exercise 3.2  
                    10 u = algol list.yes 
                    15 begin 
                    20 integer sum, a,b; 
                    25 read (in,a,b); 
                    26 sum:= a+b; 
                    30 write (out, sum); 
&_                    40 end 
 
          An empty line is one without contents, and it can be typed by\f

          An empty line is one without contents, and it can be typed by
          specifying the line number and a space. 
           
T_          Exercise 3.3 
                    20/a/sales 
                    25/a,/sales,
&_                    26/a/sales 
           
T_                 Exercise 3.411
&_                    verify  line number'  number of lines 
          00
T_          Exercise 3.5 
                   get programtext 
                    verify 
                    5 p = algol 
                    40 p 
                    50 finis 
&_                    save programtext 
           
T_          Exercise 3.6 
                    get text 
&_                    list 
           
T_          Exercise 3.7 
                    10 begin 
                    20 write (out, : exercise 3.7:') 
                    30 end 
                    save programtext 
                    clear 
                    10 u = algol programtext 
                    20 u 
                    30 finis 
&_                    go 
           
T_          Exercise 3.8 
                    save rcjob 
&_                    convert rcjob 
           \f

T_          Exercise 3.9 
                    10     u = algol 
                    20     begin integer a; 
                    30     read (in, a) ; write (out, a); 
                    40     end 12' 
                    1010u 
                    1020   7 
&_                    1030   finis 
           
T_          Exercise 4.1 
                    9data      The name erroneously begins with a number
                    da ta      Spaces are not allowed in names 
                    debtorlogicalfile 
                               The name consists of more than 11 characters
&_                    Data       Capital letters are not allowed in names. 
           
T_                 Exercise 4.2 
                    1. The SYSTEM pool. 
                    2. The SYSTEM and the PROJECT pools. 
&_                    3. The SYSTEM, the PROJECT, and the USER pools. 
           
T_          Exercise 4.3 
&_                    The SYSTEM pool.
           
T_          Exercise 4.4 
          DATA is removed from the PROJECT pool, then the catalog entry DA-
&_          TA is transferred from the LOGIN pool to the PROJECT pool. 
                     
          The USER pool is now the first containing the name DATA, and this
          catalog entry is transferred to the LOGIN pool. 
                     
T_          Exercise 4.5 
                    rename data data1 
                    scope project data 
&_                    rename data1 data 
           \f

T_          Exercise 4.6 
                    lookup login rcdata 
                    lookup user rcdata 
                    lookup project rcdata 
           
                    10 lookup rcdata 
&_                    20 finis 
           
T_          Exercise 4.7 
                    10 x = set 18 
                    20 scope login x 
&_                    30 finis 
           
T_          Exercise 4.8 
          Transfer the catalog entry to the PROJECT pool, and it is acces-
&_          sible by all members of the project. 
           
T_          Exercise 4.9 
                    CATALOG KEY 
           
                    0 Temporary 
                    1 Not used 
                    2 LOGIN 
&_3 Permanent
                    
          The upper and lower basis determine an interval, and the inter-
          vals are included within one another. 
           
T_                                                  PROJECT 
           
                                                  USER 
           
&_                                                  TEMP/LOGIN 
           
          LOGIN and TEMP catalog entries have the same base. 
           
          A job has access to a catalog entry, if its base includes the
          interval, which constitute the base for the job>s temporary\f

          catalog entries. 
           
T_                    BASE      ACCESS              NO ACCESS 
           
&_                    TEMP BASE 
           
          As two different projects only share the system areas, the PROJECT
          bases are disjunct intervals. 
           
T_                                                  PROJECT 
           
                                                  USER 
           
                                                  TEMP/LOGIN 
&_                    PROJECT 1      PROJECT 2 
           
T_          Exercise 4.10 
&                    save area name'  kit name' 
           
          If the kit name is omitted, the system disc is used. 
           
T_          Exercise 6.1 
                    1. YES.NO is illegal 
                    2. 2 is not a legal name 
                    3. 3 is not a legal program name 
                    4. 9000000 is an illegal number 
&_                    5. PROGRAMTEXT3 is an illegal name (12 characters) 
           
T_          Exercise 6.2 
                    10 (p = algol 
                    20 p 
                    30 finis) 
                             40 begin integer a,b; 
                    50 read (in, a, b); 
                    60 write (out, a, b); 
                    70 end 
&_                    80 3 4 
           \f

          When the job is executed, the compound command is read by FP. AL-
          GOL is activated and reads the following lines 40, 50, 60, 70.
          The compiled program is activated and reads line 80. FINIS is
          activated, and the job is terminated. 
           
          The separation of commands and data lines implies that FP reads
          the first part of the JOB FILE, and the remaining part is read by
          the programs. In error situations this is a great advantage, as
          it is avoided that FP attempts to interpret data lines as commands.
           
T_          Exercise 6.3 
          The use of OUT is terminated by selecting a new file as CURRENT
          OUTPUT FILE, the necessary END OF MEDIUM character is inserted. 
           
T_          Exercise 6.4 
                    (o outdata 
                    p = algol 
                    (i   input 
                    p 
                     end) 
                    finis 
                    ) 
                    begin integer a, b; 
                    read (in, a, b); 
                    write (out, a, b); 
                      end 
           
                    (i input 
                    p 
&_                    end) 
           
T_          can be replaced by the program call: 
&_                    p input   
           
          as it is a convention that the first element in the parameter
          list is chosen as CURRENT INPUT FILE, when it is a name. 
           \f

T_                 Exercise 6.5 
                    i kom1 
                    u = algol txt 
                    i kom2 
                    o outfile 
                    u data 
                    o c 
                    convert outfile 
&_                    finis 
           
T_          Exercise 6.6 
          In the first event the compilations are executed in the following
          order: 
           
                    u = algol txt1 
&_                    p = algol txt2 
           
          In the second event the order is reversed as the compound command
          effects a stacking of the CURRENT INPUT FILE. 
           
T_          Exercise 6.7 
                    u = algol text 
                    if ok.yes 
                    u 
&_                    finis 
           
T_          Exercise 6.8 
                    u = algol text 
                    if warning.yes 
                    (output = set 100 
                    o output 
                    u = algol text list.yes xref.yes 
                    o c 
                    convert output 
                    ) 
                    if ok.yes 
                    u 
&_                     finis \f

          Exercise 6.9 
                    u = algol text 
                    if warning.yes 
                    (output = set 100 
                    o output 
                    u = algol text list.yes xref.yes 
                             o c 
                    convert output  
&_                    finis) 
T_          if ok.yes 
                   (repeat 6 
                   u) 
                   finis 
           
          Exercise 6.10 
          1. TEXTPROGRAM1 consists of 12 characters, and this is the first
&_          syntactic error. FP then informs the user that the error has been
          read from PRIMARY INPUT FILE; FP is then reinitialized. A number
          is then read, this is another syntactic error, as 2 is not a
          program name. 
           
          2. The error message is produced, as there exists no catalog en-
          try with the name specified. 
           
          3. The error message is produced because the catalog entry with
          the specified name does not describe a program. 
           
T_          Exercise 8.1 
          1. This is what happens: 
                     
                    a. The compound command is read. 
                    b. TEXT is selected as CURRENT INPUT FILE. 
                    c. ALGOL is called and reads the source text from
&_                       CURRENT INPUT FILE. The word last read is END. 
                    d. FP reads the next FP command and produces an error
                    message, as 7 is not a legal command. 
                    e. CURRENT INPUTis unstacked, when an END OF MEDIUM
                       character is read, and the next command is read from
the JOB FILE. \f

                    f. The compiled program is called, and it reads the
                       number, 5, and prints it. 
           
          2. This sequence of events is identical with (1) except that CUR-
          RENT INPUT FILE is unstacked after the ALGOL compilation, and the
          number 7 is not read. 
           
T_          Exercise 8.2 
                    p1 
                    if ok.yes 
                    mode 0.yes 
                    p2 
                    if 0.yes ok.yes 
                    p3 
&_                    finis 
           
T_                 Exercise 8.3 1 
&_                    newjob file name'   printer name' 
          0 
T_          Exercise 8.411
&_                    convert file name'  printer name'   paper type' 
          00
T_          Exercise 9.1 
                    file7 = set mto mt123456 0 7 
                    o file7 
                    p = algol text list.yes 
&_                    o c 
           
T_          Exercise 9.2 
                    outfile = set 18 dk123456 
                    scope user outfile 
&_                    outfile = search temp 
           
T_          Exercise 9.3 
                    clear login data1 data2 data3 data4 data5 
&_                    clear user data1 data2 data3 data4 data5  
           \f

T_          Exercise 10.1 
                    1. job kc 1234 device punch load tre d1 load tre d2 
                    tpe = copy d1 d2 
&_                    finis 
                    2. job kc 1234 device punch tapes 2 
                       tpe = copy tre tre 
&_                    finis 
           
          The first job is recommended with regard to the resource
          comsumption. 
           
T_                    3. job kc 1234 cbuf 1 load tre d1 load tre d2 
                    d3 = copy d1 d2 
                    convert d3 
&_                    finis 
           
T_                    4. job kc 1234 device printer tapes 2 
                    lp = copy tre tre 
&_                    finis 
           
          The first job is recommended with regard to the resource con-
          sumption. 
           
T_          Exercise 10.2 
          MOVE cannot copy to a punch or a printer. Copying in the backing
          store cannot be made with MOVE, as MOVE transfer whole blocks with
&_                 no regard to END OF MEDIUM characters. 
           
T_                 Exercise 10.3
           
                    workfile = set 1 dk123400 
                    workfile = move text 
                    clear temp text 
&_                    rename workfile.text 
           \f

T_          Exercise 10.4 
                    fromfile = set mto mt123456 0 7 
                    tofile   = set mto tm123400 0 1 
&_                    tofile  = move fromfile.4 
           
T_          Exercise 10.5 
&_                    rfile = copy f1 3 f2 
           
T_          Exercise 10.6 
                    1. job kc 1234 cbuf 5 
                    (repeat 4 
                    h = move output 
                    convert h) 
                    convert output 
&_                    finis 
           
T_                    2. job kc 1234 cbuf 1 
                    h = copy output output output output output 
                    convert h 
&_                    finis 
           
T_          Exercise 10.7 
                    job kc 1234 stations 1 
                    load mt123456.1 survey yes 
&_                    finis 
           
T_          Exercise 10.8 
                    job kc 1234 stations 1 
                    save mt123456.7 txt data program pdata 
&_                    finis.\f

                 INDEX 
           
           
          Access code............................ 8.3.4 
                   Account file........................... 3.1.2 
          ACCOUNTFILE............................ 3.1.2 
          ALGOL.................................. 6.4.3 
          ANCESTOR PROCESS....................... 5.1.1.1 
                   AREA................................... 5.3.3 
          Area................................... 4.1 
   binary.............................. 4.1 
                 creation............................ 4.4.1, 4.5.1, 9.1 
                 deletion............................ 4.4.3, 4.5.3, 9.4 
  name................................ 4.1 
  text................................ 4.1 
Area process........................... 5.1.3, 5.3.3 
ATTENTION-signal....................... 3.2 
          AUTOLINE............................... 3.6.1 
          Aux. catalog........................... 4.7 
                    
          Backing store.......................... 3.5, 4 
          Base................................... 4.6, 4.6.4 
          BASISFILE.............................. 3.4.4 
                     release of.......................... 3.4.4.2, 4.4.3 
  transmission to..................... 3.4.5.4 
Binary area............................ 4.1 
          BOSS................................... 3, 5, 5.1.1.1, 6.1 
             conversation with................... 8.3 
                     controlled by....................... 3.5.4 
  messages from....................... 3.7 
                   BOSS-commands.......................... 8.3 
                      AREA................................ 5.3.3 
   AUTOLINE............................ 3.6.1 
   BUF.................................5.3.4 
   CBUF................................3.6.3 
   CLEAR...............................3.4.4.2, 4.4.3 
   CONVERT.............................3.6.4 
   DEVICE...............................3.6.3 \f

   DISPLAY.............................3.6.5 
   GET.................................3.4.4.1 
   GO..................................3.2 
   INTERNAL............................5.3.1 
   KILL................................3.2 
   LIST................................3.4.3.2 
   LOGOUT..............................3.2 
   LOOKUP.............................. 4.4.4 
   NEWJOB.............................. 3.6.2 
   ONLINE..............................8.1.5 
   OUTPUT..............................6.3.5 
   PERM................................4.8.2 
   RENAME..............................4.4.2.1 
   SAVE................................3.4.4.3 
   SCOPE...............................4.4.2.1 
   SIZE................................3.6.3 
   STATIONS............................ 3.6.3 
   TAPES...............................3.6.3 
   TEMP................................4.8.1 
   TIME................................3.6.3 
   VERIFY.............................. 3.4.2.1 
    BUF.................................... 5.3.4 
          Byte................................... 3.5.2 
 
          C...................................... 6.3 
                   Cancel character....................... 3.4.1 
                   Cardreader............................. 3.5.5 
          Catalog................................ 4.2, 4.7, 5.4 
            auxilary............................ 4.7 
            entry............................... 4.2.1, 4.6, 9.1 
            handling............................ 4.2.2, 4.4, 4.5, 7.3, 9 
            key................................. 4.6 
            main................................ 4.7 
          Catalog entry.......................... 4.2.1, 4.6, 9.1 
            change.............................. 4.4.2, 4.5.2 
             create.............................. 4.4.1, 4.5.1 
            delete.............................. 4.4.3, 4.5.3 
            head................................ 4.6 \f

                      tail................................ 4.6 
             use................................. 4.6.1 
          CBUF................................... 3.5.6 
          CHAINTABLE............................. 5.4 
          CHILD PROCESS.......................... 5.1.1.1 
                   Class 
            catalog entry....................... 4.2.1 
            job................................. 3.6.5 
          CLEAR 
  BOSS-command........................ 3.4.4.2, 4.4.3 
  utility program..................... 4.5.3, 9.4 
          Command stack.......................... 6.2.2, 6.3.1, 8.2.3 
          Command 
  BOSS................................ 3.2, 3.6, 4.4 
  FP.................................. 3.2, 6.2 
                   Communication 
  internal............................ 5.2 
Computation time....................... 3.5, 3.5.3 
          Contents 
  catalog entry....................... 4.2.1 
          Control point.......................... 3.6.5 
          Conventions............................ 7.4 
          CONVERT 
   BOSS-command........................ 3.6.4 
  buffer.............................. 3.5.6 
  utility program..................... 8.3.2 
          COPY................................... 10.1.1 
          Correction commands.................... 3.4.2 
          CPU-time............................... 5.5.1 
          CRB.................................... 3.5.5.1 
          CRC.................................... 3.5.5.1 
          Creation 
  of area............................. 4.4.1, 4.5.1, 9.1 
  of catalog entry.................... 4.5.1, 9.1 
          CURRENT INPUT FILE..................... 6.3, 6.3.1, 8.1.1, 8.1.2 
          CURRENT OUTPUT FILE.................... 6.3, 6.3.2, 8.1.3 
                    
          Data handling.......................... 7.3, 10 \f

          Data transfer.......................... 5.5.4, 10.1 
          Date................................... 4.6, 4.6.9 
          DEVICE 
            BOSS-command........................ 3.6.3 
            number.............................. 3.5.4 
            OPTION.............................. 3.5.3, 3.5.6, 3.5.7, 3.5.8
          peripheral.......................... 3.5.4 
          Disc................................... 4, 8.3.3 
            kit................................. 4.1 
            pack................................ 4.1 
            privacy............................. 4.7 
            system.............................. 4.7 
               DISPLAY................................ 3.6.5 
          Document............................... 4.6.7 
                      name................................ 4.6.7 
                    
          EDIT................................... 7.3 
          Element................................ 6.2.1 
          END OF MEDIUM.......................... 4.1 
          END.................................... 8.1.2 
                   Error print-outs 
                      from FP............................. 6.5 
 
          FILE PROCESSOR......................... 6, 6.1 
          FILE DESCRIPTOR........................ 7.6 
          File................................... 6.3 
          FINIS.................................. 8.3.1.4 
          FP..................................... 6.1 
                     error print-outs from............... 6.6 
          FPNAMES................................ 6.5 
                   FP-command............................. 3.2, 6.2 
                     complex............................. 6.2.2 
            simple.............................. 6.2.1 
          Function 
             privileged.......................... 3.1.1, 3.1.3, 4.2.2 
             utility............................. 6.1, 6.5 
                    
          GET.................................... 3.4.4.1 \f

          GO..................................... 3.2 
                    
                   Half word.............................. 3.5.2 
          HEAD 
             catalog entry....................... 4.2.1 
            utility program..................... 10.2.1 
          HEADPUNCH.............................. 10.2.2 
          Hierarchy 
                      process............................. 5.1.1.1 
           
I...................................... 6.3.1, 8.1.1 
          IF..................................... 6.4.2, 8.2.2 
          IN..................................... 6.3.3 
          Index.................................. 3.2 
          Information............................ 3.6.5 
          Insertion of lines..................... 3.4.2.1 
          INTERNAL............................... 5.3.1 
                   Internal process....................... 5.1.1, 5.3.1 
 
         Job.................................... 3.2, 5.1.1.1 
class............................... 3.6.5 
             controlled.......................... 3.5.4 
enrollment.......................... 3.6.2, 8.3.1.1 
             execution........................... 3.1.2 
identification...................... 3.5.1 
internal............................ 8.3.1.1 
name................................ 3.2, 3.6.5, 5.1.1.1 
OFFLINE............................. 3.6.7, 8.3.1.1 
ONLINE.............................. 8.3.1.1 
queue............................... 3.2 
                      termination......................... 8.3.1.4 
         Job control............................ 7.1, 8 
          Job control language................... 6.4.2 
          JOB FILE............................... 3.2 
                 handling............................ 3.4.4 
  manipulation........................ 3.6.1 
  use................................. 3.3 
JOB SPECIFICATION...................... 3.1.1, 8.3.1.1 \f

          KILL................................... 3.2 
          KIND................................... 7.5 
                   KIT.................................... 4.1 
             privacy............................. 4.7 
   utility program..................... 8.3.3 
 
          Left hand side......................... 6.2.1 
          Line modification...................... 3.4.2.3 
          Line numbering......................... 3.4.2 
                   LIST 
            bit................................. 6.4.1 
     BOSS-command........................ 3.4.3.2 
LOAD 
            specification....................... 3.5.1, 3.5.5 
  utility program..................... 10.1.5 
LOGIN.................................. 4.3 
            routine............................. 3.2 
LOGOUT................................. 3.2 
          LOOKUP 
                     BOSS-command........................ 4.4.4 
  utility program..................... 4.5.4, 9.5.1 
 
Magnetic tape.......................... 8.3.4 
            access code......................... 8.3.4 
       label............................... 8.3.4 
  name................................ 8.3.4 
  number.............................. 8.3.4 
Main catalog........................... 4.7 
          MESSAGE BUFFER......................... 5.2, 5.3.4 
                   Messages 
            from BOSS........................... 3.7 
MODE................................... 7.4 
                     bit................................. 6.4.1, 6.4.2, 8.2.1, 8.2.2 
  specification....................... 3.5.5.1 
MODEKIND............................... 7.4, 7.5 
          MONITOR................................ 5, 5.1.4, 5.2, 5.4 
          MOUNT.................................. 8.3.4.1 
          MOVE................................... 10.1.2 \f

                   Name................................... 4.1, 4.6, 4.6.5 
                      area................................ 4.1 
            change.............................. 4.4.2.2, 4.5.2.2, 9.2, 9.3 
            document............................ 4.6, 4.6.7 
             key................................. 4.6 
            program............................. 4.1 
          NEWJOB 
            BOSS-command........................ 3.6.2 
             utility program..................... 8.3.1.3 
          NO ROOM................................ 3.4.5.3 
          Notation............................... 3.2, 3.4.3.2 
                    
          O...................................... 6.3.2, 8.1.3 
          OFFLINE 
            job................................. 3.6.7 
          OK-bit................................. 6.4.1 
          ONLINE 
            BOSS-command........................ 8.1.5 
            utility program..................... 8.1.5 
          ONLINE-command......................... 3.6 
          OPCOMM................................. 8.3.5.1 
          Operating System....................... 3.1, 5, 11.2 
          OPMESS................................. 8.3.5.2 
                   OPTION 
             AREA ............................... 5.3.3 
             BUF................................. 5.3.4 
CBUF................................ 3.5.6 
DEVICE.............................. 3.5.5, 3.5.6, 3.5.7, 3.5.8 
          INTERNAL............................ 5.3.1 
ONLINE.............................. 8.1.5 
OUTPUT.............................. 6.3.5 
PERM................................ 4.8.2 
SIZE................................ 3.5.2 
STATIONS............................ 3.5.8 
TAPES............................... 3.5.5 
TEMP................................ 4.8.1 
                      TIME................................ 3.5.2 \f

          OPTION-list............................ 3.5.1 
                   OUT.................................... 6.3.3 
          OUTPUT................................. 6.3.5 
                    
         Parameter.............................. 6.2.1 
            list................................ 6.2.1 
          PARENT PROCESS......................... 5.1.1.1 
          Peripheral device...................... 3.5.4 
          Peripheral process..................... 5.1.2, 5.3.2 
                   Permanent.............................. 4.3 
          PERM................................... 4.8.2 
          Policy................................. 5.5.5 
          PRIMARY INPUT FILE..................... 6.3 
          PRIMARY OUTPUT FILE.................... 6.3, 6.3.5, 8.3.1.1 
          PRIMOUT................................ 6.3, 6.3.5, 8.3.1.1 
          Printer................................ 8.3.2 
                   PRINT.................................. 10.2.3 
          Print-out 
            of area............................. 3.6.4, 8.3.2 
            of catalog entry.................... 4.4.4, 4.5.4, 9.5 
            of JOBFILE.......................... 3.4.3 
          Priveleged function.................... 3.1.1, 3.1.3, 4.2.2 
          PROCESS 
            ANCESTOR............................ 5.1.1.1 
            CHILD............................... 5.1.1.1 
            PARENT.............................. 5.1.1.1 
          Process................................ 5, 5.1 
            area................................ 5.1.3, 5.3.3 
             description......................... 5 
             handling............................ 5.1.4 
             hierarchy........................... 5.1.1.1 
             internal............................ 5.1.1, 5.3.1 
             name................................ 5.1.1.1, 5.1.2, 5.1.3 
             peripheral.......................... 5.1.2, 5.3.2 
          Program execution...................... 6.1 
          Project................................ 4.3 
          Protection............................. 3.3, 4.3, 5.5.2, 8.3.4 \f

          Punch.................................. 3.5.7 
           
         RC NET................................. 11.3 
          Reader................................. 3.5, 3.5.5 
          RELEASE................................ 8.3.4.2 
          RENAME 
            BOSS-command........................ 4.4.2.2 
            utility program..................... 4.5.2.2, 9.2 
          REPEAT................................. 6.4.2, 8.2.3 
          REPLACE................................ 8.3.1.2 
          Resources.............................. 3.3, 3.5, 4.8, 5.3, 5.5.3
            administration...................... 3.1.1 
            requesting.......................... 3.5.1, 3.6.3 
          Restrictions........................... 3.6.8 
          ROUND ROBIN............................ 5.1.1.2 
          RUNNING................................ 5.1.1.2 
 
          S...................................... 5.1.1.1 
         Safety copying......................... 10.1, 10.1.4, 10.1.5 
          SAVE 
            BOSS-command........................ 3.4.4.3 
            utility program..................... 10.1.4 
          SCOPE.................................. 4.2.1, 4.3 
            BOSS-command........................ 4.4.2.1 
            diagramme........................... 4.3 
            pool................................ 4.3 
            scope............................... 4.3 
            utility program..................... 4.5.2.1, 9.3 
          Scratch tape........................... 8.3.4 
          SEARCH................................. 9.5.2 
          Segment................................ 4.2.1 
          SET.................................... 4.5.1, 9.1 
          SIZE................................... 3.6.5 
          Size................................... 4.6, 4.6.6 
          SLICE.................................. 4.6, 4.6.1 
          Standard value......................... 3.1.1 
          State 
            job................................. 3.6.5 
                      process............................. 5.1.1.2 \f

          State variables........................ 6.1, 6.4.1 
          STATIONS............................... 3.5.8 
          Status word............................ 5.2 
         Supervision............................ 3.1, 5.5.2 
                   System disc............................ 4.7 
 
                   TAIL 
                     catalog entry....................... 4.2.1 
          Tape name.............................. 8.3.4 
          Tape number............................ 8.3.4 
                   Tape station........................... 3.5, 3.5.8 
          TAPES.................................. 3.5.5 
          Temporary.............................. 4.3 
          TIME................................... 3.5.2 
          TRE.................................... 3.5.1.1 
          TRF.................................... 3.5.1.1 
          TRN.................................... 3.5.1.1 
          TRO.................................... 3.5.1.1 
                    
          USER................................... 4.3 
                   USER CATALOG........................... 3.1.1 
          User identification.................... 3.2 
          User index............................. 3.6.2, 3.6.5 
                   User name.............................. 3.3, 3.6.5 
                   Utility function....................... 6.1, 6.5 
                   Utility program 
                   ALGOL............................... 6.4.3 
CLEAR...............................4.5.3, 9.4 
                      CONVERT.............................8.3.2 
COPY................................10.1.1 
EDIT................................7.3 
END.................................6.3.1, 8.1.2 
FINIS...............................8.3.1.4 
HEAD................................10.2.1 
HEADPUNCH...........................10.2.2 
I...................................6.3.1, 8.1.1 
IF..................................6.4.2, 8.2.2 \f

KIT.................................8.3.3 
LOAD................................10.1.5 
LOOKUP..............................4.5.4, 9.5.1 
MODE................................6.4.1, 8.2.1 
MOUNT...............................8.3.4.1 
MOVE................................10.1.2 
NEWJOB..............................8.3.1.3 
O...................................6.3.2, 8.1.3 
ONLINE..............................8.1.5 
OPCOMM..............................8.3.5.1 
OPMESS..............................8.3.5.2 
             RELEASE............................. 8.3.4.2 
             RENAME.............................. 4.5.2.2, 9.2 
REPEAT..............................6.4.2, 8.2.3 
REPLACE.............................8.3.1.2 
SAVE................................10.1.4 
SCOPE...............................4.5.2.1, 9.3 
SEARCH..............................9.5.2 
SET.................................4.5.1, 9.1 
              
          V...................................... 6.3 
                   VERIFY................................. 3.4.3.1 
                   Virtual storage........................ 11.2 
                    
WAITING................................ 5.1.1.2 
          WARNING-bit............................ 6.4.1 
                   Work tape.............................. 8.3.4 
          Writing permission..................... 4.3 
           
Zone................................... 6.3.2 \f

F_       9         KATALOGHÅNDTERING 
           
           
          De vigtigste kataloghåndterende programmer er introduceret i
          kapitel 4, og kapitel 9 rummer blot programbeskrivelser. 
           
             
T_ 9.1       Set.
           
          Med SET-programmet kan en temporær katalogindgang oprettes. 
           
                    data = set 18 
                    data = set 18 dk123456 
&_                    date = set mto mt123456 0 1 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
          navn'= set    størrelse'dokumentnavn' 
                         modekind'  
          1 
&_                         dato' filnr' 0                       
           
T_          F_U_N_K_T_I_O_N_:_ 
          Parameterlisten læses og fortolkes, og en temporær katalogindgang
&_          med det specificerede navn og indhold søges oprettet. Hvis det
          ikke er muligt, fordi der i forvejen findes en temporær katalog-
          indgang med det specificerede navn, ændres denne i overensstem-
          melse med parameterlisten. 
           
          Første parameter kan være områdestørrelse eller MODEKIND-angivel-
          se, og de øvrige parametre fortolkes i overensstemmelse hermed
          (jvf. 7.5). 
           
          Udeblivelsesværdien for parametre er 0, for dato dog d.0 , dvs.
          det aktuelle tidspunkt. 
           
T_          F_E_J_L_:_      
&_          I tilfælde af fejl oprettes eller ændres ingen katalogindgang. 
           \f

T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx SET CALL 
&_              Venstreside mangler i programkaldet. 
           
T_          xxx SET PARAM parameter' 
&_              Parameterfejl i programkaldet. 
           
           
T_                 xxx SET navn' CHANGE KIND IMPOSSIBLE  
&_              Ændring af MODEKIND var umulig. 
           
T_          xxx SET resultat' CHANGE BS DEVICE IMPOSSIBLE 
&_              Kitnavnet kan ikke ændres. 
           
T_          xxx SET resultat' NO RESOURCES 
&_              Der var ikke tilstrækkelige ressourcer til oprettelsen. 
           
T_          xxx SET resultat' ENTRY IN USE 
              Katalogindgangen kunne ikke ændres, da den blev benyttet af 
&_              en anden. 
           
                    
T_9.2       Rename 
           
          Med RENAME-programmet ændres navnet på en eller flere katalog-
          indgange. 
           
          E_k_s_e_m_p_e_l_ _9_._2_:_       rename dyt.båt 
&_                              rename gammel.ny old.new 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
                                             N  
&_          rename  sp' gl.navn'.nyt navn'  1  
           
T_          F_U_N_K_T_I_O_N_:_ 
          For hver parameter ændres navnet på katalogindgangen gl.navn'
&_          med det snævreste SCOPE til nyt navn'. 
           \f

T_          F_E_J_L_:_ 
          Fejlramte parametre ignoreres, og programmet afbrydes kun efter
&_          de to første fejludskrifter i nedenstående liste. 
           
T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx RENAME CALL 
&_              Venstreside optræder i programkaldet. 
           
T_          xxx RENAME PARAM parameter' 
&_              Parameterfejl i programkaldet. 
           
T_          xxx RENAME gl.navn'.nyt navn' NAME CONFLICT  
                Det nye navn eksisterer allerede, og ændringen kan derfor
              ikke gennemføres. 
          
T_                 xxx RENAME gl.navn'.nyt navn' UNKNOWN 
&_              Der findes ingen katalogindgang med navnet, der ønskes ændret.
           
T_          xxx RENAME gl.navn'.nyt navn' PROTECTED 
&_              Den specificerede katalogindgang er beskyttet. 
           
T_          xxx RENAME gl.navn'.nyt navn' ENTRY IN USE 
              Den specificerede katalogindgang benyttes af en anden og kan 
&_              derfor ikke ændres. 
           
          
T_9.3       Scope 
           
          Med SCOPE-programmet overføres katalogindgange til en specifi-
          ceret SCOPE-pulje. 
           
          E_k_s_e_m_p_e_l_ _9_._3_:_       scope user rcdata 
                              scope login rcdatal rcdata2 rcdata3 
&_                              scope user.dk123456 data 
           \f

T_          P_R_O_G_R_A_M_K_A_L_D_:_         
                                                     N 
                   scope scope specifikation'   sp' navn'  1 

                                                                     1
            scope specifikation'::= scope angivelse'  .kitnavn'0
           
                                  temp 
          scope angivelse'::=    login 
                                  user 
&_                                  project 
           
T_          F_U_N_K_T_I_O_N_:_ 
          De angivne katalogindgange overføres til den specificerede SCOPE-
          pulje, og forinden fjernes de eksisterende katalogindgange med de
&_          specificerede navne i puljen, så en navnekonflikt forhindres. 
           
          En katalogindgang, der ikke beskriver et område, kan gøres perma-
          nent på et privat kit ved at anføre kitnavnet efter scopeangivel-
          sen. 
           
T_          F_E_J_L_:_ 
          Fejlramte parametre ignoreres, og programmet afbrydes kun efter
&_          de fire første fejludskrifter i nedenstående liste. 
           
T_                 F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx SCOPE CALL 
&_               Venstreside optræder i programkaldet. 
           
T_          xxx SCOPE scope spec.' ILLEGAL SCOPE 
&_              Illegal scopeangivelse. 
           
T_          xxx SCOPE scope spec.' BS DEVICE UNKNOWN 
&_              Det specificerede kit er ikke monteret. 
           
T_          xxx SCOPE PARAM parameter' 
              Parameterfejl i programkaldet. Den resterende del af parame-
&_              terlisten ignoreres.  \f

          xxx SCOPE scope spec.' navn' UNKNOWN 
&_              Der findes ingen katalogindgang med det anførte navn. 
           
T_          xxx SCOPE scope spec.' navn' PROTECTED 
              Den anførte katalogindgang er beskyttet og kan derfor ikke
&_              ændres. 
           
T_          xxx SCOPE scope spec.' navn' ENTRY IN USE 
              Den anførte katalogindgang benyttes af en anden og kan derfor
&_              ikke ændres. 
           
T_          xxx SCOPE scope spec.' navn' NO RESOURCES 
              Der er ikke tilstrækkelige ressourcer til rådighed for at 
&_              kunne gennemføre SCOPE-ændringen.
           
T_          xxx SCOPE scope spec.' navn' CHANGE BS DEVICE IMPOSSIBLE 
              Den anførte katalogindgang kan ikke gøres permanent på det  
&_              specificerede kit, da den beskriver et område på et andet kit.
           
           
T_       9.4       Clear. 

          Med CLEAR-programmet fjernes specificerede katalogindgange. 
           
          E_k_s_e_m_p_e_l_ _9_._4_:_       clear login datal data2 
&_                              clear user.dk123456 descriptor 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_N 
          clear scope specifikation'    sp' navn'   
                                                        1      1
          scope specifikation'::= scopeangivelse'    .kitnavn'  0 
&_
T_                                         temp
          scopeangivelse'::=     login  
                                  user   
                                  project \f

                   F_U_N_K_T_I_O_N_:_ 
          De specificerede katalogindgange i den anførte SCOPE-pulje fjer-
&_          nes. 
           
          Programmet ignorerer fejlramte parametre, men afbrydes dog efter
          fejl, der forårsager en af de 4 første fejludskrifter fra neden-
          stående liste. 
           
T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_      
          xxx CLEAR CALL 
&_              Venstreside optræder i programkaldet. 
           
T_          xxx CLEAR scope spec.' ILLEGAL SCOPE 
&_              Ulovlig scopeangivelse. 
           
T_          xxx CLEAR scope spec.' BS DEVICE UNKNOWN 
&_              Det specificerede kit er ikke monteret. 
           
T_          xxx CLEAR PARAM parameter' 
              Ulovlig parameter i programkaldet. Den resterende del af para-
&_              meterlisten ignoreres. 
           
T_          xxx CLEAR scope spec.' navn' UNKNOWN 
&_              Den specificerede katalogindgang findes ikke. 
           
T_          xxx CLEAR scope spec.' navn' ENTRY IN USE 
              Katalogindgangen kunne ikke fjernes, da den blev benyttet af
&_              en anden. 
           
           
T_       9.5       Udskrivning 
           
          Specificerede katalogindgange udskrives med LOOKUP-programmet, og
&_          SCOPE-puljer udskrives med SEARCH-programmet. 
           \f

T_  9.5.1     L_o_o_k_u_p_ 
          Med LOOKUP-programmet udskrives specificerede katalogindgange. 
           
          E_k_s_e_m_p_e_l_ _9_._5_:_       lookup data 
&_                              lookup datal data2 
           
T_                 P_R_O_G_R_A_M_K_A_L_D_:_ 
                                 N
&_          lookup    sp' navn'  1 
           
T_                 F_U_N_K_T_I_O_N_:_ 
          Tilgængelige katalogindgange med de specificerede navne udskrives
          på CURRENT OUTPUT FILE. 
           
          Udskriftsformat: 
           
          navn'= SET krop'   ;   scope spec.' 
&_                ;hoved' 
           
          Den første linje i udskriften fremkommer på præcis samme måde, som
          kaldet af SET-programmet må foretages for at oprette katalogind-
          gangen. 
           
T_          SCOPE-specifikationen kan rumme både en scopeangivelse og et kit-
          navn. 
          1 
          scope spec.'::= scopeangivelse'    .kitnavn'   0  
&_            
           
           
T_                                    temp
                                    login
          scopeangivelse'::=       user 
                                    project 
&_                                    system 
           \f

T_          Oplysningerne i hovedet er anført i den rækkefølge de findes i ka-
          talogindgangen (jvf. 4.6.): 
           
&_          første slice' navnenøgle' katalognøgle' n.base' ø.base'  
T_           
          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx LOOKUP CONNECT udfil' 
              Den specificerede udfil kunne ikke tilknyttes, og i stedet
&_               anvendes CURRENT OUTPUT FILE. 
           
T_                 xxx LOOKUP PARAM parameter' 
              Parameterfejl. Den resterende del af parameterlistenignore-
&_                     res. 
           
T_                 xxx LOOKUP navn' UNKNOWN 
              Der findes ingen tilgængelige katalogindgange med det anførte
&_              navn. De øvrige parametre behandles normalt. 
               
T_          xxx LOOKUP navn' NO RESOURCES 
              Programmet afbrydes, da der er for få arealprocesser til rå-
&_              dighed. 
               
T_       9.5.2.    S_e_a_r_c_h_._ 
          Med SEARCH-programmet udskrives specificerede SCOPE-puljer. 
           
          E_k_s_e_m_p_e_l_ _9_._6_:_       search temp 
                              search system 
&_                              search own 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 

          1
            udfil'= 0   search scope spec'   
           
T_          1 
          scope spec' ::= scopeangivelse'   .kitnavn'   0  
&_             
           \f

T_                                   temp 
                                   login 
          scopeangivelse'::=      user 
                                   project 
                                   system 
&_                                   own 
           
T_          F_U_N_K_T_I_O_N_:_ 
          Samtlige katalogindgange i den specificerede SCOPE-pulje udskri-
          ves. OWN angiver, at TEMP, LOGIN, USER og PROJECT puljerne skal
          udskrives. Udskrivningen foretages på CURRENT OUTPUT FILE, så-
&_          fremt der ikke er specificeret en udfil. 
           
          Udskrivningen foretages med samme format, som LOOKUP-programmet
          anvender. 
           
T_          xxx SEARCH CONNECT udfil' 
              Udfilen kunne ikke tilknyttes, og i stedet anvendes CURRENT
&_              OUTPUT FILE. 
               
T_          xxx SEARCH PARAM parameter' 
&_              Parameterfejl i programkaldet og programmet afbrydes. 
T_                  
          xxx SEARCH scope spec' NO ENTRIES FOUND 
&_              Der findes ingen katalogindgange i den specificerede pulje. 
               
T_          xxx SEARCH scope spec' ILLEGAL SCOPE 
&_              Illegal scopeangivelse og ingen katalogindgange udskrives. 
           
           
T_       9.6       Opgaver 
           
          O_p_g_a_v_e_ _9_._1_:_ 
          I området TEXT findes et ALGOL-program, der ønskes oversat og ud-
&_          skrevet på den syvende fil på magnet båndet MT123456. 
           
          Skriv det påkrævede job. 
           \f

T_          O_p_g_a_v_e_ _9_._2_:_ 
          Udskriv samtlige temporære katalogindgange på et permanent område
&_          UDFIL på kittet DK123456. 
           
T_          O_p_g_a_v_e_ _9_._3_:_ 
          Slet på den letteste måde samtlige tilgængelige katalogindgange
&_          med navnene DATA1, DATA2, DATA3, DATA4, DATA5, og DATA6. 
           \f

F_       10        DATAHÅNDTERING 
           
           
          I mange situationer er der behov for at overføre data fra en del
          af datamaten til en anden, at modificere data eller at udskrive
          data på et læsbart medium. Til disse opgaver stilles forskellige
          hjælpeprogrammer til rådighed, og i dette kapitel findes kun de
          vigtigste programmer og deres hyppigste anvendelsesmåder beskre-
          vet. Hjælpeprogrammerne er som regel så fleksible, at det kan
          være svært at gruppere dem, og opdelingen i de følgende afsnit er
          foretaget på grundlag af programmernes hovedfunktioner. Som nævnt
          i kapitel 7 omtales de egentlige datamodificerede programmer ikke
          men programbeskrivelser findes i ref. 4. 
           
    
T_10.1      Dataoverførsel 
           
          Ved dataoverførsler skelnes mellem tegnvis og blokvis overførsel.
&_          Kun tekstfiler kan kopieres tegnvis, da en sådan overførsel stop-
          per ved læsning af en END OF MEDIUM karakter. Da tegnvis overfør-
          sel indebærer, at hvert tegn må læses, vil blokvis overførsel
          sædvanligvis være meget hurtigere. Med COPY-programmet kan der
          foretages tegnvis kopiering af tekstfiler. MOVE-programmet fore-
          tager blokvis kopiering. Sikkerhedskopiering af filer giver sær-
          lige problemer, da man uden besvær bør kunne retablere filer ud
          fra en sikkerhedskopi. Dette gøres lettest ved at kopiere såvel
          katalogindgange som de tilhørende filer. Med SAVE-programmet
          overføres både katalogindgange og områder til magnetbånd, og med
          LOAD-programmet kan katalogindgange og områder på et SAVE-bånd
          retableres. 
           \f

T_    10.1.1    C_o_p_y_ 
          Med COPY-programmet foretages tegnvis kopiering fra specificerede
          inputfiler til en angiven outputfil. 
           
          E_k_s_e_m_p_e_l_ _1_0_._1_:_      ud  = copy ind 
                              tpe = copy datal data2 
&_                              data= copy 3 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
          inputfil'      N 
          udfil'=copy     antal linier'  1 
           
          F_U_N_K_T_I_O_N_:_ 
          De specificerede inputfiler overføres ved tegnvis kopiering i den
&_          rækkefølge, de er anført til udfilen. Overførslen fra en inputfil
          ophører, når END OF MEDIUM karakteren læses, men denne karakter
                   overføres dog ikke til udfilen. Kopieringen afsluttes ved skriv-
                   ning af en END OF MEDIUM karakter. 
           
          Når inddataangivelse er et antal linjer, kopieres det specifice-
          rede antal synlige linjer fra CURRENT INPUT FILE til udfilen. 
           
T_          F_E_J_L_:_ 
&_          WARNING-bitten har værdien TRUE efter fejl. 
           
T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx COPY CONNECT udfil' årsag' 
              Af den anførte grund kunne udfilen ikke tilknyttes. OK-bitten
&_                     får værdien NO. 
               
T_          xxx COPY CONNECT inputfil' årsag' 
              Af den anførte grund kunne den specificerede inputfil ikke
&_              tilknyttes. Parameteren ignoreres. 
               
T_          xxx COPY PARAM parameter' 
&_              Illegal parametersyntaks. Parameteren ignoreres. 
               \f

T_          xxx COPY END MEDIUM 
              Inputfilen er udtømt, og COPY fortsætter med den næste para-
&_              meter. 
               
T_          xxx COPY NO CORE 
&_              Den interne processtørrelse er for lille. 
               
T_       10.1.2    M_o_v_e_ 
          Med MOVE-programmet foretages blokvis kopiering af filer på discs
          eller magnetbånd. 
           
               E_k_s_e_m_p_e_l_ _1_0_._2_:_      kopifil  = move data 
                              båndfil  = move data 
&_                              båndkopi = move message.yes fil.4 
               
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
          Der skelnes mellem to programkald afhængig af, om udfilen er på
&_          disc eller magnetbånd. 
           
T_          1disc fil' 
          discfil'=move    message.yes  0    mt.fil' 
           
           
                                          1   disc fil'  N 
          mt.fil'=move     message.yes   0   mt.fil' 
&_                                              mt.fil'.antal'  1 
T_                  
          F_U_N_K_T_I_O_N_:_ 
          De specificerede inputfiler kopieres blokvis til udfilen i den
          rækkefølge, de optræder i programkaldet. Hver inputfil skrives i
          en separat outputfil. Når MESSAGE-parameteren optræder, udskri-
&_          ves en rapport om forløbet af kopieringen. 
           
T_          F_E_J_L_:_ 
          Da parametrene håndteres enkeltvis, kan een eller flere inputfil-
&_          er være kopieret før en utilsigtet programafbrydelse. 
           \f

T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx MOVE: NO CORE 
&_              Den interne processtørrelse er for lille. 
               
T_          xxx MOVE CALL 
&_              Venstreside mangler i programkaldet. 
               
T_          xxx MOVE PARAM: parameterliste' 
&_              Der er fejl i parameterlisten. 
               
          xxx MOVE: INPUT KIND 
              Den specificerede fil er hverken en discfil eller en MT-fil. 
           
          xxx MOVE: OUTPUT KIND 
&_              Den specificerede fil er hverken en discfil eller en MT-fil.
               
          xxx MOVE: CONNECT INPUT 
              Den specificerede fil kunne ikke tilknyttes. 
T_           
          xxx MOVE: CONNECT OUTPUT 
&_              Den specificerede fil kunne ikke tilknyttes. 
               
T_          xxx MOVE: TOO MANY PARAMS 
&_              Der er forsøgt overførsel af flere filer til een discfil. 
               
T_          xxx MOVE: CHANGE ERROR 
              Det er ulovligt at ændre katalogindgangen, der beskriver
&_              udfilen. 
               
T_       10.1.3.   O_p_g_a_v_e_ _1_0_._1_:_   
          To strimler, der er hullet i isokode med lige paritet, ønskes sam-
          menkopieret til en strimmel med samme format. Skriv 2 forskellige
          job, der kan udføre det ønskede. 
           
&_          Ændre jobbene, så strimlerne i stedet udskrives på printeren. 
           
T_                 O_p_g_a_v_e_ _1_0_._2_:_ 
&_          Hvorfor kan MOVE-programmet ikke anvendes i opgave 10.1. 
           \f

T_          O_p_g_a_v_e_ _1_0_._3_:_ 
&_          Flyt det temporære område TEXT fra kit DK123456 til kit DK123400.
           
T_          O_p_g_a_v_e_ _1_0_._4_:_ 
          Flyt fil 7,8,9 og 10 på magnetbånd MT123456 til fil 1,2,3 og 4 på
&_          magnetbånd MT123400. 
           
T_          O_p_g_a_v_e_ _1_0_._5_:_ 
          Indføj 3 linier fra CURRENT INPUT FILE mellem fileren F1 og F2 og
&_          gem resultatet i RFILE. 
           
T_          O_p_g_a_v_e_ _1_0_._6_:_ 
          Det temporære område UDDATA indeholder data på tekstform. Udskriv
          dataene 5 gange på printeren med 3 forskellige job og vurder,
&_          hvad der er mest hensigtsmæssigt. 
           
T_       10.1.4.   S_a_v_e_._ 
          Med SAVE-programmet kan såvel katalogindgange som områder gemmes
          på magnetbånd. Dette program har således i_n_t_e_t_ til fælles med
          BOSS-kommandoen SAVE. 
           
          E_k_s_e_m_p_e_l_ _1_0_._3_:_      save mt123456.1 scope.user 
&_                              USER-puljen gemmes på fil 1 på MT123456. 
           
T_          E_k_s_e_m_p_e_l_ _1_0_._4_:_      save mt123456.last 
                              save mt123456.2.label.rcdump 
                              save mt123456.last scope.temp 
&_                              save mt123456.last datal data2 data3 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
&_          save bånd spec.' dump spec.' 
          1 
T_          bånd spec.':=båndnavn'.filnr'  .label.labelspec.' 0
&_                                                                       
           
T_          filnr'::=       last 
&_                          heltal' 
           \f

          labelspec.'::=navn' 
          4  N 
T_          dump spec.'::=  scope.scopeangivelse'  0    navn'  0   
&_                                                                       
T_                                           temp 
          scopeangivelse'::=       login  
                                    user  
                                    project 
           
T_          F_U_N_K_T_I_O_N_:_ 
          De i dumpspecifikationen anførte katalogindgange og områder gemmes
&_          på det specificerede magnetbånd. Båndspecifikationen angiver bånd-
          navn og filnummer og rummer muligvis en LABEL-parameter. SAVE un-
          dersøger altid, om magnetbåndsfilen tidligere er blevet skrevet
          med SAVE-programmet, og hvis det er tilfældet, overskrives filen
          kun, såfremt LABEL-parameteren optræder i programkaldet. Den spe-
          cificerede dumplabel eller en standard label skrives på filen
          efterfulgt af det aktuelle tidspunkt. 
           
          Når LAST angiver filnummeret, benyttes den første fil på båndet,
          der ikke tidligere er blevet anvendt af SAVE. 
           
          Dumpspecifikationen angiver hvilke katalogindgange og områder, der
          skal gemmes. Såvel SCOPE-puljer som enkelt navne kan angives.
          Udelades dumpspecifikationen, gemmes LOGIN-puljen. 
           
          SAVE udskriver en oversigt over de gemte katalogindgange og om-
          råder på CURRENT OUTPUT FILE. 
           
T_          F_E_J_L_:_ 
          Efter fremkomsten af een af de tre første udskrifter i nedenstå-
&_          ende liste, afbrydes programmet, og båndet er uberørt. 
           
T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx SAVE ERROR IN TAPEPARAM parametre' 
              De fejlagtige og de resterende båndparametre udskrives, og
&_              programmet afbrydes. 
               \f

T_          xxx SAVE ERROR PARAM parametre' 
              De fejlagtige og de resterende parametre udskrives, og
&_              programmet afbrydes. 
               
T_          xxx SAVE DUMPLABEL specifikation' 
&_              Den specificerede dumplabel er ulovlig. 
               
T_          navn' ENTRY IN USE 
&_              Den specificerede katalogindgang blev benyttet af en anden og
              kunne derfor ikke gemmes. 
           
T_                 navn' NOT ALLOWED 
&_              Den specificerede katalogindgang må ikke gemmes. 
           
T_          xxx NOT FOUND: navn' 
&_              Den angivne katalogindgang findes ikke. 
           
T_          xxx SAVE NOT OK antal fejl' 
&_              Denne udskrift fremkommer, når der er registreret fejl. 
           
T_       10.1.5.   L_o_a_d_._ 
          Med LOAD-programmet retableres katalogindgange og områder, der er
          gemt med SAVE-programmet. 
           
          E_k_s_e_m_p_e_l_ _1_0_._5_:_      load mt123456.1 
                              load mt123456.last 
                              load mt123456.1 scope.temp
      load mt123456.1 scope.user datal data2 
                              load mt123456.1 load.no 
&_                              load mt123456.last survey.yes 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
&_          load båndspec.' dumpspec.' speciel param' 
           
          båndspec.'::=båndnavn'.filnr' 
           
          filnr'::=      last  
                         heltal'\f

T_          4N
          dumpspec.'::=   scope.scopeangivelse'  0     navn'   0   
&_             
           
T_                                   temp 
          scopeangivelse'::=      login 
                                   user 
&_                                   project 
           
T_                                        1               1
&_special param'::=   load.no  0   survey.yes0
   
T_          F_U_N_K_T_I_O_N_:_ 
          De i dumpspecifikationen anførte katalogindgange og områder reta-
&_          bleres fra det specificerede magnetbånd. I båndspecifikationen
          anføres såvel båndnavn som filnummer. Udelades dumpspecifikation-
          en, retableres hele filen, ellers retableres de angivne SCOPE-
          puljer, katalogindgange og områder. En oversigt over de retable-
          rede katalogindgange udskrives på CURRENT OUTPUT FILE. 
                   Når LOAD.NO parameteren anføres, foretages ingen retablering, men
          kørselsrapporten udskrives. 
           
T_          Anvendes parameteren SURVEY.YES, udskrives oversigter over ind-
          hold et af samtlige filer fra 1 til og med den angivne. Kun den
          første fil retableres, hvilket dog kan undertrykkes med LOAD.NO. 
           
T_          F_E_J_L_:_ 
          Efter fremkomsten af een af de tre første udskrifter i nedenstå-
&_          ende liste afbrydes programmet. 
           
T_          F_E_J_L_U_D_S_K_R_I_F_T_E_R_:_ 
          xxx LOAD: ERROR IN TAPEPARAM parametre' 
              En fejlramt båndparameter samt de resterende parametre ud-
&_              skrives. 
               
T_          xxx LOAD: ERROR IN PARAM parametre' 
&_              En fejlramt parameter samt de resterende parametre udskrives.
               \f

T_          xxx LOAD: NO DUMPLABEL ON FILE filnr' 
&_              Den specificerede fil er ikke genereret med SAVE-programmet.
               
T_          xxx navn' MONITOR heltal' RESULT helftal' årstal' 
              Den specificerede katalogindgang kunne ikke retableres af den
&_              anførte grund. 
               
T_          xxx NOT FOUND navn'  
&_              Den anførte katalogindgang findes ikke på filen. 
               
T_          xxx LOAD NOT OK antal fejl' 
&_              Denne udskrift fremkommer, når der er registreret fejl. 
               
T_  10.1.6    O_p_g_a_v_e_ _1_0_._7_:_
          Skriv et job, der kan undersøge hvilke katalogindgange, der er
&_          gemt på magnetbånd MT123456 med SAVE-programmet. 
           
T_          O_p_g_a_v_e_ _1_0_._8_:_ 
          Lav en sikkerhedskopi af katalogindgangene TXT, DATA, PROGRAM og
&_          PDATA på fil 7 på magnetbånd MT 123456. 
           
       
T_10.2      Udskrivning 
           
          Uddata i CURRENT OUTPUT FILE kan på en pæn måde adskilles med
          HEAD-programmet, og ved hjælp af HEADPUNCH-programmet udskrives
&_          læsbare tegn på perforatoren. 
T_        
10.2.1    H_e_a_d_._  
          Med HEAD-programmet udskrives sideskift, jobnavn, dato, klokke-
          slet og jobbets forbrugte cputid på CURRENT OUTPUT FILE. 
           
          E_k_s_e_m_p_e_l_:_ _1_0_._6_      head 1 cpu 
                              Der udskrives 1 sideskift, jobnavn, dato,
&_                              klokkeslet og forbrugt cputid. 
           \f

T_          head    sp' heltal'  2  
                  sp'  cpu      0                              
           
          Når der er angivet et heltal, udskrives det specificerede antal
          sideskiftkarakterer. Herefter udskrives jobnavn, dato og klokke-
          slet. Anføres CPU, udskrives endvidere jobbets cputidsforbrug. Ud
          skrivningen foretages på CURRENT OUTPUT FILE. 
           
T_          E_k_s_e_m_p_e_l_ _1_0_._7_:_      pl 
                              head 1 
&_                              p2 
           
          Udskrifterne fra P1 og P2 adskilles ved kald af HEAD. 
           
T_          F_E_J_L_M_E_D_D_E_L_E_L_S_E_:_ 
          xxx HEAD PARAM parameter' 
&_              Parameterfejl i programkaldet. 
           
T_       10.2.2    H_e_a_d_p_u_n_c_h_._ 
          Med HEADPUNCH-programmet udskrives læsbare tekster på perforator-
          en, og den samme information udskrives på CURRENT OUTPUT FILE. 
           
          E_k_s_e_m_p_e_l_ _1_0_._8_:_      headpunch strimmel 1 
                              På læsbar form udskrives "strimmel 1" på per-
                              foratoren, og teksten udskrives på CURRENT  
&_                              OUTPUT FILE. 
           
T_          P_R_O_G_R_A_M_K_A_L_D_:_ 
          1 
&_          headpunch    tekst'   0 
           
          Teksten skal naturligvis overholde den generelle FP-syntaks. 
           
          Den anførte tekst udskrives såvel på CURRENT OUTPUT FILE som på
        perforatoren, hvor den fremkommer på læsbar form. Endvidere ud-
                   skrives jobnavnet og klokkeslettet.\f

T_                 F_E_J_L_M_E_D_D_E_L_E_L_S_E_:_ 
          xxx HEADPUNCH CALL 
&_              Venstreside optræder i programkaldet. 
           
T_          xxx HEADPUNCH CONNECT TPN 
&_              Perforatoren kunne ikke tilknyttes.\f

F_       11        AFSLUTNING. 
           
           
          En række interessante forhold er ikke blevet beskrevet i de før-
          ste kapitler, da kendskab til disse ikke har været strengt nød-
          vendigt for at kunne bruge datamaten. I dette kapitel 4 beskrives
          3 forskellige forhold, der dels belyser udnyttelsen af datamaten
          og dels belyser mulighederne for at udbygge basisprogrammellet. 
           
     
T_      11.1      Virtuelt lager. 
           
          ALGOL/FORTRAN programmer udnytter arbejdslageret virtuelt, så det
&_          kun er nødvendigt at have ganske få programafsnit i arbejdslageret
          ad gangen. Programmer er opdelt i segmenter på 256 maskininstruk-
          tioner, og det kræves blot, at der er plads til 2 programsegmenter
          i arbejdslageret ad gangen. Når der er behov for et programseg-
          ment, der ikke er til stede i arbejdslageret, indlæses det auto-
          matisk, hvorved et andet muligvis overskrives. Figur 11.1 viser
                   et øjebliksbillede af en intern proces, der foruden selve program-
          met også rummer FP, FP"s kommandostak samt zonerne IN og OUT. 
           \f

F_                 FIGUR 11.1
 
 
          FP                         

PROGRAM                         
               ADMINISTRATION


  PRO-


      GRAM- 
           
           
          SEG- 
           
           
          MENTER 
           
           
          PROGRAM 
          VARIABLE 
           
           
          FP- KOMMANDO 
          STAK 
           
           
          IN 
           
           
          OUT 
           \f

F_                 Zonerne IN og OUT, FP og kommandostakken samt programadministra-
          tionen optager ca. 5000 halvord afhængig af kommandostakken og
          programstørrelsen. I RUNNING SYSTEM, som programadministrations-
          delen kaldes, findes en tabel over samtlige programsegmenters
          placering i eller uden for arbejdslageret. Til hvert segment op-
          tages et ord i tabellen, så variationerne i tabelstørrelsen er
          beskedne. 
           
          Det er klart, at udførelsestiden vokser betydeligt, hvis der u-
          standseligt skal indlæses programsegmenter, og hver udførelse af-
          sluttes derfor med en udskrift om det udførte antal programseg-
          mentoverførsler. 
           
T_          E_k_s_e_m_p_e_l_ _1_1_._1_:_      u 
                              END 300 
           
&_                              Der er udført 300 programsegmentoverførsler. 
           
          Den optimale processtørrelse bestemmes lettest ved at afvikle et
          program i forskellige processtørrelser og sammenligne antallet af
          programsegmentoverførsler med antallet af segmenter i programmet,
          som udskrives af oversætteren. 
           
           
T_       11.2      Flere operativsystemer 
           
          Procesbegrebet gør det muligt på en simpel måde at implementere
&_          flere operativsystemer. 
           \f

T_          Figur 11.2
           
          S 
           
           
           
           
                      BOSS                        P   
           
           
           
           
           
&_          A       B 
           
                    
          Figur 11.2 viser proceshierarkiet, når der foruden BOSS findes et
          operativsystem P, der befinder sig på samme niveau som BOSS. Et
          sådant operativsystem kan f.eks. tænkes at betjene en klynge ter-
          minaler til real time inddatering eller forespørgsel. Forskellige
          operativsystemer er i tidens løb blevet udviklet til helt speci-
          fikke formål, og investeringerne har været forholdsvis begræn-
          sede, da MONITOR kan understøtte alle interne processer, og da
          der kan sendes meddelelser mellem processerne. 
           
          Det andet operativsystem kan således sende meddelelse til BOSS og
          få BOSS til at udføre forskellige ting, f.eks. afvikle et job. 
           
           
T_       11.3      Flere Datamater. 
           
          Flere datamater kan kobles sammen via et RCNET, der bestyres af
&_          et sæt minicomputere. Når en terminal tages i anvendelse, oprette
          en forbindelse (LINK) til den ønskede datamat. En intern proces i
          en datamat kan via RCNETTET kommunikere med en anden datamat, der
          er tilsluttet nettet. Dataoverførslerne vil normalt følge den kor-
          teste rute, eller den mindst trafikerede rute, men i tilfælde af
          udfald omdirigeres trafikken automatisk. 
           \f

          Figure 11.3 illustrerer et RCNET, der sammenkobler 2 RC8000 data-
          mater og en fremmed datamat. Foran hver RC8000 findes en FRONT
          END minicomputer, og hver knude i RCNETTET består af en selvstæn-
          dig minicomputer. 
           \f

F_                 Figur 11.3  
           
           
           
          RC 8000 
           
           
           
          FRONT END              TERMINAL 
           
           
                                                            TERMINAL 
           
           
           
           
           
           
           
           
           
           

           
           
          FRONT END 
           
           
           
           
                    RC 8000                       DATAMAT 
           \f

F_       12        OPGAVELØSNINGER. 
           
           
T_                 O_p_g_a_v_e_ _3_._1_:_ 
          Småjob ønskes sædvanligvis højt prioriteret. Dette kan ske ved at
          lade prioriteten være omvendt proportional med den estimerede kø-
          retid. 
           
&_                    prioritet= 1/estimeret køretid 
           
          Udvælgelsen af de job, der skal afvikles, er nu simpel, idet man
          blot skal tage hensyn til, at det nødvendige antal båndstationer
          er til rådighed. 
           
T_          En mere retfærdig afvikling opnås, når den estimerede restkøretid
          anvendes ved prioriteringsberegningen. 
           
&_                    prioritet= 1/(estimeret køretid - forbrugt køretid) 
           
T_          Ved at lade prioriteten være ligefrem proportional med den tid,
          et job har ventet på at blive afviklet, sikres, at et job altid
          vil blive afviklet. 
           
                    prioritet= (klokkeslet-ankomsttid) /(estimeret tid-    
&_                                                         forbrugttid) 
           
          Prioriteringsalgoritmen indebærer, at et kørende job kan afbrydes
          til fordel for et højere prioriteret job. Det afbrudte job gemmes
          (swopped) på baggrundslageret og drages atter frem, når det har
          opnået tilstrækkelig høj prioritet. 
           
T_          O_p_g_a_v_e_ _3_._2_:_ 
          10 u=algol list.yes 
&_                 15 begin 
          20 integer sum,a,b; 
          25 read (in,a,b); 
          26 sum:= a+b; 
          30 write (out,sum); 
40 end\f

          En tom linie er en linie uden indhold, hvilket kan indtastes ved
          at angive linienummer og mellemslag. 
           
T_          O_p_g_a_v_e_ _3_._3_:_ 
          20/a/salg 
          25/a,/salg, 
&_          26/a/salg 
           
T_                 O_p_g_a_v_e_ _3_._4_:_ 
          1   1
          verify   linienummer'   antal linier' 0   0
           
T_          O_p_g_a_v_e_ _3_._5_:_ 
          get programtext 
&_          verify 
          5 p=algol 
          40 p 
          50 finis 
          save programtext 
           
T_          O_p_g_a_v_e_ _3_._6_:_ 
          get text 
&_          list 
           
T_          O_p_g_a_v_e_ _3_._7_:_ 
          10 begin 
&_          20 write(out,:opgave 3.7:') 
          30 end 
          save programtext 
          clear 
          10 u=algol programtekst 
          20 u 
          30 finis 
          go 
           \f

T_          O_p_g_a_v_e_ _3_._8_:_ 
          save rcjob 
&_          convert rcjob 
           
T_          O_p_g_a_v_e_ _3_._9_:_ 
          10 u=algol 
&_          20 begin integer a; 
          30 read(in,a);write(out,a); 
          40 end 12' 
          1010 u 
          1020 7 
          1030 finis 
           
T_          O_p_g_a_v_e_ _4_._1_:_ 
          9data               Navnet indledes fejlagtigt med et ciffer. 
          da ta              Mellemslag må ikke indgå i navnet. 
          debitorregister     Der indgår mere end 11 tegn i navnet. 
&_          Data                Store bogstaver må ikke indgå i navnet. 
T_                  
          O_p_g_a_v_e_ _4_._2_:_ 
          1 SYSTEM-puljen. 
          2 SYSTEM- og PROJECT-puljen. 
&_          3 SYSTEM- , PROJECT- og USER-puljen. 
           
T_          O_p_g_a_v_e_ _4_._3_:_ 
&_          SYSTEM-puljen. 
           
T_          O_p_g_a_v_e_ _4_._4_:_ 
          I PROJECT-puljen fjernes DATA, hvorefter katalogindgangen DATA
&_          overføres fra LOGIN-puljen til PROJECT-puljen. USER-puljen er nu
                   den første pulje, der indeholder navnet DATA, og denne katalog-
          indgang overføres til LOGIN-puljen. 
           
T_          O_p_g_a_v_e_ _4_._5_:_ 
          rename data datal 
          scope project data 
&_          rename datal data 
           \f

T_          O_p_g_a_v_e_ _4_._6_:_ 
          lookup login rcdata 
          lookup user rcdata 
&_          lookup project rcdata 
           
T_          10 lookup rcdata 
&_          20 finis 
           
T_          O_p_g_a_v_e_ _4_._7_:_ 
          10 x=set 18 
          20 scope login x 
&_          30 finis 
           
T_          O_p_g_a_v_e_ _4_._8_:_ 
          Anbring katalogindgangen i PROJECT-puljen, og den er tilgængelig
&_          for samtlige medlemmer i projektet. 
           
T_          O_p_g_a_v_e_ _4_._9_:_ 
          KATALOGNØGLE. 
           
               0    Temporær. 
               1    Ubenyttet. 
               2    LOGIN. 
&_               3    Permanent. 
           
          Nedre og øvre base bestemmer et interval, og det er således, at
                   intervallene er indesluttet i hinanden. 
           
T_                                PROJECT
             USER
&_          TEMP/LOGIN 
           
          LOGIN og TEMP katalogindgange har samme base. 
           
          Et job har adgang til en katalogindgang, når dens base omslutter
          intervallet, der udgør basen for jobbets temporære katalogindgan-
          ge. 
           \f

T_                                        IKKE 
                         ADGANG         ADGANG
          BASE 
&_          TEMP BASE 
           
          Da 2 forskellige projekter kun har system områderne fælles, er
          PROJECT-baserne disjunkte intervaller. 
           
T_                         PROJECT 1      PROJECT 2 
                                                            PROJECT 
                                                            USER 
&_                                                            TEMP/LOGIN 
           
T_          O_p_g_a_v_e_ _4_._1_0_:_ 
&_                                         1    
          save områdenavn'   kitnavn'  0    
           
          Udelades kitnavnet anvendes systemdiscen. 
           
T_          O_p_g_a_v_e_ _6_._1_:_ 
          1. YES.NO er ulovligt. 
&_          2. 2 er ikke et lovligt navn. 
          3. 3 er ikke et lovligt programnavn. 
          4. 9000000 er et ulovligt tal. 
          5. Programtekst er et ulovligt navn (12 bogstaver). 
           
T_          O_p_g_a_v_e_ _6_._2_:_ 
          10 (p=algol 
&_          20 p 
          30 finis) 
          40 begin integer a,b; 
          50 read(in,a,b); 
          60 write(out,a,b); 
                   70 end 
          80 3 4 
           
          Når jobbet udføres, læses den sammensatte kommando af FP. ALGOL
          aktiveres og læser de følgende linier (40, 50, 60 og 70). Det\f

          oversatte program aktiveres og læser linie 80. FINIS aktiveres,
          og jobbet afbrydes. 
           
          Adskillelsen af kommandoer og datalinier indebærer, at FP læser
          den første del af JOBFILEN, og den resterende del læses af pro-
          grammerne. I fejlsituationer giver dette en stor fordel, da det
          herved undgås, at FP forsøger at fortolke datalinier som komman-
          doer. 
           
T_          O_p_g_a_v_e_ _6_._3_:_ 
          Anvendelsen af UD afsluttes ved at vælge en ny fil til CURRENTOUT-
          PUT FILE, og den nødvendige END OF MEDIUM karakter bliver indsat.
&_           
          O_p_g_a_v_e_ _6_._4_:_ 
          (o uddata 
&_          p=algol 
          (i inddata 
          p 
          end) 
          o c
          convert uddata 
          finis 
          ) 
          begin integer a,b; 
            read (in,a,b); 
            write (out, a,b); 
          end  
           
          (i inddata 
          p  
          end) 
           
          kan erstattes af programkaldet: 
          p inddata 
           
          da det er en konvention, at det første element i parameterlisten
          vælges til CURRENT INPUT FILE, når det består af et navn. Det af-
          stakkes ved programafslutning. \f

          O_p_g_a_v_e_ _6_._5_:_ 
          i koml 
&_          u= algol txt 
          i kom2 
          o udfil 
          u data 
          o c 
          convert udfil 
          finis 
           
T_          O_p_g_a_v_e_ _6_._6_:_ 
          I første tilfælde udføres oversættelserne i rækkefølgen   
          u=algol txt1 
&_          p=algol txt2 
           
          I andet tilfælde er rækkefølgen omvendt, da den sammensatte
          kommando bevirker en stakning af CURRENT INPUT FILE. 
           
T_          O_p_g_a_v_e_ _6_._7_:_ 
          u= algol text 
          if ok.yes 
          u 
&_          finis 
           
T_          O_p_g_a_v_e_ _6_._8_:_ 
          u= algol text 
&_          if warning.yes 
          (uddata=set 100 
           o uddata 
           u= algol text list.yes xref.yes 
           o c 
           convert uddata 
          ) 
          if ok.yes 
          u  
finis \f

          O_p_g_a_v_e_ _6_._9_:_ 
          u= algol text 
&_          if warning.yes 
          (uddata=set 100 
           o uddata 
           u= algol text list.yes xref.yes 
           o c 
                    convert uddata 
           finis) 
           
          if ok.no 
          (repeat 6 
           u) 
          finis 
           
T_          O_p_g_a_v_e_ _6_._1_0_:_ 
          1. Testprograml består af 12 tegn, og det er den første syntaks-
             fejl. FP orienterer om, at fejlen er læst fra PRIMÆR INPUT
             FILE, og FP reinitialiseres herefter. Et tal læses herefter, og
&_             der er atter syntaksfejl, da 2 ikke er et programnavn. 
              
T_          2. Fejludskriften fremkommer, da der ingen katalogindgang findes
&_             med det anførte navn. 
              
T_          3. Fejludskriften fremkommer, da katalogindgangen med det anførte
&_             navn ikke beskriver et program. 
              
T_          O_p_g_a_v_e_ _8_._1_:_ 
&_          1. Følgende sker: 
              
             a.  Den sammensatte kommando læses. 
             b.  TEXT vælges til CURRENT INPUT FILE. 
             c.  ALGOL kaldes og læser kildeteksten fra CURRENT INPUT FILE.
                 Det sidst læste ord er END. 
             d.  FP læser den næste FP-kommando og giver en fejludskrift,
                 da 7 ikke er en lovlig kommando. 
e.  CURRENT INPUT afstakkes ved læsning af en END OF MEDIUM
          karakter, og den næste kommando læses fra JOBFILEN.\f

             f.  Det oversatte program kaldes, og det læser 5-tallet og
                 udskriver det. 
          2. Forløbet fra (1) følges på nær at CURRENT INPUT FILE afstakkes
             efter ALGOL-oversættelsen, og syvtallet læses ikke. 
              
T_           O_p_g_a_v_e_ _8_._2_ 
             pl 
             if ok.yes 
             mode 0.yes 
             p2 
             if 0.yes ok.yes 
             p3 
&_finis 
T_                 O_p_g_a_v_e_ _8_._3_:_ 
                                               1   
&_            newjob filnavn'    printernavn'  0  
             
T_          O_p_g_a_v_e_ _8_._4_:_ 
                                               1                  1    
&_            convert filnavn'   printernavn'  0     papirtype'  0    
             
T_          O_p_g_a_v_e_ _9_._1_:_ 
            fil7=set mto mt123456 0 1 
            o fil7 
            p=algol text list.yes 
&_            o c

T_                 O_p_g_a_v_e_ _9_._2_:_ 
            udfil=set 18 dk123456 
            scope user udfil 
&_            udfil=search temp 
             
T_          O_p_g_a_v_e_ _9_._3_:_ 
            clear temp data1 data2 data3 data4 data5 data6 
            clear login datal data2 data3 data4 data5 data6 
&_            clear user data1 data2 data3 data4 data5 data6 
clear project data1 data2 data3 data4 data5 data6 \f

          O_p_g_a_v_e_ _1_0_._1_:_ 
          1. job kc 1234 device punch load tre dl load tre d2  
             tpe=copy d1 d2 
&_             finis 
              
          2. job kc 1234 device punch tapes 2 
             tpe=copy tre tre 
             finis 
              
          Det første job anbefales af ressourcemæssige grunde. 
           
          3. job kc 1234 cbuf 1 load tre dl load tre d2 
             d3=copy d1 d2 
             convert d3 
             finis 
              
          4. job kc 1234 device printer tapes 2 
             lp=copy tre tre 
             finis 
              
T_          Job 3 anbefales af ressourcemæssige grunde. 
           
          O_p_g_a_v_e_ _1_0_._2_:_ 
&_          MOVE kan ikke kopiere til perforator eller printer. Kopieringen
                   på baggrundslageret kan heller ikke foretages med MOVE, da MOVE
          overfører hele blokke uden hensyn til END OF MEDIUM karakterer. 
           
T_          O_p_g_a_v_e_ _1_0_._3_:_ 
           workfil=set 1 dk123400 
           workfil=move text 
            clear temp text 
            rename workfil.text  
           
          O_p_g_a_v_e_ _1_0_._4_:_ 
            frafil=set mto mt123456 0 7 
            tilfil=set mto mt123400 0 1 
&_            tilfil=move frafil.4 
             
T_\f

          O_p_g_a_v_e_ _1_0_._5_:_ 
&_            rfil=copy fl 3 f2 

T_          O_p_g_a_v_e_ _1_0_._6_:_ 
          1. job kc 1234 cbuf 5 
&_             (repeat 4 
             h=move uddata 
             convert h) 
             convert uddata 
             finis 
              
          2. job rc 1234 cbuf 1 
             h=copy uddata uddata uddata uddata uddata 
             convert h 
             finis  
              
T_          O_p_g_a_v_e_ _1_0_._7_ 
            job kc 1234 stat 1 
            load mt123456.1 survey.yes load.no 
&_            finis 
             
T_          O_p_g_a_v_e_ _1_0_._8_:_ 
            job kc 1234 stat 1 
            save mt123456.7 txt data program pdata 
&_            finis\f

 13        INDEKS 
 
 
 
Accesskode............................. 8.3.4 
         ACCOUNTFILE............................3.1.2 
ALGOL..................................6.4.3 
ANCESTOR PROCESS.......................5.1.1.1 
Annullationstegn.......................3.4.1 
Arbejdsbånd............................8.3.4 
          AREA...................................5.3.3 
          Arealproces............................5.1.3, 5.3.3 
                   ATTENTION-signal.......................3.2 
AUTOLINE...............................3.6.1 
 
Baggrundslager.........................3.5, 4 
Base...................................4.6, 4.6.4 
BASISFILE..............................3.4.4 
     frigivelse af.....................3.4.4.2, 4.4.3 
     overførsel til....................3.4.5.4 
Beskyttelse............................3.3, 4.3, 5.5.2, 8.3.4 
Bikatalog..............................4.7 
Binærområde............................4.1 
BOSS................................... 3, 5, 5.1.1.1, 6.1 
     dialog med........................8.3 
BOSS-kommando.......................... 8.3 
AREA.............................. 5.3.3 
     AUTOLINE..........................3.6.1 
     BUF...............................5.3.4 
     CBUF..............................3.6.3 
     CLEAR.............................3.4.4.2, 4.4.3 
     CONVERT...........................3.6.4 
     DEVICE............................3.6.3 
     DISPLAY...........................3.6.5 
     GET...............................3.4.4.1 
     GO................................3.2 
     INTERNAL..........................5.3.1 
     KILL..............................3.2 
     LIST..............................3.4.3.2 
     LOGOUT............................3.2 
     LOOKUP............................4.4.4 
     NEWJOB............................3.6.2 
     ONLINE............................8.1.5 
     OUTPUT............................6.3.5 
     PERM..............................4.8.2 
     RENAME............................4.4.2.1 \f

         S_e_c_t_i_o_n_
     SAVE..............................3.4.4.3 
     SCOPE.............................4.4.2.1  
     SIZE..............................3.6.3  
     STATIONS..........................3.6.3  
     TAPES.............................3.6.3  
     TEMP..............................4.8.1  
     TIME..............................3.6.3  
     VERIFY............................3.4.3.1  
BOSS  
     kontrolleret......................3.5.4  
     meddelelser fra...................3.7  
Brugeridentifikation...................3.2  
Brugerindex............................3.6.2, 3.6.5  
          BRUGERKATALOG..........................3.1.1  
Brugernavn.............................3.3, 3.6.5  
          BUF....................................5.3.4  
Byte...................................3.5.2  
Båndnavn...............................8.3.4  
Båndnummer.............................8.3.4  
Båndstation............................3.5, 3.5.8  
  
C......................................6.3  
Cardreader.............................3.5.5  
Catalog................................4.7  
Catalog entry..........................4.2.1  
CBUF...................................3.5.6  
CHAINTABLE.............................5.4  
CHILD PROCESS..........................5.1.1.1  
CLEAR   
     BOSS-kommando.....................3.4.4.2, 4.4.3  
     hjælpeprogram.....................4.5.3, 9.4  
          CONVERT   
               BOSS-kommando.....................3.6.4  
               buffer............................3.5.6  
               hjælpeprogram.....................8.3.2  
COPY...................................10.1.1  
CPU-tid................................5.5.1  
CRB....................................3.5.5.1  
CRC....................................3.5.5.1  
          CURRENT INPUT FILE.....................6.3, 6.3.1, 8.1.1, 8.1.2  
          CURRENT OUTPUT FILE....................6.3, 6.3.2, 8.1.3  
  
          
 \f


Datahåndtering......................... 7.3, 10  
          Dataoverførsel.........................5.5.4, 10.1  
          Dato...................................4.6, 4.6.9   
DEVICE   
     BOSS-kommando.....................3.6.3  
     number............................3.5.4  
               OPTION............................ 3.5.5, 3.5.6, 3.5.7, 3.5.8
          Disc...................................4, 8.3.3  
     kit...............................4.1  
     pack..............................4.1  
     privat............................4.7  
     system............................4.7 
DISPLAY................................3.6.5 
Dokument...............................4.6.7  
     navn..............................4.6.7  

EDIT...................................7.3  
END....................................8.1.2  
END OF MEDIUM..........................4.1  
Element................................6.2.1  
Enhed   
     nummer............................3.5.4  
     ydre..............................3.5.4  
            
          Fejludskrifter  
     fra FP............................6.5  
Fil....................................6.3  
FILEDESCRIPTOR.........................7.6  
          FILE PROCESSOR.........................6, 6.1  
FINIS..................................8.3.1.4  
                   FP.....................................6.1  
               fejludskrifter fra................6.6  
          FP-kommando............................3.2, 6.2  
               simpel............................6.2.1  
     sammensat.........................6.2.2  
FPNAMES................................6.5  
Funktion   
     hjælp.............................6.1, 6.5  
     privilegeret......................3.1.1, 3.1.3, 4.2.2  
            
GET....................................3.4.4.1  
GO.....................................3.2  
  
  
            
  
 
 \f

                                                            
Halvord................................3.5.2 
HEAD...................................   
     catalog entry.....................4.2.1  
     hjælpeprogram.....................10.2.1  
HEADPUNCH..............................10.2.2  
Hierarki   
               proces............................5.1.1.1  
          Hjælpefunktion.........................6.1, 6.5  
Hjælpeprogram   
     ALGOL.............................6.4.3  
     CLEAR.............................4.5.3, 9.4  
               CONVERT...........................8.3.2  
     COPY..............................10.1.1  
     EDIT..............................7.3  
     END...............................6.3.1, 8.1.2  
     FINIS.............................8.3.1.4  
     HEAD..............................10.2.1  
     HEADPUNCH.........................10.2.2  
     I.................................6.3.1, 8.1.1  
     IF................................6.4.2, 8.2.2  
     KIT...............................8.3.3  
     LOAD..............................10.1.5  
     LOOKUP............................4.5.4, 9.5.1  
     MODE..............................6.4.1, 8.2.1  
               MOUNT.............................8.3.4.1  
     MOVE..............................10.1.2  
     NEWJOB............................8.3.1.3  
               O.................................6.3.2, 8.1.3  
     ONLINE............................8.1.5  
     OPCOMM............................8.3.5.1  
     OPMESS............................8.3.5.2  
     PRINT.............................10.2.3   
      RELEASE...........................8.3.4.2  
     RENAME............................4.5.2.2, 9.2  
     REPEAT............................6.4.2, 8.2.3  
     REPLACE...........................8.3.1.2  
     SAVE..............................10.1.4  
     SCOPE.............................4.5.2.1, 9.3   
     SEARCH............................9.5.2  
     SET...............................4.5.1, 9.1  
          Hovedkatalog...........................4.7  
          Hoved  
               katalogindgang....................4.2.1  
            \f

           
I......................................6.3.1, 8.1.1 
IF.....................................6.4.2, 8.2.2 
IN.....................................6.3.3 
Index..................................3.2 
Indsættelse  
     af linje..........................3.4.2.1 
INTERNAL...............................5.3.1 
Intern proces..........................5.1.1, 5.3.1 
           
Job....................................3.2, 5.1.1.1 
     afslutning........................8.3.1.4 
     afvikling.........................3.1.2 
               identifikation....................3.5.1 
               intern............................8.3.1.1 
     klasse............................3.6.5 
     kontrolleret......................3.5.4 
     kø................................3.2 
               navn..............................3.2, 3.6.5, 5.1.1.1 
               OFFLINE...........................3.6.7, 8.3.1.1 
               ONLINE............................8.3.1.1 
     tilmelding........................3.6.2, 8.3.1.1 
          JOBFIL.................................3.2 
               anvendelse af.....................3.3 
     håndtering........................3.4.4 
     manipulation......................3.6.1 
JOBSPECIFIKATION.......................3.1.1, 8.3.1.1 
Jobkontrol.............................7.1, 8 
Jobkontrolsprog........................6.4.2 
           
Katalog................................4.2, 5.4 
     bi................................4.7 
     hoved.............................4.7  
     håndtering........................4.2.2, 4.4., 4.5, 7.3, 9
     indgang...........................4.2.1, 4.6, 9.1 
     nøgle.............................4.6 
Katalogindgang.........................4.2.1, 4.6, 9.1 
     anvendelse........................4.6.1 
hoved............................. 4.6 
     krop..............................4.6 
     oprettelse........................4.4.1, 4.5.1
     sletning..........................4.4.3, 4,5,3 
     ændring...........................4.4.2, 4.5.2
KILL...................................3.2
KIND...................................7.5
KIT....................................4.1\f


     hjælpeprogram.....................8.3.3 
     privat............................4.7 
Klasse  
     job...............................3.6.5 
     katalogindgang....................4.2.1 
Kommando  
     BOSS..............................3.2, 3.6, 4.4 
     FP................................3.2, 6.2 
          Kommandostak...........................6.2.2, 6.3.1,8.2.3 
Kommunikation  
     intern............................5.2 
Konteringsfil..........................3.1.2 
          Kontrolpunkt...........................3.6.5 
          Konvention.............................7.4 
Krop  
     katalogindgang....................4.2.1 
 
          Linjenummerering.......................3.4.2 
          LIST  
               bit...............................6.4.1 
     BOSS-kommando.....................3.4.3.2 
          LOAD  
               hjælpeprogram.....................10.1.5 
     specifikation.....................3.5.1, 3.5.5 
LOGIN..................................4.3 
     rutine............................3.2 
LOGOUT.................................3.2 
LOOKUP  
               BOSS-kommando.....................4.4.4 
     hjælpeprogram.....................4.5.4, 9.5.1 
Læser..................................3.5, 3.5.5 
 
Magnetbånd.............................8.3.4 
     accesskode........................8.3.4 
     label.............................8.3.4 
     navn..............................8.3.4 
     nummer............................8.3.4 
Meddelelser  
     fra BOSS..........................3.7 
MESSAGE BUFFER.........................5.2, 5.3.4 
MODE...................................7.4 
     angivelse.........................3.5.5.1 
     bit...............................6.4.1, 6.4.2, 8.2.1, 8.2.2
Modifikation  
     af linje..........................3.4.2.3 
      \f

           
MONITOR................................5, 5.1.4, 5.2, 5.4 
MODEKIND...............................7.4, 7.5 
MOUNT..................................8.3.4.1 
MOVE...................................10.1.2 
  
Navn...................................4.1, 4.6, 4.6.5 
     dokument..........................4.6, 4.6.7 
     nøgle.............................4.6 
               område............................4.1 
     program...........................4.1 
     ændring af........................4.4.2.2, 4.5.2.2, 9.2, 9.3
NEWJOB 
               BOSS-kommando.....................3.6.2 
               hjælpeprogram.....................8.3.1.3 
Notation...............................3.2, 3.4.3.2 
NO ROOM................................3.4.5.3 
 
          O......................................6.3.2, 8.1.3 
          OFFLINE 
               job...............................3.6.7 
OK-bit.................................6.4.1 
          Område.................................4.1 
              binær.............................4.1 
      navn..............................4.1 
     oprettelse af.....................4.4.1, 4.5.1, 9.1 
     sletning af.......................4.4.3, 4.5.3, 9.4 
     tekst.............................4.1 
ONLINE  
               BOSS-kommando.....................8.1.5 
     hjælpeprogram.....................8.1.5 
ONLINE-kommando........................3.6 
OPCOMM.................................8.3.5.1 
OPMESS.................................8.3.5.2 
Operativsystem.........................3.1, 5, 11.2 
Oprettelse 
     af katalogindgang.................4.5.1, 9.1 
     af område.........................4.4.1, 4.5.1, 9.1 
OPTION 
     AREA..............................5.3.3 
     BUF...............................5.3.4 
     CBUF..............................3.5.6 
     DEVICE............................3.5.5, 3.5.6, 3.5.7, 3.5.8
     INTERNAL..........................5.3.1 
     ONLINE............................8.1.5 
 
      \f

                                                                            
     OUTPUT............................6.3.5 
     PERM..............................4.8.2 
     SIZE..............................3.5.2 
     STATIONS..........................3.5.8 
     TAPES.............................3.5.5 
     TEMP..............................4.8.1 
     TIME..............................3.5.2 
OPTION-liste...........................3.5.1 
          Orientering............................3.6.5 
OUT....................................6.3.3 
OUTPUT.................................6.3.5 
Overvågning............................3.1, 5.5.2 
            
          Parameter..............................6.2.1 
     liste.............................6.2.1 
PARENT PROCESS.........................5.1.1.1 
Perforator.............................3.5.7 
          Perifer proces.........................5.1.2, 5.3.2 
          PERM...................................4.8.2 
          Permanent..............................4.3 
Politik................................5.5.5 
          Privat disc............................4.7 
          Proces.................................5, 5.1 
      areal.............................5.1.3, 5.3.3 
     beskrivelse.......................5 
     hierarki..........................5.1.1.1 
     håndtering........................5.1.4 
     intern............................5.1.1, 5.3.1 
               navn..............................5.1.1.1, 5.1.2, 5.1.3 
     perifer...........................5.1.2, 5.3.2 
PROCESS 
     ANCESTOR..........................5.1.1.1 
     CHILD.............................5.1.1.1 
     PARENT............................5.1.1.1 
PRIMOUT................................6.3, 6.3.5, 8.3.1.1 
PRIMÆR INPUT FILE......................6.3 
PRIMÆR OUTPUT FILE.....................6.3, 6.3.5, 8.3.1.1 
PRINT..................................10.2.3 
Printer................................8.3.2 
Privilegeret funktion..................3.1.1, 3.1.3, 4.2.2 
Programafvikling.......................6.1 
Projekt................................4.3 
 
 
 
      \f

           
RC NET.................................11.3 
Regnetid...............................3.5, 3.5.3 
RELEASE................................8.3.4.2 
RENAME 
     BOSS-kommando.....................4.4.2.2 
     hjælpeprogram.....................4.5.2.2, 9.2 
REPEAT.................................6.4.2, 8.2.3 
REPLACE................................8.3.1.2 
          Ressource..............................3.3, 3.5, 4.8, 5.3, 5.5.3 
     administration....................3.1.1 
     bestilling........................3.5.1, 3.6.3 
Restriktion............................3.6.8 
          Rettelseskommando......................3.4.2 
          ROUND ROBIN............................5.1.1.2 
RUNNING................................5.1.1.2 
 
s......................................5.1.1.1 
          SAVE 
               BOSS-kommando.....................3.4.4.3 
               hjælpeprogram.....................10.1.4 
SCOPE..................................4.2.1, 4.3 
               BOSS-kommando.....................4.4.2.1 
               bredde............................4.3 
      diagram...........................4.3 
     hjælpeprogram.....................4.5.2.1, 9.3 
     pulje.............................4.3 
Scratch tape...........................8.3.4 
SEARCH.................................9.5.2 
          Segment................................4.2.1 
SET....................................4.5.1, 9.1 
Sikkerhedskopiering....................10.1, 10.1.4, 10.1.5 
SIZE...................................3.6.5 
Skrivetilladelse.......................4.3 
SLICE..................................4.6, 4.6.1 
Standardværdi..........................3.1.1 
STATIONS...............................3.5.8 
Statusord..............................5.2 
Størrelse..............................4.6, 4.6.6 
System disc............................4.7 
 
TAIL 
     catalog entry.....................4.2.1 
TAPES..................................3.5.5
Temporær...............................4.3 
 
 \f

           
Tilstand 
     job...............................3.6.5 
     proces............................5.1.1.2 
Tilstandsvariabel......................6.1, 6.4.1 
TIME...................................3.5.2 
TRE....................................3.5.1.1 
TRF....................................3.5.1.1 
TRN....................................3.5.1.1 
          TRO....................................3.5.1.1 
 
Udskrivning 
     af JOBFIL.........................3.4.3 
               af katalogindgang.................4.4.4, 4.5.4, 9.5 
               af område.........................3.6.4, 8.3.2 
USER...................................4.3 
 
V......................................6.3 
          Venstreside............................6.2.1 
          VERIFY.................................3.4.3.1 
          Virtuelt lager.........................11.1 
 
          WAITING................................5.1.1.2 
          WARNING-bit............................6.4.1 
  
Ydre enhed.............................3.5.4 
 
Zone...................................6.3.3 
 
           
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 \f

           
           \f

«eof»