Guide to Realtime Programming Feb94

Order Number: AA-PS33B-TE

This document, titled "DEC OSF/1 Guide to Realtime Programming" (February 1994, Part Number AA-PS338-TE), is a technical manual for experienced application programmers familiar with C and UNIX. Its primary purpose is to guide users on how to write and port realtime applications that leverage POSIX 1003.4 Draft 11 (P1003.4/D11) functions on DEC OSF/1 Version 2.0 or higher systems.

The guide elaborates on the core features and capabilities of the DEC OSF/1 realtime kernel designed to ensure timeliness and predictability in application execution. Key topics covered include:

  • Realtime Overview: Defines realtime applications (hard vs. soft), emphasizing predictability, worst-case timing, and requirements for high I/O throughput and fast asynchronous event response.
  • System Capabilities: Details essential features like a preemptive kernel (reducing latency), fixed-priority scheduling policies (First-In First-Out and Round-Robin), realtime clocks and timers, memory locking (preventing paging), asynchronous I/O, reliable signals, and various interprocess communication facilities.
  • Process Scheduling and Priorities: Explains process states, the scheduler's role, different scheduling interfaces (nice vs. realtime), and policies (timesharing, FIFO, Round-Robin), along with functions to determine and set process priorities and scheduling policies.
  • Interprocess Communication (IPC) & Synchronization: Describes mechanisms such as:

    • Shared Memory: For fast data exchange by mapping memory objects directly into process address space.
    • Signals: For asynchronous event notification and interprocess communication.
    • Binary Semaphores: For interprocess synchronization and controlling access to shared resources, including how to handle priority inversion.
    • Messages: Using System V message queues for structured interprocess communication and prioritization.
    • Pipes: Regular and named pipes for data flow between related or unrelated processes.
  • Memory Locking: Functions to lock specific regions or the entire process address space into physical memory to eliminate paging and improve latency.

  • Clocks and Timers: How to use high-resolution system-wide clocks and per-process timers for scheduling events (one-shot or periodic) and managing clock drift.
  • Asynchronous Input/Output (AIO): Functions for non-blocking I/O operations, allowing applications to continue processing while I/O requests are handled in the background.

Additionally, the document provides practical guidance on installing the realtime kernel, defining the POSIX environment, compiling realtime applications, and summarizes the differences between POSIX 1003.4 Draft 10 and Draft 11, along with a functional summary of relevant DEC OSF/1 realtime commands and functions.

AA-PS33B-TE
February 1994
197 pages
Quality

Original
7.4MB

Site structure and layout ©2025 Majenko Technologies