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