Browse Prior Art Database

An Implementation of Task-Synchronous Input/Output for Ada

IP.com Disclosure Number: IPCOM000103163D
Original Publication Date: 1990-Jul-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 1 page(s) / 48K

Publishing Venue

IBM

Related People

OC Systems, Inc.: AUTHOR

Abstract

This article describes a method for permitting an Ada program to perform input/output operations in parallel with other program operations using only the standard Ada input/output packages specifying a synchronous (blocking) interface.

This text was extracted from an ASCII text file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 78% of the total text.

An Implementation of Task-Synchronous Input/Output for

Ada

      This article describes a method for permitting an Ada program
to perform input/output operations in parallel with other program
operations using only the standard Ada input/output packages
specifying a synchronous (blocking) interface.

      This method is an implementation of the standard Ada input/
output packages, TEXT_IO, SEQUENTIAL_IO, and DIRECT_IO, wherein only
the single, requesting task must wait for input/output completion.
The remainder of the Ada program can perform other program functions,
including other input/output operations, while the input/output
operation is ongoing.  This permits a single Ada program to utilize
the full capabilities of the hardware; the I/O hardware is executing
in parallel with the CPU.

      Each input/output operation is performed on a file object.  An
Ada task, the device monitor task, is associated with each file
object (and thereby each input/output device) and is responsible for
the opening, creating, closing, and deleting of a file object for an
input/output device.  When a file object is opened or created, the
device monitor task creates a file operations task which will then
handle all read and write operations to the file.  The file
operations task is declared as part of the Ada file type.  The Ada
task requesting an input/output operation performs a rendezvous with
the device monitor task or the file operations task to start an
input/output. ...