Está en la página 1de 6

QNX Neutrino RTOS FAQs

General Questions Questions for Existing QNX Users

General Questions > Could you briefly describe the QNX Neutrino RTOS? QNX Neutrino is a microkernel operating system that makes fault-resilient, field-upgradable systems much easier to design and implement. QNX Neutrino also offers unprecedented scalability: Developers can build their applications once, then distribute them on a single processor, across a massive cluster of processors, or on an SMP system - all without special coding. QNX Neutrino represents the latest generation of QNX OS technology, and is the product of more than 20 years' experience in the embedded market. > What kinds of applications can I build with QNX Neutrino? QNX Neutrino is at home in a wide range of embedded systems, but it's especially suited to applications that require extreme levels of reliability and serviceability. With QNX Neutrino, your system can run nonstop, even while being upgraded with new drivers or protocol stacks. Moreover, QNX Neutrino lets you build self-healing systems that can recover intelligently from virtually any software fault - without any need for rebooting or redundant hardware. Because of its robust architecture, QNX OS technology is at work in thousands of missioncritical applications, including 911 systems, medical instruments, high-end routers, process control systems, and in-car telematics solutions. It's even used in the space shuttle. Nonetheless, QNX Neutrino isn't just for systems where lives hang in the balance. The same qualities that make QNX Neutrino shine in mission-critical applications can make any embedded system more reliable, more predictable, and far simpler to develop. > How does QNX Neutrino achieve such a high degree of reliability and serviceability? It all comes down to architecture. QNX Neutrino offers a true microkernel architecture that allows every driver, application, protocol stack, GUI service, and file system to run in the safety of its own memory-protected address space. As a result, virtually any component can fail - and be automatically restarted without affecting other applications or the OS kernel. No other commercial OS provides such protection. In QNX Neutrino, the OS kernel delivers only essential services, such as thread scheduling, IPC, and synchronization. All other OS services, drivers, and applications run as separate processes that communicate with the kernel via synchronous message passing. This message passing forms a virtual "software bus" that lets you dynamically plug in or plug out whatever services are required. Consequently, almost any module, even a device driver, can be replaced or restarted on the fly. In most OSs, this would, at the very least, require a system reset.

QNX message passing forms a virtual software bus that lets you dynamically plug in (or out) whatever services your system requires. > You mentioned that QNX Neutrino makes it easy to distribute applications across a cluster of processors. How does that work? Networking is integrated into the heart of QNX message-passing primitives, making local and remote interprocess communication (IPC) one and the same. As a result, processes running on a single CPU will continue to communicate with each other even if they are subsequently distributed among multiple CPUs. It's the same code and binaries either way. Because of this inherent distributed processing, QNX Neutrino offers a number of benefits, including: Transparent access to remote resources: An application running on one node can transparently access any other node's resources - including disks, modems, Internet connections, and databases - as if those resources were running on the local CPU. No network code is required.

Very thin clients: Qnet can significantly reduce hardware costs, since it allows even tiny, memoryconstrained devices to access virtually any resource on the network.

Fault-tolerant networking: Qnet inherently supports multiple links between CPUs. If one link fails, Qnet will automatically re-route data over the remaining links, without loss of service. Qnet can also load-balance network traffic over all available links, resulting in significantly

higher throughput. Again, no special coding is required.

Support for various transports: Since Qnet operates above the transport layer, it works equally well across LANs, backplanes, proprietary switch fabrics, vehicle buses like CAN or MOST, and even the Internet.

With Qnet, messages flow freely across processor boundaries, allowing an application on any node to transparently access resources on any other node. > Can you tell me about QNX Neutrino's SMP support? The QNX Neutrino RTOS provides true symmetric multiprocessing : Any thread, system or user, can be scheduled on any available processor on an SMP board. In fact, with QNX Neutrino, you don't have to hardcode SMP awareness into your applications and drivers. If an application is multithreaded, the kernel can transparently schedule those threads onto the SMP board's multiple CPUs. (Of course, the application should be designed with enough parallelism to keep the multiple CPUs busy!) By combining these SMP capabilities with the transparent networking (Qnet) provided by QNX Neutrino, you can easily construct large, fault-tolerant clusters that comprise both uniprocessor and SMP systems:

With QNX Neutrino, field-tested binaries can migrate from a uniprocessor device to an SMP system, or be transparently distributed across a cluster that includes both uniprocessor and SMP nodes. Hundreds of SMP systems can thus be merged to create architectures of immense processing power. > What hardware does QNX Neutrino support? The QNX Neutrino RTOS supports numerous processors from the x86/Pentium, PowerPC, ARM, StrongARM, XScale, MIPS, and SH-4 processor families. In addition, the QNX Momentics development suite provides board-support packages for a large variety of reference boards. QNX Neutrino also offers many off-the-shelf drivers for audio, USB, PCI, disk (IDE, SCSI), graphics, input, printer, networking, serial, and parallel devices. You can also choose from a wide range of file systems - QNX, Linux, DOS, flash, CD-ROM/DVD, CIFS, NFS - to access whatever media or system your applications and data may be stored on. The complete list of supported hardware is well beyond the scope of these FAQs. For a detailed list, visit our supported hardware section. > Does QNX Neutrino provide a GUI? QNX Neutrino includes the Photon microGUI, a highly modular graphical environment that fits into small, memory-constrained products. Unlike the limited graphics libraries provided by most RTOSs, Photon is a true windowing system that offers: High-performance graphics: Photon supports rapid animation, 3D graphics, and realtime trending through offscreen memory, bypass mode, video overlay, and other advanced features.

Customizable look-and-feel: Photon lets you easily modify how interface elements (e.g. buttons, menus, windows) look and behave, on either an individual or global basis.

Support for international languages: Because Photon fonts are Unicode compatible, your system can display multiple languages and scripts (e.g. English, Japanese, Chinese, Cyrillic, etc.) simultanously .

Dynamically upgradable architecture Because most GUI services are provided through plug-in memory-protected processes, you can easily replace or upgrade almost any part of your GUI (e.g. video driver, pointing device, font manager) on the fly.

Ability to display a mix of native and Java applications: As a true windowing system, Photon allows multiple native applications and Java virtual machines to share the screen simultaneously, each in its own window.

> Does the QNX Neutrino RTOS support standard APIs? QNX Neutrino provides very rich support for the POSIX APIs, allowing you to port applications to and from Linux, Unix, and other POSIX OSs. Experience shows that programmers with Unix/Linux experience can become productive almost immediately in the QNX environment. Some other RTOSs may claim POSIX support, but, in most cases, they offer only a fraction of the POSIX APIs supported by the QNX Neutrino RTOS. In fact, QNX Neutrino has been engineered from the ground up for POSIX standards - POSIX is "bred in the bone." This approach eliminates the the complex POSIX adaptation layer used by other RTOSs and, as a result, ensures both better performance and lower memory costs. Questions for Existing QNX Users > I currently use the QNX RTOS 4.x. Is QNX Neutrino very different? Like QNX 4, QNX Neutrino is a microkernel, message-passing, memory-protected operating system. But compared to version 4, QNX Neutrino lets you deploy systems on a much larger variety of processors, including PowerPC, MIPS, SH-4, ARM, StrongARM, XScale, and x86. It's also more scalable, with support for symmetric multiprocessing (SMP). And it provides a much richer set of POSIX APIs. > I currently use the QNX RTOS 6.1. Is QNX Neutrino very different? QNX Neutrino 6.2 is essentially an upgrade of the QNX RTOS 6.1. Aside from a number of useful enhancements, it is the same operating system. We changed the name simply to make our product branding more consistent. > What enhancements have you introduced since version 6.1? The development environment has been improved dramatically. You can now enjoy a fullblown IDE that not only provides a richer suite of tools, but also lets you plug in third-party tools based on the popular Eclipse framework. You'll also find development seats more comprehensive. For instance, they now include BSPs, which previously had to be purchased separately. In short, our tools are now more comprehensive, easier to use, and simpler to purchase. See the QNX Momentics product brief for details We've also made several enhancements to the OS itself, including: Sporadic scheduling - Provides a capped limit on the execution time of a thread within a given period of time. Using this algorithm, a thread can service aperiodic events without jeopardizing the hard deadlines of other threads or processes in the system. This algorithm is useful when Rate Monotonic Analysis (RMA) is being performed on a system that services both periodic and aperiodic events. New features for the Photon microGUI - We've added 30 new functions, along with faster off-screen support, easier customization of widgets, and drag and drop for widgets.

We've also introduced support for: XScale processors and boards >4G address spaces on PowerPC boards more video hardware UDMA 66 chipset (high-speed disk interface) Enhanced TCP/IP stack - includes IPv4, Unix domain sockets, multicast support NFS v3 Resource database for better device mapping Bi-directional pipes

Block driver DMA Enhanced support for shared memory, with full support for creation mode and ownership information

You'll also find enhancements to the driver development kits (DDKs), along with many new board-support packages (BSPs) - these are all available through QNX Momentics development suite. The complete list of enhancements is beyond the scope of these FAQs. Call your QNX sales representative or distributor for more information. > Will my existing QNX RTOS 6.1 applications run on QNX Neutrino 6.2? Because QNX Neutrino is effectively an upgrade of 6.1, most applications will run with a simple recompile. Some improvements, such as the way in which the OS handles shared memory and memory alignment, may affect programs that rely on the old behavior. But, even in those cases, code changes will generally be minimal. Check the QNX Neutrino 6.2 release notes for the few instances where porting may require care.

También podría gustarte