Ada-Based Multitasking Terminal I/O

Abstract

This report describes ANSI Terminal Services, a reusable Ada-based layered approach to providing protected asynchronous terminal I/O in a multitasking environment. The traditional single-threaded, sequential programming model is inadequate for Ada multitask programs, particularly for real-time applications. An application is likely to contain several tasks needing to perform output concurrently. Any shared resources contained in the I/O software must, therefore, be protected through some form of mutual exclusion. Also, an application will likely need to support input operations concurrently with outputs. This requirement is especially important since Ada implementations on most current operating systems are process synchronous, rather than task synchronous/process asynchronous. As a result, they cause the entire user process to block on an input request. Thus, other program tasks that may be performing critical functions are suspended until user input is complete. Such a result is clearly inappropriate in a real-time environment. ANSI Terminal Services solves these problems and provides both a standard programmer interface and the necessary multitasking concurrency control.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 01, 1992
Accession Number
ADA255656

Entities

People

  • John C. Chalkley
  • Michael W. Masters

Organizations

  • Naval Surface Warfare Center

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Application Software
  • Compilers
  • Computer Program Documentation
  • Computer Programming
  • Computer Programs
  • Computers
  • Corporations
  • Detection
  • Engineering
  • High Level Languages
  • Language
  • Operating Systems
  • Procedures (Computers)
  • Software Development
  • Specifications
  • Standards
  • Time Intervals

Fields of Study

  • Computer science

Readers

  • Computer Science.
  • Parallel and Distributed Computing.
  • Software Engineering.