[geeks] State of the BSDs (Was: [rescue] Transplanting a Sun Fire V210 motherboard - PSU requirements?)

Mouse mouse at Rodents-Montreal.ORG
Thu Feb 28 02:51:05 CST 2013


> If you're careful (in the OS) to preserve existing interfaces then
> application code shouldn't break.

To cite the kind of breakage I've most often run into that violates
this, adding a new call can easily produce conflicts with code that
used the (formerly unused) name for its own purposes.

The most recent example of this I've run into is actually in the
kernel, timer_tick, but I've run into it in userland too.  (Not
recently enough to remember enough details to find an example.)

> But if you stay within the system as it's meant to be used,

I'm not sure how "meant to be used" is a coherent concept, here.  If
the system provides the interfaces, how are they not meant to be used?

Certainly there are potential interfaces which are neither advertised
nor supported, such as (to pick an extreme example) calling pieces of
libc with horrors like (*(int (*)(const char *, int))0x00721480)(".",2).

But the context here makes it sound as though "meant to be used" is
talking about running just OS-provided packageas.  Any system on which
compiling and running my own code is an unadvertised and unsupported
interface is crippled to the point I'm tempted to call it outright
useless to me.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse at rodents-montreal.org
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


More information about the geeks mailing list