Hello!
Larry? I'm surprised. I've worked with QNX a few times. I also grok
that you're one who has mad respect for QNX. Because I'm one also.
It's an interesting OS,
-----
Gregg C Levine gregg.drwho8(a)gmail.com
"This signature fought the Time Wars, time and again."
On Mon, Jul 20, 2020 at 9:53 PM Larry McVoy <lm(a)mcvoy.com> wrote:
On Mon, Jul 20, 2020 at 06:54:40AM -0600, Andrew Warkentin wrote:
On 7/20/20, Larry McVoy <lm(a)mcvoy.com>
wrote:
This isn't quite the same but Victor
Yodaiken wrote a real time kernel
that ran all of Linux as a user process. Super cool idea and it worked
great, he would demo it sampling the parallel port while Linux was running
some X11 perf thing, tarring up /usr and untarring on nfs://server/tmp/usr
and doing a ftp transfer. Basically beating the crap out of Linux as
hard as he could while running a real time sampler and it never missed.
Clem should pay attention, in my opinion, this is how you do Unix and
real time. Because Unix is time sharing and throughput, that is the
opposite of what real time is. Wedging real time into Unix is a mistake.
QNX manages to do realtime fairly decently while still being
Unix-like, although it's certainly not a conventional Unix. With a
multi-server OS with a properly designed microkernel, it is possible
for realtime threads to more or less ignore the fact that they're
running on a Unix-like OS (provided that they can access some kind of
IPC API that closely matches that of the kernel) since all the OS
services other than the microkernel are running beside them at
non-realtime priorities, and not underneath them as in a conventional
OS. It's kind of doing the same thing as running a Unix kernel as a
process under a realtime kernel, but the Unix environment is
implemented by servers and libraries instead of a monolithic kernel.
QNX is awesome.
I was friends with Dan Hildebrandt, he was one of the 3 people who were
allowed to touch the microkernel code. That kernel could fit easily in
a 4K instruction cache and leave room for other processes. They measured
everything in cache misses, every commit had them thinking about cache
misses.
I'm definitely a unikernel guy but I had mad respect for QNX, Dan and
I would talk often about stuff, like how would this work in your world
and how would it work in my world. The QNX core team was amazing.
Sadly, we lost Dan to brain cancer (I think) in 1998.
--
---
Larry McVoy lm at
mcvoy.com http://www.mcvoy.com/lm