Re: Macintosh kernel out

Linus Torvalds (torvalds@cs.helsinki.fi)
Mon, 27 May 1996 12:48:53 +0300 (EET DST)


> David S. Miller wrote:
>
> > Besides a real native port would be much faster. ;)
>
> So where does QNX fit into this scheme? It's certainly not a
> monolithic kernel (ie: It has a 10kbyte microkernel).

Umm, QNX is a fine microkernel, but unless they've changed it radically it
doesn't really do everything you expect of a end-user system. It's fine for
real-time specialized stuff, but as a general system? I don't think so.

For example, at least older versions of QNX didn't use separate page-tables for
different processes, so you have a 4GB virtual address space _total_. That's
not really usable (linux used to do that in the 0.12 days or so, we had to fix
it). It results in good context switch numbers, though, because you don't have
to switch the page tables or invalidate the TLB. It also means that you can
easily do inter-process communication by simply copying from one segment to
another - important in a microkernel.

They may have changed the way it works, and I may not be up-to-date on QNX, so
don't take the above as gospel truth. But I wanted to point out that it's easy
enough to get good performance if you don't do a "full" job..

Linus