I'm looking for any suggestions, and especially any real experiences, that anyone cares to offer. We have a system that includes an x86 box running QNX 6.something. It has the following interfaces: -- network card for product specific data acquisition, 100 base T or faster -- network card to user workstation (Windows XP based), 100 base T or faster -- USB 2.0 high speed interface to machine control -- Monitor output, 1024 X 768 32-bit color -- Standard PC serial port to receive input from touch screen integrated into above LCD monitor -- Standard keyboard and mouse, used by service techs only during service and updates, not the normal users -- A CD or DVD drive for installing and upgrading the system We are looking at the possibility of moving the QNX system and application into a virtual machine on the workstation, which will be a quad core, dedicating one core to QNX. We are not looking to change the QNX system significantly or more it to another RTOS. There are many years of development and use. The QNX application has some real time requirements, mostly related to the data acquisition, and injecting timing date from the USB interface into the Ethernet acquisition stream. This is not really my part of the system, but the people working on the Windows/QNX side asked me to see if I could find any options that they might have missed. They looked at Tenasys, but apparently that only runs QNX headless, so it couldn't do the user GUI/touch screen functions. They say VMware would work, but it is more expensive than they would like. So I would appreciate any experiences anyone has to share about actually running QNX 6 under any x86 VM along with Windows and achieving real time performance. TIA, -- Jack Klein Home: http://JK-Technology.Com FAQs for comp.lang.c http://c-faq.com/ comp.lang.c++ http://www.parashift.com/c++-faq-lite/ alt.comp.lang.learn.c-c++ http://www.club.cc.cmu.edu/~ajo/docs/FAQ-acllc.html
Virtualizing QNX 6.0
Started by ●July 23, 2008
Reply by ●July 23, 20082008-07-23
On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote:>I'm looking for any suggestions, and especially any real experiences, >that anyone cares to offer.>We have a system that includes an x86 box running QNX 6.something. It >has the following interfaces:... check out QEMU, and also do a google search for "qnx qemu"
Reply by ●July 23, 20082008-07-23
AZ Nomad schreef:> On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote: >> I'm looking for any suggestions, and especially any real experiences, >> that anyone cares to offer. > >> We have a system that includes an x86 box running QNX 6.something. It >> has the following interfaces: > > ... > check out QEMU, and also do a google search for "qnx qemu"I'm not sure how well the QEMU solution would meet the 'real time performance' the OP mentioned. Also QEMU is quite slow since it emulates the processor as well. Though there are plenty of VM's (Virtual PC, VirtualBox, VMWare), I think it is unlikely one will find a VM that allows guests OS'es to provide hard real time guarantees while running in that VM. Unfortunately the OP wasn't specific about the real time deadlines that had to be met, or the host OS.
Reply by ●July 23, 20082008-07-23
On Jul 23, 3:12=A0pm, Dombo <do...@disposable.invalid> wrote:> AZ Nomad schreef: > > > On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackkl...@spamcop.net> =wrote:> >> I'm looking for any suggestions, and especially any real experiences, > >> that anyone cares to offer. > > >> We have a system that includes an x86 box running QNX 6.something. =A0=It> >> has the following interfaces: > > > ... > > check out QEMU, and also do a google search for "qnx qemu" > > I'm not sure how well the QEMU solution would meet the 'real time > performance' the OP mentioned. Also QEMU is quite slow since it emulates > the processor as well. > > Though there are plenty of VM's (Virtual PC, VirtualBox, VMWare), I > think it is unlikely one will find a VM that allows guests OS'es to > provide hard real time guarantees while running in that VM. > > Unfortunately the OP wasn't specific about the real time deadlines that > had to be met, or the host OS.You may want to check out the Real-Time Systems Hypervisor. I know that they give direct hardware access to a guest but I am not sure if they allow you to run QNX with GUI or not.
Reply by ●July 23, 20082008-07-23
On Wed, 23 Jul 2008 15:12:30 +0200, Dombo <dombo@disposable.invalid> wrote:>AZ Nomad schreef: >> On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote: >>> I'm looking for any suggestions, and especially any real experiences, >>> that anyone cares to offer. >> >>> We have a system that includes an x86 box running QNX 6.something. It >>> has the following interfaces: >> >> ... >> check out QEMU, and also do a google search for "qnx qemu">I'm not sure how well the QEMU solution would meet the 'real time >performance' the OP mentioned. Also QEMU is quite slow since it emulates >the processor as well.Only I/O is emulated. Programs run natively until they need to do I/O. Drivers are installed into the guest OS in order to provide native performance for I/O as well. It is the same with vmware. Perhaps use a hypervisor solution such as XEN?>Though there are plenty of VM's (Virtual PC, VirtualBox, VMWare), I >think it is unlikely one will find a VM that allows guests OS'es to >provide hard real time guarantees while running in that VM.The non-RT OS is the one that should be running in a virtual environment. Putting qnx in a virtual machine on a pig of an operating such as windows would bring the windows lags to guest and host.>Unfortunately the OP wasn't specific about the real time deadlines that >had to be met, or the host OS.
Reply by ●July 23, 20082008-07-23
AZ Nomad schreef:> On Wed, 23 Jul 2008 15:12:30 +0200, Dombo <dombo@disposable.invalid> wrote: >> AZ Nomad schreef: >>> On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote: >>>> I'm looking for any suggestions, and especially any real experiences, >>>> that anyone cares to offer. >>>> We have a system that includes an x86 box running QNX 6.something. It >>>> has the following interfaces: >>> ... >>> check out QEMU, and also do a google search for "qnx qemu" > >> I'm not sure how well the QEMU solution would meet the 'real time >> performance' the OP mentioned. Also QEMU is quite slow since it emulates >> the processor as well. > > Only I/O is emulated. Programs run natively until they need to do I/O. > Drivers are installed into the guest OS in order to provide native performance > for I/O as well. It is the same with vmware.Apparently you are talking about a different QEMU than I am, unless you were talking about KQEMU.
Reply by ●July 23, 20082008-07-23
On Wed, 23 Jul 2008 17:17:11 +0200, Dombo <dombo@disposable.invalid> wrote:>AZ Nomad schreef: >> On Wed, 23 Jul 2008 15:12:30 +0200, Dombo <dombo@disposable.invalid> wrote: >>> AZ Nomad schreef: >>>> On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote: >>>>> I'm looking for any suggestions, and especially any real experiences, >>>>> that anyone cares to offer. >>>>> We have a system that includes an x86 box running QNX 6.something. It >>>>> has the following interfaces: >>>> ... >>>> check out QEMU, and also do a google search for "qnx qemu" >> >>> I'm not sure how well the QEMU solution would meet the 'real time >>> performance' the OP mentioned. Also QEMU is quite slow since it emulates >>> the processor as well. >> >> Only I/O is emulated. Programs run natively until they need to do I/O. >> Drivers are installed into the guest OS in order to provide native performance >> for I/O as well. It is the same with vmware.>Apparently you are talking about a different QEMU than I am, unless you >were talking about KQEMU.I've used QEMU ahd it doesn't do processor virtualization. For the most part the guest OS runs at native speeds espcially after a driver is installed into the guest OS. Try valgrind if you want to see just what an emulated processor is like. You're lucky if it runs at a twentieth native speed.
Reply by ●July 23, 20082008-07-23
Jack Klein <jackklein@spamcop.net> writes:> They say VMware would work, but it is more expensive than they would > like.VMware Player or VMware Server are available at no charge. VMware Server is ideal for running VMs on a host that may be headless.
Reply by ●July 24, 20082008-07-24
mayby QWIN meets your needs: http://www.ibv-augsburg.net/de/qwin.html (Product flyer and white paper are in english)
Reply by ●July 24, 20082008-07-24
AZ Nomad schreef:> On Wed, 23 Jul 2008 17:17:11 +0200, Dombo <dombo@disposable.invalid> wrote: >> AZ Nomad schreef: >>> On Wed, 23 Jul 2008 15:12:30 +0200, Dombo <dombo@disposable.invalid> wrote: >>>> AZ Nomad schreef: >>>>> On Tue, 22 Jul 2008 22:07:49 -0500, Jack Klein <jackklein@spamcop.net> wrote: >>>>>> I'm looking for any suggestions, and especially any real experiences, >>>>>> that anyone cares to offer. >>>>>> We have a system that includes an x86 box running QNX 6.something. It >>>>>> has the following interfaces: >>>>> ... >>>>> check out QEMU, and also do a google search for "qnx qemu" >>>> I'm not sure how well the QEMU solution would meet the 'real time >>>> performance' the OP mentioned. Also QEMU is quite slow since it emulates >>>> the processor as well. >>> Only I/O is emulated. Programs run natively until they need to do I/O. >>> Drivers are installed into the guest OS in order to provide native performance >>> for I/O as well. It is the same with vmware. > >> Apparently you are talking about a different QEMU than I am, unless you >> were talking about KQEMU. > > I've used QEMU ahd it doesn't do processor virtualization. For the most part > the guest OS runs at native speeds espcially after a driver is installed > into the guest OS.I've used QEMU (without the KQEMU driver) on a Windows PC, and it did surely did emulate the processor (just like the author of this software claims, check the website).> Try valgrind if you want to see just what an emulated processor is like. > You're lucky if it runs at a twentieth native speed.Which is close to what I experienced with QEMU, much slower than native or VMWare for example.