[coyotos-dev] Some comments on Coyotos Microkernel Specification

Christopher Nelson paradox at BBHC.ORG
Sat Dec 10 18:55:10 EST 2005


 
> On the particular application being discussed here, I agree with
> Constantine
> Plotnikov's argument:
> 
> # I think that qualified name is better approach because it can
> # ensure that there are no collisions between well done
> # interface definitions. In Java such approach worked quite
> # well. There is usually no conflict between namespaces of
> # _useful_ libraries. In your approach, if there is a problem,
> # the problem is forever and it is unfixable
> 
> [without breaking compatibility for that type/interface]
> 
> # and it is not possible to determine in advance whether there is a
> conflict.
> # Note: there is usually no problem with distinguishing garbage
> # object from garbage object.
> #
> # Also using qualified name as type identifier gives an immediate hint
> where
> # to locate information about service and what service does. Integer
does
> not
> # provide any of this information. The alleged type can be printed by
the
> # directory listing program for example. The type names are much
better
> for
> # sorting and [searching?].
> 
> Note that strings used as type identifiers can easily be bounded
length
> (say, < 512 characters or bytes) without losing their human-factors
> advantages.

My understanding of the problem is that a string is bounded in the same
way that, say, an integer is bounded.  On a given platform and integer
is N bits.  Period.  No more, no less.  No operation is needed to find
out how long the integer is because its known at compile time.

Consider too the ramifications of comparison operators.  What is the
performance difference between:

5 < 6 ? 0 : 1
strcmp(s1,s2) ? : 0 : 1  

Quite a huge difference.  Even if the strcmp is inlined for every
occurrence, the difference is large.

Consider also the difficulties in keeping track of arbitrary length
strings, 
EVEN IF you truncate them to 512 bytes.  They are still arbitrary in
length,
And thus require more processing and more memory.

-={C}=-



More information about the coyotos-dev mailing list