[coyotos-dev] Hi + some stuff I found researching
Haplo
starfirex at comcast.net
Wed Jul 12 17:48:18 EDT 2006
Well, about point C. I was afraid you'd say something like that,
which is why I have this compelling argument prepared :P.
1:I agree fully, the right thing to do is obviously to fix the code,
but this adds convenience for while that code is being fixed. Even on
MacOSX you'll occasionally run into a bad driver that causes a kernel
panic. The panic isn't a problem in coyotos, but errors will happen
and crashes will result, and a healing layer simply greatly reduces
the inconvenience. Also with the latter part of C, it could be
optionally made to provide convenience in fixing that code. In a
perfect world there's no place for a healing layer, but that's a very
"Linus" way of looking at it.
2:It's explicitly stated that your initial target application will be
mission critical applications. Now, to say that people developing
drivers for such applications will very carefully design and test
them would be accurate. To say that they would be entirely error free
is optimistic. Optimism isn't really appreciated when people's lives
or millions of dollars might be at stake, and in this case the
healing layer provides a level of protection against a worst-case
scenario. I'm pretty sure that's something which CAN be appreciated
by that particular audience.
about A:
That would depend on the implementation, but the various nuances of
that are beyond the current scope. We can discuss that when you come
to it.
about B:
Well, that wasn't exactly a very resolute response. The big question
is, how would it fly on x86 and popular RISC architectures? On one
hand, it could be a big win for IPC performance, but only if there's
a wide enough scope of "yes".
As for them being disk structures, I'm quite aware of that. The
question is how often would they be on disk and how often in resident
memory? If they're typically only on disk for persistence, then the
question becomes the serialization cost.
There's a lot of factors here, but it still might be useful enough to
consider.
On Jul 12, 2006, at 5:04 PM, Jonathan S. Shapiro wrote:
> On Wed, 2006-07-12 at 16:53 -0400, Haplo wrote:
>> A: Software feedback based scheduling. This seems like a good idea to
>> me. Priority based scheduling is just too limiting, and in the end it
>> all ends up "best guess" or the more common case is that most non-OS
>> associated apps are all given the same priority...
>
> Yes, and software-based feedback is extremely attractive. The problem
> with it is that it provides all applications with an unauthorized
> communication channel.
>
> We definitely need to look at this. I just wanted to point out that
> it's
> not a simple thing to do in a secure and robust system.
>
>> B:Executable data structures. This has limited use but could still
>> provide improvement. In this case it would be more like instantiating
>> an object than dynamically generating code. The most specific example
>> of where this might be useful - that I can give at least - would be
>> capability register pages. If a page can only hold a certain number
>> of indices, then in-lined code that "knows" about the capabilities
>> it's managing could traverse them quickly and return the capability
>> at the selected index....
>
> Remember that the capability pages are *disk* data structures....
>
> If you look at the HDTrans work, you will find that we know about
> executable data structures. Sometimes its a good thing, sometimes not.
> For the HDTrans sieve, it was a huge win.
>
> The problem is that the benefit for this type of data structure
> tends to
> be *extremely* dependent on the target CPU. Executable structures make
> great sense on IA-32 mainly because they let you avoid changes to
> condition codes (which are expensive). On other architectures, the
> case
> for them is much less clear.
>
>> C:Something not really synthesis related that I didn't mention
>> earlier for various reasons. A self-healing layer like in Minix-3.
>
> In 30 years of operating KeyKOS and EROS, we have yet to observe any
> real case that motivated a healing layer. The right thing to do is fix
> the code.
>
> Separately, you should know that Minix doesn't deserve credit for this
> idea. It's a *very* old idea. Goes back to at least 1957 that I know
> about.
>
> shap
>
> _______________________________________________
> coyotos-dev mailing list
> coyotos-dev at smtp.coyotos.org
> http://www.coyotos.org/mailman/listinfo/coyotos-dev
More information about the coyotos-dev
mailing list