> On Dec 18, 2017, at 7:46 AM, Larry McVoy wrote: > >> On Mon, Dec 18, 2017 at 09:10:55PM +1100, Peter Jeremy wrote: >>> On 2017-Dec-12 09:40:31 -0500, Clem Cole 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.