[openbeos] Re: Kernel status (POSIX)

  • From: Erik Reid <reide@xxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Wed, 02 Jan 2002 19:57:07 -0700

Quoth "Michael Phipps":
>>I agree totally that mandating portability makes sense.  I don't know that 
>>it's
>>a good idea to mandate specifically that PPC support should be in there or 
>>not,
>>though PPC is probably the next most likely target after i386..
>>
>><shrug>
>
>What does it mean to mandate portability?
>Does it mean writing no assembly code at all? Go ahead and try to write a 
>kernel that wa
>y. :-)

Well, of course not. :)

>Does it mean writing as little assembly as possible? That is good kernel 
>design.

Good for design, not so good for speed.

>Does it mean being modular? That, too, is good kernel design. And the BeOS way.

This is exactly it.  Make strong use of abstraction layers, when appropriate.  
Use
a nice clean interface, so it's easy to write a few simple assembly functions 
to get
a port *running*, but it isn't necessary to stick just to C, inlined assembly is
fine too, and can be extremely beneficial.  I've seen bits of NetBSD be 
rewritten
as assembly, and improve say, network performance by 5-20%, depending on the 
hardware,
yet not impact portability whatsoever, since there's still the C functions 
available
for new ports until whatever time they choose to write the optimized version, 
or not. :)

When it comes down to it, it's not too difficult to work in the portability 
bits,
and the gain is huge when someone wants to add New Platform X(tm) support to the
OS.

>I am not sure what I, as a kernel developer, should feel mandated to do, here.

You're the one making the decisions at the moment, I think.. :)
You choose the mandates, I'm just throwing in my CAD0.02 (effectively nothing! 
Yay!) :)


Other related posts: