Re: Reviewing Hurd-on-L4 (and considering its future?)

Paul Boddie <[email protected]> Fri, 25 May 2018 14:49:00 +0200
Newsgroups gmane.os.hurd.l4
Message-ID <[email protected]>
On Friday 25. May 2018 10.51.48 Richard Braun wrote:
>=20
> I don't think the problems we've experienced with Mach would translate to
> an L4 based port, because they were really related to the kernel interfac=
e,
> which most L4 implementations don't even provide, such as object
> capabilities (I think OKL4 is the only one to do this) and high level
> virtual memory operations such as paging for anonymous memory.
>=20
> On a side note, I personally consider object capabilities a strong
> requirement for a Hurd-like system.

Doesn't Fiasco.OC provide sufficient object capability support, or is the "=
OC"=20
labelling not accurate according to certain criteria? (I can envisage peopl=
e=20
having differing ideas about capability systems.)

"Object-oriented capability system - Unified universal mechanism for naming=
,=20
authorization and communication control"

http://l4re.org/fiasco/features.html

Going a bit deeper...

"Fiasco.OC kernel services are implemented in kernel objects. Tasks hold=20
references to kernel objects in their respective "object space", which is a=
=20
kernel-protected table. These references are called capabilities. Fiasco=20
system calls are function invocations on kernel objects through the=20
corresponding capabilities."

http://l4re.org/doc/l4re_intro.html#fiasco_intro

"As a matter of fact, a system designed solely based on capabilities, uses =
so-
called 'local names', because each task can only access those objects made=
=20
available to this task. Other objects are not visible to and accessible by =
the=20
task."

http://l4re.org/doc/l4re_concepts_naming.html

=46rom a practical perspective, and from my limited experience writing simp=
le=20
servers and configuring them, one uses the init program (Ned) to define=20
capabilities and to assign them to programs. It shouldn't be possible to fa=
ke=20
capabilities due to the design of the system.

How capabilities are transferred and shared is another matter, and I suppos=
e=20
that this is where the real design effort begins.

Paul