qnx neutrino rtos faqs

Upload: kashka-irani

Post on 03-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Qnx Neutrino Rtos Faqs

    1/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-upgradablesystems much easier to design and implement. QNX Neutrino also offers unprecedentedscalability: Developers can build their applications once, then distribute them on a singleprocessor, across a massive cluster of processors, or on an SMP system - all without specialcoding. QNX Neutrino represents the latest generation of QNX OS technology, and is theproduct 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 toapplications 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 intelligentlyfromvirtually 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 mission-critical applications, including 911 systems, medical instruments, high-end routers, processcontrol 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 samequalities that make QNX Neutrino shine in mission-critical applications can make anyembedded 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-protectedaddress 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 suchprotection.

    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 separateprocesses that communicate with the kernel via synchronous message passing. Thismessage passing forms a virtual "software bus" that lets you dynamically plug in or plug outwhatever services are required. Consequently, almost any module, even a device driver, canbe replaced or restarted on the fly. In most OSs, this would, at the very least, require asystem reset.

    http://www.qnx.com/products/ps_neutrino/#GENhttp://www.qnx.com/products/ps_neutrino/#EXIhttp://www.qnx.com/products/ps_neutrino/#EXIhttp://www.qnx.com/products/ps_neutrino/#GENhttp://www.qnx.com/products/ps_neutrino/#EXI
  • 7/28/2019 Qnx Neutrino Rtos Faqs

    2/6

    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 andremote interprocess communication (IPC) one and the same. As a result, processes runningon a single CPU will continue to communicate with each other even if they are subsequentlydistributed 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'sresources - 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, memory-constrained devices to access virtually any resource on the network.

    Fault-tolerant networking:

    Qnet inherently supports multiple links between CPUs. If one link fails, Qnet willautomatically re-route data over the remaining links, without loss of service. Qnet canalso load-balance network traffic over all available links, resulting in significantly

  • 7/28/2019 Qnx Neutrino Rtos Faqs

    3/6

    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 eventhe 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 oruser, can be scheduled on any available processor on an SMP board. In fact, with QNXNeutrino, you don't have to hardcode SMP awareness into your applications and drivers. If anapplication is multithreaded, the kernel can transparently schedule those threads onto theSMP board's multiple CPUs. (Of course, the application should be designed with enoughparallelism to keep the multiple CPUs busy!)

    By combining these SMP capabilities with the transparent networking (Qnet) provided byQNX Neutrino, you can easily construct large, fault-tolerant clusters that comprise bothuniprocessor and SMP systems:

  • 7/28/2019 Qnx Neutrino Rtos Faqs

    4/6

    With QNX Neutrino, field-tested binaries can migrate from a uniprocessor device to an SMPsystem, or be transparently distributed across a cluster that includes both uniprocessor andSMP nodes. Hundreds of SMP systems can thus be merged to create architectures ofimmense 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 suiteprovides board-support packages for a large variety ofreference 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 awide range of file systems - QNX, Linux, DOS, flash, CD-ROM/DVD, CIFS, NFS - to accesswhatever 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 adetailed list, visit oursupported hardware section.

    > Does QNX Neutrino provide a GUI?

    QNX Neutrino includes the Photon microGUI, a highly modular graphical environment thatfits 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 off-screen 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 multiplelanguages and scripts (e.g. English, Japanese, Chinese, Cyrillic, etc.) simultanously .

    Dynamically upgradable architecture

    Because most GUI services are provided through plug-in memory-protectedprocesses, you can easily replace or upgrade almost any part of your GUI (e.g. video

    driver, pointing device, font manager) on the fly.

    http://www.qnx.com/products/ps_momentics/http://www.qnx.com/products/ps_momentics/http://www.qnx.com/products/ps_momentics/http://www.qnx.com/support/sd_hardware/http://www.qnx.com/products/ps_momentics/http://www.qnx.com/products/ps_momentics/http://www.qnx.com/support/sd_hardware/
  • 7/28/2019 Qnx Neutrino Rtos Faqs

    5/6

    Ability to display a mix of native and Java applications:

    As a true windowing system, Photon allows multiple native applications and Javavirtual 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 applicationsto and from Linux, Unix, and other POSIX OSs. Experience shows that programmers withUnix/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 ofthe POSIX APIs supported by the QNX Neutrino RTOS. In fact, QNX Neutrino has beenengineered from the ground up for POSIX standards - POSIX is "bred in the bone." Thisapproach eliminates the the complex POSIX adaptation layer used by other RTOSs and, as aresult, 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 operatingsystem. But compared to version 4, QNX Neutrino lets you deploy systems on a much largervariety 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 amuch 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 ofuseful enhancements, it is the same operating system. We changed the name simply to makeour 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 full-blown IDE that not only provides a richer suite of tools, but also lets you plug in third-partytools based on the popular Eclipse framework. You'll also find development seats morecomprehensive. For instance, they now include BSPs, which previously had to be purchasedseparately. In short, our tools are now more comprehensive, easier to use, and simpler topurchase. See the QNX Momentics product brieffor 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 eventswithout jeopardizing the hard deadlines of other threads or processes in the system.This algorithm is useful when Rate Monotonic Analysis (RMA) is being performed ona 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 forwidgets.

    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

    http://www.qnx.com/products/ps_momentics/prodbrief.htmlhttp://www.qnx.com/products/ps_momentics/prodbrief.html
  • 7/28/2019 Qnx Neutrino Rtos Faqs

    6/6

    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 newboard-support packages (BSPs) - these are all available through QNX Momenticsdevelopment suite.

    The complete list of enhancements is beyond the scope of these FAQs. Call yourQNX salesrepresentative 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 asimple recompile. Some improvements, such as the way in which the OS handles sharedmemory and memory alignment, may affect programs that rely on the old behavior. But, evenin those cases, code changes will generally be minimal. Check the QNX Neutrino 6.2 releasenotes for the few instances where porting may require care.

    http://www.qnx.com/contact.htmlhttp://www.qnx.com/contact.htmlhttp://www.qnx.com/contact.htmlhttp://www.qnx.com/contact.html