On Dec 18, 2017, at 7:46 AM, Larry McVoy
<lm(a)mcvoy.com> wrote:
On Mon, Dec 18, 2017 at 09:10:55PM +1100, Peter
Jeremy wrote:
On 2017-Dec-12 09:40:31 -0500, Clem Cole
<clemc(a)ccc.com> wrote:
My question about SOL got me thinking a bit. It would be nice to have
section in TUHS of any early clones that could be collected.
One thing I haven't seen mentioned is QNX - I didn't directly use it but a
colleague was using it in the mid-1980s on PC-AT class hardware.
I've used it in that timeframe. It was pretty amazing on a 286, you could
have multiple people logged in via terminals and get work done.
I became friends with one of the people who did the OS:
Dan Hildebrandt (QNX) 613-591-0931 x204 (RIP 1998)
I can't remember how we crossed paths, but we both cared about design
a lot and liked bouncing ideas off of each other.
QNX was an actual microkernel, the kernel part neatly fit in a 4K
instruction cache. I remember Dan telling me that it worked because
only a few people were allowed to touch the actual kernel, they wanted
to keep it small and fast.
This was all pre-posix, it was Unix-like but porting stuff was much
harder than going from SunOS to IRIX.
I think that it lives on in cars, someone told me that QNX is the basis
for a lot of the car stuff. Anyone know?
OKL4 (a variant of L4 micro kernel) is supposedly in billions of mobile
devices. Apple’s “Secure Enclave” runs a modified version of L4. Likely
OKL4. Their claim to fame is that it is “provably correct”. L4 is derived
from Liedke’s L3 and is much more portable than L3. OKL4 and seL4
we’re both owned by Open Kernel Labs, which is now owned by General
Dynamics. Now seL4 has been open sourced. There have been a few
variations of L4 over time with names like fiasco & Pistachio etc. L4 is
simpler than Mach or QNX. What I like about seL4 is that it is capability
based.
A contract I did ages ago was for a company that used QNX on their
text to speech 286 based board. It had a peculiar crash only when
used in a complex setup. After about a month of close study
and experiments I guessed it was an Intel bug. Intel refused to
help so then I had to catch it in action in a live setup, at which point
Intel fessed up! Any way, I learned a bunch about QNX back then.