Linked by Eugenia Loli-Queru on Mon 21st Jan 2002 04:10 UTC
QNX QNX is an operating system that all of us have used, but few of us realize it when we do. The OS was created in the early 1980's by QNX Software Systems, a Canadian company, but the version we are previewing today (unreleased yet, version 6.2), based on the Neutrino kernel, was pretty much (re)written from scratch some years ago. QNX is used everywhere, from VCRs, to DVDs, to medical machinery and even satellites and space shuttles. Many of you maybe even have tried the old demodisk, a demo of the QNX4 RTOS, plus the previous version of the Photon GUI, fitting in a single 1.44 floppy. The desktop-enhanced version of QNX RtP (free for non-commercial use) runs on almost all modern x86 CPUs, and if we judge from the following screenshots, it looks pretty good for an embedded system OS.
Order by: Score:

0.55us context switches
by Zenja on Mon 21st Jan 2002 05:10 UTC

Is there a way to increase the time between context switches (from 0.55us)? I understand that QNX cx are very lean, but we're talking about 18000 cx per second (compared to 20ms=50/s for Win95, 10ms=100/s for NT/Linux (non-pre), 3ms=333/s for BeOS). If each cx takes 50-80 CPU cycles, we're consuming an enormous amount of CPU cycles just for multitasking, resulting in poor desktop performance (but excellent embedded performance). Heck, even the embedded stuff I work with is 1ms=1000/s and its sufficient.

So, no QNX on desktops then...

0.55us is very good
by Jon on Mon 21st Jan 2002 05:46 UTC

This time is not the time between context switches. It is the time required to perform one context switch.

Windows performs 50 switches per second, but appears to take on the order of 200us to perform a single context switch. That means that windows spends about 10 ms in context switches.

QNX would spend 25us in context switches. This means that it can do a lot more, say a 1000, thats only 1.25ms spent in switches, and a much smoother communitcation between threads.

Divx?
by eexlebots on Mon 21st Jan 2002 06:58 UTC

Does QNX support DivX playback? If so, how good is it?

by Zenja on Mon 21st Jan 2002 07:01 UTC

Got it. Thanks for clarifying that the switch itself takes 0.55us. So, on a 700MHz (average P3), that means a context switch takes 385 clock ticks (on a RISC one instruction per clock tick). So how many cs/sec do we get?

Re: Divx?
by Eugenia on Mon 21st Jan 2002 07:02 UTC

I haven't seen DivX support anywhere in the software repositories on the web, but I know there is already a port of VideoLAN (DVD playback).

Yet another BeOS coment!!!
by Anonymous on Mon 21st Jan 2002 07:47 UTC

I read in an old BeOS newsletter, in the JLG column, before BeIA was announced (i.e. they were still working on BeOS) that they had managed to fit a cut down BeOS and Netpositive etc. on a floppy disk, just like the QNX Demo disk. I assume that this idea led to the idea of developing BeIA.

Well, my question is this: does anyone know if such a 'BeOS floppy demo disk' is available, even though it was never made public? Do any Be engineers remember this? If not, is it possible to make one? I think it would be really cool, and the QNX one is really nice, and the QNX one is nice too, and useful too sometimes! Hehe...

Re: Yet another BeOS coment!!!
by Eugenia on Mon 21st Jan 2002 07:58 UTC

A *usable* BeOS cannot boot from a floppy. That article you are reffering to, was just a guide on how to create a bootable BeOS floppy disk when you have unsupported hardware and the BeOS on the bootable CD does not have support for that specific hardware. So, you create a minimum BeOS with the driver in question on a floppy and the REST of the booting process is then *redirected* to the CD-Rom, to finish off the booting. Booting BeOS in a gui with only one floppy, is not possible. Also, BeOS only boots from BFS, and the _minimum_ space you need for a BFS filesystem, is ~900 KB. So, it would be only 500 KB of free space for the rest of the whole OS, which is not possible to fit in such a small space.

by Rodney McDonell on Mon 21st Jan 2002 08:06 UTC

I onced tried QNX in the FAT partition.

My system is a PII 233, with 64M, 4M S3ViRGE/GX2 ;) - not the best, but winblows and linux and BSD run fine. But, QNX had trouble with this ;) , its was quite slow.

Is this due to the FAT filesystem or not the right drivers? It wasnt a bad OS, bit plain, nice to see bash though ;) .

by Anonymous on Mon 21st Jan 2002 08:15 UTC

RealPlayer 7 is missing because QSSL is porting RealPlayer 8 right now.

Quote from their website:

"If you are building a product that incorporates RealPlayer, note that RealPlayer 7 can only be redistributed if you currently have a distribution license with QSS. New products should be built using RealPlayer 8 which will be ported to the QNX OS. Contact your sales representative for details."

http://qdn.qnx.com/news/releases/releasestatus.html

phAB is being overhaul to accomodate the IBM Eclipse project. I have forgotten if it's phAB that will become a plug-in for the Eclipse tools or the other way around.

Lots of misstakes in the article :(
by Johan Björk on Mon 21st Jan 2002 09:11 UTC

Many of the stuff you mention that 'is no longer included' and similar, is there.
Phab etc etc etc..

by billy on Mon 21st Jan 2002 09:55 UTC

Rodney, why the hell do you run bsd?

by Anonymous on Mon 21st Jan 2002 10:12 UTC

How come every article on this board has to be hijacked by the BeOS lobby?

by Shard on Mon 21st Jan 2002 11:27 UTC

Anonymous -> Because we're here... and everywhere else! Fear Us - BeOS users ];>

by Ungoilant on Mon 21st Jan 2002 11:34 UTC

"My system is a PII 233, with 64M, 4M S3ViRGE/GX2 ;) - not the best, but winblows and linux and BSD run fine. But, QNX had trouble with this ;) , its was quite slow."

The Vesa Driver for photon is a bit slow so mabye you were using it? I had to wait till 6.1 for it to even boot.

Responsiveness and realtime
by Igor on Mon 21st Jan 2002 11:56 UTC

Responsiveness of UI is subjective thing and depends heavily on behavior of scheduler. Windows for example gives a program currently holding focus more CPU cycles, so you get more 'responsive' feeling. Unixes usually use 'fairness' as scheduling goal, so they dynamically adjust priorities (punish CPU-greedy applications). QNX4 used to have 'adaptive' scheduling, which reminded Unix 'fair' schedulers. QNX6 has that policy documented, but last time I checked it was not implemented, so default scheduling policy was realtime-orineted 'round-robin' scheme.

by AlienSoldier on Mon 21st Jan 2002 12:12 UTC

what is done in a context switch? Because i can interrupt the processor at each 0.8us i wonder from were the 55us come from. Is it just interrupt overhead?

MPlayer?
by Pulp on Mon 21st Jan 2002 12:51 UTC

The DivX-support is i _think_ in the MPlayer-source for QNX too.

Just my 0.02 euro

context switch
by matt on Mon 21st Jan 2002 13:41 UTC

AlienSoldier: what is done in a context switch? Because i can interrupt the processor at each 0.8us i wonder from were the 55us come from. Is it just interrupt overhead?

a context switch occurs when the CPU is interrupted and exchanges the running address space (the 'context') for another, eg: one process for another or a process to the kernel. most OSses have the kernel space partially visible above the end of the user space (in the top 1GB, usually) so this doesnt require a context switch. there are several reasons for a cx, the most common is quantum expiry (the program has used too much time and another will be given a chance to run).

in a process-process cx (such as expiry) the kernel saves the running processes context (its registers, IP and in some cases the TLBs) and loads the next one. this memory transfer takes more CPU cycles and contributes to the delay. the rest is the expensive (on x86, anyway) re-loading of the page table and caches. obviously the new process shouldnt be able to read the old processes memory, so the caches and T

oops
by matt on Mon 21st Jan 2002 13:42 UTC

that was the wrong button.

so the caches and TLBs must be cleared. they then get re-loaded by the next processes page faults.

thats the main time sink in a context switch.

Eugenia
by Anonymous on Mon 21st Jan 2002 14:51 UTC

No Eugenia, I am pretty sure that is was the same as the QNX demo disk - a fully functioning BeOS with a browser in a floppy. Your husband should know something about this?!? I will try and find the article...

BeOS on a floppy disk
by Matthias "LoCal" Schonder on Mon 21st Jan 2002 15:04 UTC

AFAIK, it was not BeOS on a floppy but a floppy that booted some minor stuff from the disk and then the major part over the net. But all is IIRC!

BeHappy ;)

Matthias "LoCal" Schonder

by MattK on Mon 21st Jan 2002 15:15 UTC

Alright, and I was just asking my self what OS I would try on that little computer collecting dust in the corner.

by Anonymous on Mon 21st Jan 2002 15:38 UTC

A few things to note:

Only problem is that it overwrites the MBR with its own boot manager without asking you, which is not really a problem, just somewhat... rude.This is actually incorrect. The installer asks you if you want to install one of two loaders or use the current one on your system (e.g. Lilo).
but it could not load at all on my CTX eZBook 800 notebook (AMD K6-2 300, 64 MB) most probably because of problems with the Fujitsu hard drive, being somewhat unconventional since many Fujitsu drives do not return the correct 'IDENTIFY' string.This is also fixed now in the driver, so it is no longer a problem.

Fan site www.qnxzone.com
by Anonymous on Mon 21st Jan 2002 15:40 UTC

Visit the fan site: http://www.qnxzone.com

Questions and Candy eatin
by MPX on Mon 21st Jan 2002 16:54 UTC

I love qnx and beos its the best (btw found some beos 5.10 download that im downloading now anybody heard of this?)

Now...is dvd playback gonna be available in the new qnx version? If not, Why?
I tried compiling videolan under qnx but lotsa error messages ;) If anybody has managed to do this please E-Mail me or post all the commands i need in here in case i got it wrong

Hmm, nice preview...
by Kevin on Mon 21st Jan 2002 16:58 UTC

Thanks for the preview Eugenia! Hmm, yeah, I wish QSSL qould try to make QNX more of a desktop OS. In 6.1 it worked pretty well as a desktop os, it was just missing a few things and a lot of apps. Now, it seems like in 6.2 htey are getting even farther away from that ;)

(btw found some beos 5.10 download that im downloading now anybody heard of this?)
someone postet it on the OpenBeOS mailinglist yesterday. some french site had screenshots of this release and also provided a link to a zip iso-file with a BeFS-Partition inside of it.
the screenshots that appeared on osnews some time ago came from this system.

Eugenia...
by Anonymous on Mon 21st Jan 2002 20:01 UTC

Eugenia look at the Be newsletter: Issue 89, September 3, 1997.

The JLG Column entitled: Scalability or Modularity?

"We've been asking ourselves if our core
technology couldn't be also applied to smaller devices, to
emerging consumer multimedia and network computing
applications.

So far, we've built a small number of interesting test
cases; the most extreme one resides on a 1.44 Mb floppy,
incorporating the core BeOS and our browser. Take a bare
bones Pentium clone costing about $350 (sans hard disk, but
including a $19.99 Ethernet card), connect it to the
network, boot it from the floppy and "presto," you're
browsing the Web."


So it definately seems possible to make a BeOS floppy demo disk!! Does antone think they can hack something like this together?

Well...
by Kevin on Mon 21st Jan 2002 20:17 UTC

Well, it might be possible. But not ver pratical. Putting BeOS on a zip disk would amke a lot more sense.

Where i can get videolan for qnx?
by Fernando Silva on Mon 21st Jan 2002 20:17 UTC

Hi guys!
Until now i didn't try the beta version of qnx rtp 6.2 that they send to me, i heard that will be available for public just in two or three months time.
I've been read your messages, i found some talking about videolan and dvd player for qnx. It is possible to tell me where i can get those software for qnx.
I will apreciate.
Thanks

Photon and Unix?
by whydah on Mon 21st Jan 2002 20:18 UTC

Wistful thought: Wouldn't it be nice if Photon were available for Unix/Linux? Nice fast graphics capability for applications that could use it, without the realtime issues Eugenia mentioned in the article, plus access to all the other *nix apps (CL or X-Window dependent)? Is this even technically possible?

your old computer ...
by Ghost Line on Mon 21st Jan 2002 20:22 UTC

mattk --> I don't know what's your old computer, but don't be too exigent for QNX ... it's a deepless well for a cheap old machine ;) look at PIII and 256Mo for a good use.
Visit http://www.qnx-fr.com, the french site for QNX ;)

VideoLAN
by Ghost Line on Mon 21st Jan 2002 20:25 UTC

Fernando --> you can see the evolution of the devlopment on the official site, at http://www.videolan.org, on the section QNX.

BeOS "demo floppy"
by Chris Herborth on Mon 21st Jan 2002 20:47 UTC

Think "compressed RAMdisk on the floppy + whatever you need to load it and transfer boot over to the RAMdisk". Just like the QNX 4 demo disk.

Sheesh. Kids today... ;-)

- chrish

hehe...
by Anonymous on Mon 21st Jan 2002 21:31 UTC

Greetings Chris, I also though that was probably the way it was done. If I remember right, didn't you used to work for QNX and Be? So thanks for clarifying this.

I still think it is really *cool* (ahem), and I would love it if someone could hack together a demodisk like this, or knows where to find the original one that Be made...

OS architecture...
by grant_b@cs.odu.edu on Mon 21st Jan 2002 21:34 UTC

Regarding "matt's" short discussion about context switches, I had no idea that BeOS' spaging system exposed some kernel space to user processes without requiring a cx. Now that I think about it, this is a very clever way of boosting performance, if you can carefully sidestep security issues and do the requisite careful engineering.

See, I'm quietly building my own toy OS and this kind of low level implmentation detail is fascinating. Is there a forum where OS developers can discuss issues like this? I've found a bunch of forums, but they are filled with "Can I write an OS in Visual Basic?", "Skinning/themes r0x0rs!", and language flamewars. Where are the secret forums where mature discussions about OS dev take place among real developers?

It is Realy beos R5.10
by MPX on Mon 21st Jan 2002 22:04 UTC

Cant wait to try it.....62 percent finnished downloaded....70 megs....Dont you love it your connected @ 31 200 bps ;)

BTW can anybody of you help me (only if youve done before) compilin videolan under qnx?

Photon for average unix ...
by pekr on Mon 21st Jan 2002 22:24 UTC

Well folks - IIRC Photon IS available for external systems (hosted), at leat for WinNT. On the other hand who would support something as linux, totally non-dynamic environment. Let the unix be just what it is - the unix :-) I prefer device driver being ordinary task, with ability to restart it just as an any other app - "small", efficient, message based ...

Well ... in theory, usability factor of RtP speaks of a little bit different experience :-)

-pekr-

by Ungoilant on Tue 22nd Jan 2002 01:38 UTC

"See, I'm quietly building my own toy OS and this kind of low level implmentation detail is fascinating. Is there a forum where OS developers can discuss issues like this? I've found a bunch of forums, but they are filled with "Can I write an OS in Visual Basic?", "Skinning/themes r0x0rs!", and language flamewars. Where are the secret forums where mature discussions about OS dev take place among real developers?"

There's the OS Dev forums here. There are some good discusions here.

USB
by gfx on Tue 22nd Jan 2002 01:47 UTC

Does QNX support USB things like mice and tablets ?

by beos 5.1 wanted on Tue 22nd Jan 2002 02:25 UTC

POST THE LINK ;)

Re: beos 5.1 wanted
by Eugenia on Tue 22nd Jan 2002 02:57 UTC

Post the link and you will be banned.
No leaked software URLs on osnews please.

Re: USB
by David Sarrazin on Tue 22nd Jan 2002 03:17 UTC

Yep, 6.1 supported USB mice, keyboards, printers, network. 6.2 should have all the same hardware support, and then some.

Re: OS architecture...
by Chewy509... on Tue 22nd Jan 2002 04:07 UTC

If your serious, then try: news:alt.os.development, news:comp.lang.asm.x86, and search for any other assembler newsgroups.

Chewy509...

by Another Matt on Tue 22nd Jan 2002 04:15 UTC

Where's a hardware compatibility list? I see none!

by beos 5.1 wanted on Tue 22nd Jan 2002 04:51 UTC

sorry. duly noted.

by Anonymous on Tue 22nd Jan 2002 05:02 UTC

Hardware compatibility list (as of QNX 6.1) is at:

http://qdn.qnx.com/support/hardware/index.html

developer tools?
by A. Fisser on Tue 22nd Jan 2002 12:39 UTC

Hi,

does it come with developer tools?
I'm a professional Windows developer and don't want to miss the comfort of a integrated development environment. I used WinCE PlattformBuilder and will never accept a command-line oriented debugger like gdb!
A good OS is nothing worth without good tools!

by Matt K on Tue 22nd Jan 2002 14:07 UTC

" most OSses have the kernel space partially visible above the end of the user space "

I don't know about this. I think the above was the very problem with win 9x. This is why a bad user program could cause a whole system to crash. I sure hope a system such as QNX wouldn't implement what has been considered a design flaw.

BTW, can QNX be run on a RAID 0 configuration?

Why not ?
by Anonymous on Tue 22nd Jan 2002 20:37 UTC

If the SCSI card is supported, QNX should run, cos (as I think), RAID is done by hardware in this case and the SCSI controler does writes/reads and resolves from logical to physical sectors on its own.

Actually, almost all OSs have the kernel space visible above the end of user space. This is done so a system call does not require a (slow) MMU context switch. However, since this is write-protected, this isn't a problem. The issue with Win9x was that a lot of data structures in the kernel were not write protected, in order to retain compatibility with older DOS apps. In particular, there was a 1GB shared "free-for-all" region under the kernel.

by Matt K on Wed 23rd Jan 2002 04:52 UTC

Thanks for the clarification, Rayiner.

I'm using an IDE raid card, it's got a Promise chipset. I guess I just need to stop being lazy and look at the hardware compatibility listing.

by Matt K on Wed 23rd Jan 2002 05:03 UTC

"Promise and HighPoint controllers are currently not supported"

Well, I guess that answers that question. I'll try it on my celeron system instead!

The disappearance of QNXStart
by Vincent Lönngren on Wed 23rd Jan 2002 14:27 UTC

As I understand it, QNXStart is not coming back. There will be a similar software package service at www.qnxzone.com. I could be wrong.