Slashdot Mirror


QNX RtP 6.2 World Preview

Jason writes: "OSNews is running an exclusive preview of the brand new version 6.2 of the QNX realtime operating system. The article is going through the installation process, the Photon user interface (lots of screenshots included), the internals, and the advantages and disadvantages of the OS as a desktop system. QNX RtP 6.2 is expected to be released for free (for non commercial usage) before March."

9 of 209 comments (clear)

  1. Re:Why would anyone use by jayant_techguy · · Score: 2, Informative

    Ya that pretty true, but QNX as they say, was built for people who wish to know some more about real time os'. and it does that job pretty well :)

  2. Re:QNX goes back a *long* way by gbrandt · · Score: 2, Informative

    That would probably have been a derivitive of QNX 2.x. We used QNX 2.x exclusivley at a company I worked for. It was our desktop system from accounting to engineering. All running on ARCNet.

    Since then QNX has moved up in the world. QNX 4 has full posix compliance and is very much like a normal *NIX. 6.x is so much like *NIX on the command line, that you can barely tell the difference.

  3. Re:First Impressions by ergo98 · · Score: 4, Informative

    You can always get Opera if you want.

  4. Re:Why would anyone use by chrisatslashdot · · Score: 3, Informative

    From the article:
    QNX RtP is serving as the self hosted development platform for QNX-based internet appliances and other QNX embedded applications.

    --


    Simple people talk of people, better people talk of events, great people talk of ideas.
  5. Re:Grammer Nazi by corrosiv · · Score: 2, Informative

    The original QNX OS was released as QNX2 in the early 1980s. I don't know the story on QNX 1 - perhaps it was the specialized product that inspired them to attempt a general purpose realtime OS. In the late 1980s/early 1990s it was rewritten as QNX4 to implement many new ideas (and improve on old ideas). This was labelled QNX4. QNX4 gave the world a better, more UNIX-like development platform and more UNIX-like behaviour via POSIX. Not long after QNX4 came Neutrino. This was to be a specialized kernel for deeply embedded applications while QNX4 was to be more general-purpose realtime. The entire QNX4 application base has now evolved to run on Neutrino, so now this is all packaged together like QNX4 was and is called QNX6 or RealTime Platform.

    Steve

  6. 0.55us is very good by Anonymous Coward · · Score: 3, Informative

    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.

  7. Re:QNX goes back a *long* way by tzanger · · Score: 2, Informative

    Do any Canadians (perhaps only Ontarians) remember the ICON computers they used to have in elementary and high schools?

    Yup. Used 'em in Grade 7/8 IIRC at Stanley Park Senior Public in Kitchener, ON. (Grade 7 would have been '89?) -- I got booted out of the room after a while for dicking around at the command prompt they boot up with, trying to get in to something I had no idea about at the time.

    I've got one now (had two) -- they cut off the keyboard though, and I've got to figure out what pins go where (the connector's gone) but I'd love to boot it up again. You've got the specifications exactly right: 80186 (basically a controller version of the 8086, it includes the PIC, DMA, PIT and a few other of the 82xx-series of support chips in the processor package itself), I think about 640k of memory (weird staggered-SIPP package), arcnet, EGA or VGA display. Gray case that boots up blue and spends 99% of its time displaying blue background. :-)

    I bet you could get something like ELKS running on it without much trouble.

    Man... I remember the *sound* of the room they were in. the server(s) (I believe we had two, one for each double row of ICONs, about 20-24 ICONs per server) with physically ENORMOUS hard drives and fans and fans and fans... in a room with no sound suppression. It sounded like a large colo facility does today, I bet.

  8. Re:A simple OS for mom by Ivan+Raikov · · Score: 3, Informative

    My understanding and one of the common grips about QNX for the desktop is that QNX is POSIX-like and not UNIX-like.

    QNX 6.something is now available for download from QNX's web site -- I installed it last weekend and played around with it a little bit. It appears that most of the user utilities are taken from NetBSD, and the configuration file tree is structured very closely after BSD. The system library claims POSIX compiance, and the kernel claims conformance to the realtime POSIX API.

  9. Re:Some hangups. by Pseudonym · · Score: 3, Informative

    I disagree in part.

    1) Lack of unified VM/buffer-cache. The size of the disk cache is fixed rather than dynamically adjusted depending on need.

    I can see why you say this, but in practice I can't see this as a problem. The size of the disk cache is increased with the number of devices mounted. On the other hand, separate caches mean you can implement different buffer cache policies depending on the device. (You can imagine, for example, that flash memory could use a very different write-back policy than disk.)

    Separation of mechanism and policy is something that pervades QNX, and is arguably the key to the flexibility of modern operating systems (compared with the inflexibility of monolithic systems). Even the QNX kernel, Neutrino, is actually a microkernel built on top of a nanokernel. The nanokernel implements mechanism, and the microkernel implements policy.

    2) Lack of proper swapping. Since swapping kills embedded apps, RtP lacks good swapping. Use of swap has to be explicitly coded into the app, and was implemented as sort of a hack to allow gcc to be self-hosted.

    It's not a hack, but I do think it's unfortunate that it's not "officially" supported. It would make more sense to:

    • Determine at boot or configure time whether you want swapping or not.
    • Assuming that swapping is enabled, applications which are granted I/O privileges get all their memory non-swapped. This is non-negotiable. (Why? Because if you have I/O privileges, you can install an interrupt handler. Your interrupt handler had better not access swapped-out memory.)
    • Again assuming that swapping is enabled, any other applications may selectively lock all or part of their memory. (This may require other privileges.)
    3) Real-time scheduler. The hard-real time scheduler might be nice on an embedded system, but on a desktop system (where fairness takes a back seat to user-percieved responsiveness) it doesn't work well.

    You really need a hybrid (and I don't mean RTLinux). Desktop systems need real-time. BeOS users can testify to this. Also, there are new applications such as serving streaming media and ATM routing which really need real-time. Even burning CDs really needs real-time to do properly.

    Admittedly, you probably don't need to implement an ATM switch on your desktop machine, but you might on your server. Real-time scheduling might be a really good thing here.

    4) Crappy disk subsystem. I don't know if this problem has been fixed in 6.2 (I doubt it) but RtP has a really slow disk system. The IDE drivers have issues and the filesystem is ancient.

    That's true.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});