Slashdot Mirror


Interview With Chris McKillop of QNX

Sheepish writes "OSNews features an interview with Chris McKillop, software engineer of QNX Software Systems. Chris, the most outspoken and 'visible' QNX employee in the QNX community, is discussing about performance differences between RT and monolithic kernels, the difficulties of pitching a new OS to the world, the Linux and Microsoft threat to QNX in the embedded space, QNX's Momentics desktop operating system and more."

1 of 22 comments (clear)

  1. That's simple by Anonymous Coward · · Score: 3, Insightful
    It's a real time OS. It has hard realtime requirements. Lets say the program that is supposed to respond to an interrupt is swapped out. Then the hard realtime requirement has to include the maximum latency for seeking the disk head, the maximum rotational delay, plus all the regular overhead.


    Right now, it's a context switch. They have a well measured, well defined maximum time it takes to do a context switch. Depends on the machine, but it's absolutely consistant, and documented what the worst case is, on the 386's we used for an embedded system it was well under 10 milliseconds (the regular quantum of the QNX 4.2).

    I want to say it was on the order of microseconds. It was very, very fast.

    The other problem, is that swapping, and virtual memory create a whole new realm of non-repeatable test cases. It's complicates the OS, and the testing of the groups of applications a great deal. QNX is supposed to run in pace makers, the NASA shuttles, fuel injections systems, and all kinds of other places, where "Opps, guess we never hit that case in testing, call the Q/A team, or e-mail the mailing list to find a resolution", isn't acceptable. QNX is incredibly simple, well defined, and acts the same way all the time. That's the beauty of it. Swap is a horrible abberation, that greatly complicates the systems, and introduces whole new classes of bugs, races, priority inversions. Just all kinds of nastyness, which is completely acceptable on a desktop OS, and not at all acceptable on a RTOS.


    Kirby