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.
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