KOP(ID:7963/)

Online system for batching jobs 


Online system for KEYDATA (Charles Adams Assoc 1965) running on PDP-6


References:
  • Adams, Charles W. "A Report On The Implementation Of The KEYDATA System" view details Extract: Introduction
    The KEYDATA System utilizes a PDP-6 (with 48K core, a million-word, 33-million-character disc file, and a full-duplex Type 630 Interface) as the control facility for on-line, real-time data processing services offered to business and engineering users through KEYDATA Stations (teletypewriters) located on their premises. Both packaged services, such as the preparation of invoices and the entry and correction of FORTRAN programs and data, operate through the KOP-3 executive routine. To prepare invoices, for example, the operator keys the quantity and stock number and the computer provides the description, prices, extensions, etc. on an invoice form in the users' teletypewriter as well as inventory control and credit checking on line, and related statistical and accounting reports off line. In the KOP-3 system, the drum serves as the primary storage for all data and programs (except KOP-3), and also acts as the file directory, output buffer, and repository for the most active file records. Working storage is provided through automatic allocation of core memory in 32-word pages.
    KOP-3 is a collection of programs written for the PDP-6 computer, which comprises the central facility of the KEYDATA system. The name is an acronym for KEYDATA On-Line Processor, the number indicating that it is third in a series, KOP-1 and KOP-2 having been developed and implemented on a PDP-4 computer in 1963. KOP-3 serves as the executive routine, monitor, and scheduler, and also provides an interpretive processor in the foreground and batch portions of the KEYDATA system. The overall system divides into three essentially independent parts:
    Foreground, in which messages received from KDS keyboards (or other data sources) are processed, usually with reference to one or more data files, resulting in the updating of control totals and file records as appropriate and in the generation of output messages which are transmitted to KDS printers (or other output media) and journal items which are recorded on magnetic tape for later processing in batch mode.
    Background, in which the central processor is made available (whenever it is free from its primary responsibilities to the foreground mode) for use in any of a variety of computation tasks, such as FORTRAN compilation or engineering computation, on a time-sharing basis in which a moderate number of users are scheduled onto the system for periods ranging from a small fraction of a second to a few seconds at a time according to an established scheduling algorithm.
    Batch, in which during runs made as the system is taken out of service at night and as it is put back in service in the morning, the random access files are tidied up and recorded on tape for safekeeping, the day's activity records (journal items) are sorted into proper sequence, and sequential files on magnetic tapes are updated and periodic status and activity reports required by users are produced.
    Extract: KOP Language
    KOP Language
    The processing procedures are described in a programming language known as "KOP language" KOP language is designed both to facilitate the description of the procedures likely to be required in KEYDATA message processing and to make the description of these procedures as concise as possible, thereby minimizing the requirement for storage and for machine time used in interpretation.
    KOP language is to some degree a problem-oriented language, yet it retains many of the characteristics of a machine language. Aside from the fact that the arithmetic operations in KOP language are performed on 36-bit binary operands, it bears no resemblance and has little relation to the logical design and instruction repertoire of the PDP-6 computer on which it is implemented - it could equally well be implemented on virtually any computer, though some minor redesign would perhaps be desirable if a different word length were involved.
    KOP language differs from conventional program language in three important ways:
    1 . It is a pure procedural language in which instructions may not modify themselves (with many users being processed by the same programs, out of phase with one another; this is of course mandatory).
    2. It deals with nonhomogeneous storage areas, that is with words and fields of a variety of lengths, structures, and longevity.
    3. It incorporates several macro-operations which permit performance of a variety of functions in relatively few instructions. To distinguish programs written in KOP language from conventional programs, they are frequently referred to as "logic tables."
    Programs written in KOP language are executed interpretively by the KOP-3 system. In other words, the logic tables are stored in the computer in their original format as 24-bit words and are translated into the appropriate sequence of PDP-6 instructions each time they are executed, rather than being translated once and for all as would be the case if KOP-3 processing were accomplished by a compiler instead of an interpreter.
    The principal reason for interpreting rather than compiling logic tables is to save storage capacity at the expense of machine time. Secondly, the need for relocation and protection of dynamically a1 located storage, both core and file, makes the use of interpretive rather than compiling techniques relatively more attractive and less wasteful of machine time than would be the case if dynamic allocation were not required.
    While as many as several hundred different KEYDATA Stations may be sending messages into and receiving messages from the central facility at the same time, the processing of messages within the system is done one at a time, with the KOP-3 system keeping track of what information belongs to what user and guaranteeing that each message for each KEYDATA Station is processed using the procedures and data appropriate to that particular station.
    Thus, when a programmer sets out to write a logic table to define a particular procedure, he need not concern himself with the fact that many messages are being processed from many stations concurrently. He may, with absolute impunity, limit his thinking to dealing with the messages expected to be received from a single KEYDATA Station, one at a time, with no regard whatever to the time-shared environment in which the procedure he describes will be executed by the KOP-3 system.
          in DECUS Spring Conference 1965 view details
  • Adams, Charles W. "Responsive Time-Shared Computing in Business" view details
          in Orr, William (ed) "Conversational Computing", 1968 view details
  • Clapp, Lewis "Time-Sharing System Scorecard" Computer Research Corporation 1967 view details
          in Orr, William (ed) "Conversational Computing", 1968 view details