On 13 Apr 2020, at 13:06, Andrew Warkentin 
<andreww...@gmail.com<mailto:andreww...@gmail.com>> wrote:

Kernel performance is not the only factor when it comes to performance
of microkernel OSes. An OS with a heavyweight structured RPC transport
layer with mandatory dynamic marshaling  and lots of vertical
separation of subsystems into multiple processes is likely to be
slower than an OS with an unstructured stream transport layer and
subsystems that are mostly single processes, even if both are built on
the same high-performance kernel.

Sure, OS structure matters a lot, and I’m certainly known for be telling people 
consistently that IPC payloads of more than a few words is a strong indicator 
of a poor design. Microkernel IPC should be considered a protected function 
call mechanism, and you shouldn’t pass more by-value data than you would to a C 
function (see 
https://microkerneldude.wordpress.com/2019/03/07/how-to-and-how-not-to-use-sel4-ipc/).

However, microkernel OS structure is very much determined by what security 
properties you want to achieve, in particular, which components to trust and 
which not. Less trust generally means more overhead, and the cost of crossing a 
protection domain boundary is the critical factor that determines this overhead 
for a given design.

It seems that most microkernel OSes
follow the former model for some reason, and I'm not sure why.

Which OSes? I’d prefer specific data points over vague claims.

Gernot
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to