Início Produtos Representadas Notícias Informações Exposições Mapa do Site

PowerMAX OS - UNIX-based OS


Concurrent's PowerMAX OS is an industry standard, real-time, UNIX-based operating system for PowerPC computers. PowerMAX OS is based on the System V Release 4 standard.

PowerMAX OS features high I/O throughput, fast response to external events and efficient interprocess communication. PowerMAX OS supports the real-time interfaces defined in the IEEE POSIX standard 1003.1b- and .1c and is designed for maximum real-time performance and functionality. The kernel is multithreaded, preemptive and supports symmetric multiprocessing with load balancing and CPU biasing to maximize the determinism and real-time performance of the user's application.

PowerMAX OS meets the demanding and often complicated needs of a wide range of applications. By incorporating a rich collection of utilities, software development tools and real-time extensions, Concurrent offers the best real-time UNIX operating system available. Designed for both real-time production and development environments, PowerMAX OS is ideal for use in many industry applications which demand high I/O throughput along with fast and deterministic response times

• Real-Time UNIX-based operating system supporting the following PowerPC platforms:
• Concurrent Power Hawk
• Concurrent PowerMAXION
• Concurrent TurboHawk
• Synergy Microsystems and Motorola PowerPC single-board computers
• Industry-standard System V Release 4.2ESMP with BSD 4.3 features
• Open Systems Standards:
• POSIX 1003.1, 1003.1b and 1003.1c
• SVID Release 3 (SVVS 4)
• XPG4
• Preemptive, multithreaded reentrant kernel
• Tightly-coupled symmetric multiprocessing support
• Less than 8 microsecond interrupt response time
• Minimal process dispatch latencies
• Dynamic and static load balancing
• CPU shielding for maximizing deterministic performance
• Network Information System (NIS) support
• Single-vendor support for operating system, compilers and software development tools
Open Systems and Standards
Compliance with the System V Interface Definition (SVID), XPG4, POSIX 1003.1 and POSIX 1003.1b and 1c standards ensures easy porting of standards-compliant application software. Concurrent is committed to future operating system standards as they become available. The Concurrent suite of compilers, which includes C/C++, Ada95 and FORTRAN, complies with applicable ANSI, federal and industry standards.

On multiprocessor systems, PowerMAX OS provides a symmetric environment in which all processors share a single copy of the operating system. Programs can initiate I/O and access all system services from any processor. There are no master/slave bottlenecks. Architectural features such as local memory, dedicated caches, dual buses and high-speed interprocessor interrupts are provided to reduce or eliminate the resource contention that degrades the performance of other multiprocessor implementations.

Complete Software Environment from a Single Vendor
In addition to PowerMAX OS, users can obtain a complete software development environment directly from Concurrent including a common suite of high-performance compilers, the NightStar real-time software development tool set and NightGraphics.

Compatible Upgrade Path to Multiprocessor Systems
Concurrent PowerPC platforms are based upon open systems industry standards and incorporate VME I/O subsystems and SCSI peripherals. One of the key features of the PowerMAX OS software environment is that users can take advantage of off-the-shelf VME technology while retaining compatibility with Concurrent high-performance multiprocessor systems. If an application requires a mix of multiprocessor and single processor systems -- or an application grows beyond a single processor -- users can move to a multiprocessor while retaining software and VME I/O compatibility.

Concurrent multiprocessor systems incorporate several unique architectural features to ensure that maximum real-time responsiveness, determinism and performance are achieved. Systems can accommodate up to twenty processors in a scalable design that allows users to add processors and memory to their system without having to modify application software. PowerMAX OS is designed to make optimum use of multiprocessor real-time features such as three-tiered memory and integrated real-time clock support. These features make Concurrent multiprocessors the ideal solutions for high-end real-time applications.

Multithreading and Preemption
A multithreaded 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 the integrity of the system. With this implementation, processes contend with each other only when requesting an identical resource. Otherwise, all kernel features and capabilities are available to all processes. This feature supports true linear performance in a multiprocessor system.

A significant benefit of a multithreaded kernel is that a process executing in the kernel can be forced to relinquish a CPU involuntarily - that is, to be preempted. The kernel can transfer control of the CPU from a lower-priority process to a higher-priority process. This allows a high priority process waiting for an external event to respond immediately when the event occurs - even if the CPU is currently in use.

The degree of multithreading and the length of critical sections of code is key to minimizing worst-case response times and reducing interrupt latency. The fine-grain multithreading implementation of the PowerMAX OS kernel ensures that critical sections are extremely short. When using the user-level interrupt facility, the interrupt response time from an external interrupt to a user-level application is less than eight microseconds.

Process Dispatch Latency
Process dispatch latency is the time from the occurrence of an external interrupt until the process awaiting that interrupt is able to run. Dispatch latency includes the time spent in recognizing an external interrupt, executing the interrupt handler, waking the process that is waiting for the interrupt, performing a context switch to that process, and for the process to exit the kernel where it can begin executing application code. Such features as distributed interrupts, rapid context switches, an efficient preemption mechanism and low interrupt latencies combine to provide for typical context switch times of less than 25 microsecond.

Load Balancing and CPU Biasing
Load balancing is the process that PowerMAX OS uses to distribute workload effectively across multiple processors. A separate run queue for each processor provides faster context switch times. The load-balancing algorithms also avoid time-consuming migrations from one local memory to another. Processes migrate among allowable processors as specified by a bit mask, or CPU bias, to balance the system load and provide maximum response and performance. The kernel is free to select a process to execute on any processor that is specified in its bit mask; it will select the processor that has the least load.

Users can employ CPU biasing to achieve deterministic performance and response times. CPUs can be reserved for time-critical tasks by setting the CPU bias of a process appropriately. A user may force a process to run on a particular CPU or a restricted set of CPUs while preventing other tasks from running there. In this way, the resources of those CPUs are available only to those processes designated by the user - the operating system will not migrate other processes to those CPUs. Users may use CPU biasing to perform a completely static allocation of CPU resources if desired.

Exclusive Processor Binding
PowerMAX OS users have the ability to exclusively bind processes to processors. When this binding occurs, a processor is not permitted to run any process that is not exclusively assigned to it. The facility is dynamic. A processor becomes an exclusive-use processor once it acquires its first exclusively-bound process, and reverts back to being a general use processor, available to all processes, when the last process exclusively bound to it exits or disassociates itself.

In addition to the standard communications components of the UNIX operating system (e.g., uucp, ftp), a full range of networking and other capabilities are available. These include FDDI, Ethernet, TCP/IP, NFS and the X Window System with OSF/Motif. PowerMAX OS supports multiple interfaces and networks simultaneously. Concurrent also offers a wide range of integrated VME interfaces for connecting with industry-standard buses and vendor-specific devices and systems.

Static Priority Scheduling
A configurable range of static real-time priorities is provided. The kernel can be configured with as many priorities as required for an application. Within the static priority range, PowerMAX OS implements priority scheduling strictly as specified by the user and does not alter priorities based on traditional UNIX scheduling considerations. This feature is essential for real-time applications where the user needs to define the priority requirements.

Shared Data and Synchronization
In real-time applications, cooperating processes need to share information. Access to shared information must be synchronized. Access to shared data is provided through shared memory system services or the POSIX memory mapping services. A shared memory definition utility is also provided for ease-of-use and control. Users build a shared memory definition file and use it as input to the utility. Thus, users can control the layout of the shared memory region from a single point of control - the input file.

A set of library routines and system calls allows user applications to solve problems associated with sharing data among cooperating processes. These software primitives provide mechanisms for mutual exclusion and condition synchronization among processes, thereby allowing shared data or sections of code to be easily protected. The synchronization primitives support priority inheritance to prevent unbounded priority inversions from delaying the progress of high-priority processes. The synchronization primitives provided by PowerMAX OS avoid kernel intervention whenever possible and are therefore highly efficient, executing in only a few microseconds when there is no contention.

Physical Address Mapping
Shared memory regions may be bound to specific physical addresses including VME I/O address ranges. With this feature, user programs can directly control I/O cards or set up buffers at fixed addresses for I/O devices to use. With judicious programming of I/O cards, this feature may be used to save set-up times for repetitive data transfers in real-time systems.

User Interrupt Routines
Whether for simplicity or increased performance, in some real-time applications it is useful to have user-written software respond directly to a hardware interrupt. This allows users to write interrupt routines without the need to modify the operating system; a routine in a user program is simply connected to a physical interrupt. When the interrupt occurs, the routine is executed within the context of the user's address space at interrupt level. Users can also write programs or libraries that serve as user-level device drivers by using this feature in conjunction with physical address mapping. User-level device drivers provide a very efficient means for performing I/O to simple devices.

Memory Locking
The pages of frequently-executed tasks may be made memory resident so they are ready to execute without demand paging. This feature improves predictability for real-time applications and increases system throughput by reducing overhead in transaction-intensive applications and applications with many concurrently running tasks.

Asynchronous I/O
Asynchronous I/O allows a user process to perform other useful work while an I/O operation is in progress. I/O completion notifications can be selected on a per-process basis. Asynchronous I/O can be performed to any device or disk file supported by PowerMAX OS.

High Resolution Clocks and Timers
Time-of-day clocks and interrupting timers are available with microsecond resolution. The POSIX-compatible interval timer can be mapped directly into a program's address space for quick access.

Threads provide a more efficient means of developing applications that require shared access to resources. In a traditional UNIX system, the scheduled entity is a process. A process is highly independent with kernel enforced protection on its resources. Full sharing between processes is difficult.

PowerMAX OS supports parallelism and sharing of memory within a process. These extensions have typically been called "threads of control" or "threads." The fundamental scheduled entity in PowerMAX OS is a Light-Weight Process (LWP).

A process may have multiple LWPs, each having full access to process resources. Some of the attributes of a process are unique to each LWP, such as the register values, the stack, scheduling data and signal handling. Other process attributes are shared by all LWPs in the process, such as open files, access rights, resource limits and the process identification.

A threads library provides the interfaces used to manage and synchronize multiple threads of control in a single process. The threads library schedules a thread to run on a particular LWP. The number of user-level threads in a process is independent from the number of LWPs in a process. Threads can be multiplexed to run on a set of LWPs or a thread can be bound to a particular LWP.

Virtual Interrupt System (VIS)
The PowerMAX OS virtual interrupt system permits cooperating processes to establish channels to which they can connect to send and receive signals. These signals can be used to notify processes of specific events, and do not require the permissions that standard signals demand.

Direct Disk I/O
To ensure data integrity and reduce the chance of data corruption in the event of a system failure, a raw asynchronous I/O feature allows programs to bypass the kernel's buffer cache and write user data buffer directly to disk. Using this technique, updates can occur immediately rather than waiting for a periodic disk update from the buffer cache. Direct Disk I/O is the most efficient means of performing large sequential disk transfers.

Resilient File System
In addition to an industry-standard UNIX file system, PowerMAX OS includes Resilient File System software. The Resilient File System improves file access performance for large files while continuously guaranteeing the integrity of the data. All file operations are unified and atomic so that either all or none of an operation is applied. In addition, Resilient File System can access very large files with no indirection. Disk space is allocated contiguously thus reducing head movements and seek times and improving overall performance. Because the integrity of the file system is ensured, the Resilient File System significantly reduces system recovery time in the event of a system failure.

copyright | bl.representações -