Multiple-task real-time PDP-15 operating system for data acquisition and analysis Page: 3 of 4
This article is part of the collection entitled: Office of Scientific & Technical Information Technical Reports and was provided to UNT Digital Library by the UNT Libraries Government Documents Department.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
nut zero, it is the address of the parameter save
block belonginq to the currently active request.
if queuing is rLquired, the address of the new para-
meter block is inserted in the linkage word of the
active block (or the last block in a queue) and the
task is left in a waiting state.
When an active 10 task is completed, the interrupt
portion of the handler examines the linkage pointer
to determine if another request has been made; if
there is a request pending, it is made current and
the device is re-activated before returning control
to the (ready) task.
Bulk Storage JO
Because all of the operations in the system are
fairly well defined, it is appropriate to restrict
bulk-storage 10 to dump-mode transfers. This
restriction permits the handlers to be small, fast
and very simple. Where directory-oriented TO is
necessary, as in the 'FOCAL' program library, the
batch control text library, and certain data
libraries, the appropriate application program must
perform the required directory operations.
Common "Byte-l0" Handler
Because our application utilizes several devices
such as teletypewriters, terminals, serial data
lines, and paper tape reader and punch, which are
functionally very similar, a common character-
handling 10 routine is used. The various devices
are interfaced to the POP-15 in several ways: the
the console teletype and the paper punch through the
program interrupt, the LT-15 and tho paper tape
reader through API, and special data interfaces,
telephones, and the line printer through a (special
design) digital data multiplexer. Some devices may
therefore require a few words of unique code to be
compatible with the major routine, and a hardware
modification is needed to change the paper tape
reader API level to the same as that used by the
other devices.
All devices have separate input and output line
buffers and individual control tables. The tables
contain the buffer origins and limiting addresses,
the input and output instructions which are normally
JOTs, busy flags, and indicators for echo, code-
conversion, carriage-return delay, multiplexer
channel indicators where appropriate, and pointers
to the 'CAL' control block acquired for the function.There are two specific advantages to this handler
structure: several devices are supported by a
routine that is only a little larger, except for
table and buffer areas, than that required for a
single device, and implementation of additional
devices requires very little programming effort.
interface a new device into the routine, one need
only allocate 10 buffer space, set up a control
table, and add a two-word prologue to the 'CAL'
routine and to the interrupt routine.To
Functions that are supported include octal, decimal,
character and ascii (sixbit) input and output, code
control (for reading BCD paper tapes), and waiting
for a line or a character on input. A cooperative
function between the common character handler and
the disk handler allows use of a portion of the RSO9
disk as an input terminal to implement a batch
operating mode in the system.Memory Management and Program Relocation
The monitor includes rudimentary memory manage,'nt
operations accessed by a 'CAL' instruction. The
memory handler functions allow programs to request
and release 4096-word memory pbges and to modify
(relocate) 15-bit address constants to correspond to
the appropriate program page.
The memory request/release functions are implemented
by using a one-word variable that has a bit set for
each unused page; the request function locates the
lowest available page, clears the appropriate bit in
the flag word, and returns the page address to the
requester. When a page is to be released, the pro-
gram must indicate the page number as an operation
parameter.
The request/release operations are used primarily by
the command interpreter when a disk-resident program
must be loaded into core memory for execution. They
may also be used by resident data acquisition tasks
to reserve data space and by utility modules to
establish special purpose 10 buffers.
The relocation function is used when a disk-resident
program is read to a memory page for execution. All
executable overlay modules are required to be less
than 4096 words, to be assembled to run in page
(index) mode, and to have their origins on page
boundaries; each must include as part of the coding,j
a contiguous list of the addresses of all address
constants in the module. The relocation function
operates through the address list to modify the
indicated address constants to have values within
the page assigned to the module.
This page-relocation technique provides an excellent
compromise between the extremes of using a relocating
loader for each execution of a non-resident task and
the necessity to assign specific memory partitions to
dump-mode program modules.
Reentrant Floating Arithmetic Software2
In order to conserve space in the program overlay
areas and still provide a complete floating-mode
arithmetic capability, a reentrant arithmetic soft-
ware package is included in the resident monitor.
The package implements 35 instructions including
five immediate operand instructions, seven common
functions, three-way compare and branch, inverse
divide, and three 10 instructions. Four operand
formats are available: 18-bit (positive) data, 18-
bit (signed) integers, and two- and three-word
floating point formats. The package is interpretive
and floating mode coding follows the PDP-15 page-
mode addressing conventions. Operand mode may be
changed in the course of a computation by one of the
"operate-class" instructions allowing mixed mode
arithmetic.
Input and output are handled through a "floating
accumulator" utilizing user-written character
handling routines. The input interpreter is free-
format, allowing input of integer, floating, or
fixed-point numbers. The output controller trans-
mits formatted ASCII character strings to the user
output routine. The output format may be integer,
fixed-point or floating-point. The six common
functions and four operations on synetric matrices
are also included in the reentrant operations.
Upcoming Pages
Here’s what’s next.
Search Inside
This article can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Article.
Myers, W.R. Multiple-task real-time PDP-15 operating system for data acquisition and analysis, article, January 1, 1974; United States. (https://digital.library.unt.edu/ark:/67531/metadc872253/m1/3/: accessed April 19, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT Libraries Government Documents Department.