QNX Neutrino info

Hi, I’m doing some research on embedded operating systems and I was
wondering if anyone could provide me with the following information
about QNX Neutrino or point me to where the information can be found.

  1. Kernel size: What are the Text and Data sizes of a typical, minimal
    and maximal QNX Neutrino kernel?

  2. Protections: What kind of system/user protection is provided in
    Nucleus PLUS?

  3. Code Base: I assume QNX Neutrino was written from scratch… is that
    correct?

  4. Target Apps & Customers: Is there a specific application/customer
    domain that QNX Neutrino caters to?

  5. Configurability: How is the operating system configured and how far
    can it be configured?

Any information you can provide will be greatly appreciated. Thanks

-James Player

  1. Kernel size: What are the Text and Data sizes of a typical, minimal
    and maximal QNX Neutrino kernel?

The kernel size doesn’t change (except between CPUs). However, the
kernel also doesn’t do much. So you need to look libc, and what other
processes you need/want to have running in your system to answer this
question.

  1. Protections: What kind of system/user protection is provided in
    Nucleus PLUS?

Nucleus PLUS? What is that? :wink: On Neutrino every process is fully
seperate (like a UNIX kernel). Best to read the QNX System Arch. Guide
on http://www.qnx.com/developers/ to get more details.


  1. Code Base: I assume QNX Neutrino was written from scratch… is that
    correct?

Yes.

  1. Target Apps & Customers: Is there a specific application/customer
    domain that QNX Neutrino caters to?

There are areas we focus on - automotive, telecom, general embedded.
But that isn’t a restriction on Neutrino but more on people cycles.

  1. Configurability: How is the operating system configured and how far
    can it be configured?

Configured via what processes are run. So, it is configurable as much
as you want it to be I guess. :wink:


chris


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/

James Player <jplayer@crhc.uiuc.edu> wrote:

Hi, I’m doing some research on embedded operating systems and I was
wondering if anyone could provide me with the following information
about QNX Neutrino or point me to where the information can be found.

  1. Kernel size: What are the Text and Data sizes of a typical, minimal
    and maximal QNX Neutrino kernel?

Don’t know that one off-hand. Will vary from platform to platform,
though. (i.e. size on x86 will be different from MIPS from PPC, etc.)

  1. Protections: What kind of system/user protection is provided in
    Nucleus PLUS?

A full process model is provide, with complete memory protection between
user processes and between user processes and the system process.

In addition, drivers run as user processes, rather than in system
space.

  1. Code Base: I assume QNX Neutrino was written from scratch… is that
    correct?

The core OS components are. The compiler used is GCC, and much of the
utility set is pd/open source.


  1. Target Apps & Customers: Is there a specific application/customer
    domain that QNX Neutrino caters to?

Real-time and embedded. This includes process control & automation,
netcomms, automotive, military and medical customer domains.

  1. Configurability: How is the operating system configured and how far
    can it be configured?

The OS is highly configurable, through a combination of pre-load
configurable call-outs, boot file and boot image configuration and
choosing what to include/not include on any file systems you might
ship, or even if you wish to ship a file system. Essentially,
only procnto (kernel and process manager) and the C shared library
are mandatory – everything else is a loadable process, including
file systems (optional), serial, parallel, network drivers, shells,
GUI, all optional and configurable. It can run a completely minimal
system directly out of ROM (XIP), with no file system and only the
OS and applications running, through a system booting from disk,
handling multiple network cards, and multiple file systems, and
providing a complex multi-user environment.

QNX can also be run on a variety of hardware platforms, including
x86, PPC, MIPS, ARM and SH4. There are BSPs for a variety of
boards on these platforms, and QNX can be configured (through
IPL and startup modifications) to run on others.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.

Hi, I’m doing some research on embedded operating systems and I was
wondering if anyone could provide me with the following information
about QNX Neutrino or point me to where the information can be found.

\

  1. Kernel size: What are the Text and Data sizes of a typical, minimal
    and maximal QNX Neutrino kernel?


    Don’t know that one off-hand. Will vary from platform to platform,
    though. (i.e. size on x86 will be different from MIPS from PPC, etc.)

Is there any way some one could provide me with the Text and Data sizes
of a typical, minimal and maximal kernel for say a StrongARM target?

Also, what makes the size fluctuate from platform to platform? Is there
an unusual ammount of assembly in the kernel implimentation? Thanks

-James

Is there any way some one could provide me with the Text and Data sizes
of a typical, minimal and maximal kernel for say a StrongARM target?

The kernel is always the same size no matter what your end target is for
a given CPU. The whole system might be of a different size. That is the
nature of a microkernel system, the kernel is fixed and you add processes
to make the system do more.

Here is the size of the armle procnto from 6.2.1:

–cdm@bigbox–> size /armle/boot/sys/procnto
text data bss dec hex filename
281888 5940 3784 291612 4731c /armle/boot/sys/procnto


Also, what makes the size fluctuate from platform to platform? Is there
an unusual ammount of assembly in the kernel implimentation? Thanks

Differet op-code sizes and sequences for the same C code. Also compiler
differences will exist between CPU families.

chris


Chris McKillop <cdm@qnx.com> “The faster I go, the behinder I get.”
Software Engineer, QSSL – Lewis Carroll –
http://qnx.wox.org/