> 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). And for what
it's worth, I looked at their web page:
http://www.qnx.com/product/perform.html
----------------------------------------------------------------------------
Performance Profile*
Context switching: 5 microseconds (full, user-level switch)
Interrupt latency: 7 microseconds
Disk I/O: 2.8 Mbytes/second
Network throughput: 1.0 Mbytes/second
Serial I/O: 115 Kbaud
* Measured on a 66 MHz 486DX2 with a Buslogic BT-445S SCSI
controller,
Maxtor MXT-1240S disk drive, and NE2000 Ethernet card.
Interrupt and process latency (times in microseconds)
Interrupt Context
Processor latency* switch
------------ --------- -------
60 Mhz Pentium 4 5
66 Mhz 486 6 5
33 Mhz 486 8 12
33 Mhz 386 11 30
16 Mhz 386SX 32 90
8 Mhz 286 65 175
With nested interrupts, these interrupt latencies represent the
worst-case latency for the highest priority interrupt. Interrupt
priority is user-definable and the interrupt latency for
lower-priority interrupt sources is defined by the user's
application-specific interrupt handlers.
----------------------------------------------------------------------------
I'd be a little reluctant to write off a design simply because it's a
microkernel. Granted, MACH isn't renowned for it's blinding
speed. ;-)
Roman