RedHawk?Linux?Real-Time Software Environment
(DOWNLOAD PDF DATASHEET)
Overview
Concurrent Computer Corporation's RedHawk Linux?is an industry-standard, real-time version of the open source Linux operating system for Concurrent iHawk Intel/AMD based multiprocessing systems. RedHawk Linux provides the guaranteed performance needed in time-critical and hard real-time environments. RedHawk is the ideal Linux solution for a broad range of deterministic applications such as modeling, simulation, data acquisition, industrial control and medical imaging systems. RedHawk guarantees that a user-level application can respond to an external event in less than 30 microseconds on a shielded processor.
RedHawk Linux supports all the features of Red Hat Enterprise Linux. The user-level commands, utilities and systems administration are compatible with standard Red Hat. RedHawk achieves superior real-time performance by providing an improved Linux kernel that includes key open source patches and kernel enhancements developed by Concurrent. RedHawk user libraries provide access to the value-add features that are not part of other Linux offerings. RedHawk is fully compatible with standard Linux user-level APIs, thus Linux applications written for other Linux distributions will run on RedHawk without modification.
Complete Development Environment
RedHawk Linux offers a full set of tools for efficient development of time-critical applications. In addition to the GNU C, C++, and Fortran compilers, Concurrent's MAXAda 95 language environment is optionally available. RedHawk also supports Concurrent's powerful application development tool set ?the NightView source-level debugger, the NightTrace run-time analyzer, the NightSim periodic scheduler, the NightProbe data monitor and the NightTune system and application tuner. These tools provide a robust graphic interface for nonintrusive control, monitoring, analysis, and debugging of multi-threaded and/or multiprocessor applications.
Single Kernel Environment
RedHawk is a standard Linux designed to fully support time-critical applications. RedHawk provides a true single-kernel programming environment that directly controls all system operation. Complex time-critical applications often require that high-speed file I/O, networking and graphics be performed deterministically together with real-time task scheduling. Only RedHawk's single-kernel design ensures determinism and high-speed performance of all these features.
Scalable SMP and Processor Shielding
In tightly-coupled symmetric multiprocessing systems such as Concurrent's iHawk systems, RedHawk Linux allows individual CPUs to be shielded from interrupt processing, daemons, bottom halves, and other Linux tasks. Processor shielding provides a highly deterministic execution environment where interrupt response is guaranteed.
Multithreading and Preemption
The RedHawk Linux kernel allows multiple processes to execute in the kernel simultaneously. The kernel protects key data structures and critical sections of code with semaphores and spin locks to preserve system integrity.
Processes executing in the RedHawk kernel can be preempted, i.e. forced to relinquish a CPU involuntarily. The RedHawk kernel can transfer control from a lower-priority process to a higher-priority process except when the lower priority process is executing in a critical kernel section. To provide deterministic response, many critical sections of the kernel have been tuned and optimized to dramatically shorten non-preemptable conditions. These changes are key to allowing a high-priority process to respond immediately to an external event, even when the CPU is currently in use.
Semaphores internal to RedHawk Linux also support priority inheritance to prevent priority inversion when multiple threads of an application are competing for operating system resources.
Frequency-Based Scheduler
RedHawk's Frequency-Based Scheduler (FBS) is a high-resolution task scheduler that enables the user to run processes in cyclical execution patterns. FBS controls the periodic execution of multiple, coordinated processes utilizing major and minor cycles with overrun detection. A performance monitor is also provided to view CPU utilization during each scheduled execution frame.
Real-Time Clock & Interrupt Module
RedHawk Linux supports Concurrent's Real-Time Clock & Interrupt Module (RCIM), a multifunction PCI card designed for time-critical applications that require rapid response to external events. Eight programmable timers and twelve input and output external interrupt lines are available. Any interrupt source can be distributed to other iHawks for synchronizing multi-system applications. The RCIM also includes a high-resolution synchronized clock to provide a common time base across multiple systems. A GPS option allows system time to be synchronized with GPS standard time. High-stability crystal oscillator options provide for accurate time keeping without an external time source.
Application Development Tools
RedHawk Linux supports Concurrent's powerful set of NightStar GUI development tools. Users can schedule, monitor, debug, and analyze their time-critical applications locally on their iHawk system or remotely from a PC or laptop. Each tool runs on the iHawk target system non-intrusively, thus preserving the determinism of the application and allowing the debugging of time-sensitive problems. NightStar tools enable application designers to reduce software development time and maximize productivity when developing RedHawk Linux solutions.
NightView Source-level Debugger
NightView allows users to simultaneously debug multiple threads in one or more processes. NightView provides the ability to change program executables and modify or display data without stopping or interrupting the program. Breakpoints, watchpoints and data monitorpoints are automatically patched into the application and execute at full application speed without affecting time-critical application performance. NightView includes an interactive memory debugger that helps find and eliminate memory allocation problems without code recompilation.
NightTrace Event Analyzer
NightTrace is a graphical tool for analyzing the dynamic behavior of applications. NightTrace can log events from multiple processes executing simultaneously on multiple CPUs. NightTrace combines user-defined application events with RedHawk Linux events to present a synchronized view of an entire system. NightTrace can also utilize the RCIM's synchronized clock to present a synchronized view of activity on multiple iHawk systems. Traceable RedHawk Linux events include individual system calls, context switches, machine exceptions, page faults, and interrupts. NightTrace allows users to zoom, search, filter, summarize, and analyze events in a wide variety of ways. Tracing can be performed post-execution or in real-time.
NightSim Scheduler
NightSim is a tool for building and monitoring time-critical applications that require predictable, cyclic process execution. Ideal for simulation applications, NightSim provides a graphical interface to the RedHawk Linux frequency-based scheduler. NightSim allows developers to control and dynamically adjust the execution of multiple coordinated processes, their priorities, and CPU assignments. With NightSim, users can monitor the performance of their periodic applications by displaying period execution times, minimums, and maximums, and can take action when frame overruns occur.
NightProbe Data Monitor
NightProbe is a tool for monitoring, altering, and recording data values within multiple executing programs or threads. NightProbe shares the virtual memory of the monitored program so that there is no impact on execution speed. NightProbe can be used in a development environment as a tool for debugging, analysis, prototyping, and fault injection, or in a production environment to create a GUI control panel for program input and output.
NightTune System and Application Tuner
NightTune provides a GUI to system facilities for monitoring and tuning application and system performance. Users can monitor the priority, scheduling policy, CPU assignment and CPU usage of user applications. NightTune also monitors system CPU usage, context switches, interrupts, memory paging and network activity.
Features
Real-time Linux?operating system for Concurrent iHawk?Intel?and AMD based multiprocessors
Industry Standards
Linux Standard Base (LSB)
POSIX 1003.1
POSIX 1003.1b
- Semaphores
- Signals
- Shared memory
- Message queues
- Memory locking
- Asynchronous I/O
- Synchronous I/O
- Execution scheduling
- High-resolution clocks and timers
Real-Time Deterministic Performance
- Preemptive, multithreaded, reentrant kernel
- Low-latency enhancements
- Priority inheritance
- Symmetric multiprocessing (SMP)
- User-level preemption control
- Post/Wait services
- Minimal dispatch latencies
- Guaranteed interrupt response time
- CPU shielding
- Per CPU Hyper-threading control
- Dynamic and static load balancing
- Frequency-based scheduling
- Non-intrusive real-time development tools
Single-vendor Support for All Linux Needs
- Software maintenance services
- Custom I/O drivers
- Application rehosting
- Consulting services