Ada-Based Multitasking Terminal I/O
NAVAL SURFACE WARFARE CENTER DAHLGREN VA
Pagination or Media Count:
This report describes ANSI Terminal Services, a reusable Ada-based layered approach to providing protected asynchronous terminal IO 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 IO 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 synchronousprocess 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.
- Computer Programming and Software
- Computer Hardware