Re: Codezero v0.2 Capabilities
Tom Bachmann <[email protected]> Mon, 07 Dec 2009 15:23:02 +0100
| Newsgroups | gmane.os.hurd.l4 |
|---|---|
| Message-ID | <[email protected]> |
> - The user API has been purposefully simplified, i.e. the capabilities > are hidden as much as possible from the userspace. The average > programmer need to know as little as possible about capability design. > For example you don't pass a capid to a system call. You pass resource > ids directly, but they get cap-checked internally. Once you want to > manipulate resource allocation in the system, you then need to > manipulate (unavoidably) capabilities and need to know what's going > on at that level. > I don't think that is really useful. Exposing protected capabilities is about the *only* thing a microkernel should do (imho. it also has to do some resource management but this should be exposed by capabilities as well). Moreover, there is no need to try to write a user interface to the kernel for "average programmers" because any decent system will wrap kernel calls in some fashion or another anyway. Furthermore, if you actually *can* design the user interface with these reasions in mind something very strange is going on. I wouldn't claim to be an expert, but both from my own experience and from what I have read coming up with *any* kernel interface that works (i.e. that both can be used to do what you want and can be implemented efficiently) is such a daunting task that "usability" (as in, "for average programmers") is really one of the first things you will push to userspace. Thanks, Tom