9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] more "Plan 9 from Bell Labs" questions
@ 2011-04-04  9:36 faif
  2011-04-04 10:10 ` Gorka Guardiola
  2011-04-04 15:53 ` Ethan Grammatikidis
  0 siblings, 2 replies; 4+ messages in thread
From: faif @ 2011-04-04  9:36 UTC (permalink / raw)


"9P has two forms: RPC messages sent on a pipe or network connection
and a procedural interface within the kernel. Since kernel device
drivers are directly addressable, there is no need to pass messages to
communicate with them;"

Are the device drivers really in kernel space? It seems that Plan 9 is
an ideal design for moving buggy software like 3rd party drivers into
the user space.

Just wondering if anybody has worked on the TODO things mentioned in
the paper:

"Using streams to implement network interfaces in the kernel allows
protocols to be connected together dynamically, such as to attach the
same TTY driver to TCP, URP, and IL connections, but Plan 9 makes no
use of this configurability."

"Although Plan 9 has per-process name spaces, it has no mechanism to
give the description of a process?s name space to another process
except by direct inheritance."



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [9fans] more "Plan 9 from Bell Labs" questions
  2011-04-04  9:36 [9fans] more "Plan 9 from Bell Labs" questions faif
@ 2011-04-04 10:10 ` Gorka Guardiola
  2011-04-04 15:53 ` Ethan Grammatikidis
  1 sibling, 0 replies; 4+ messages in thread
From: Gorka Guardiola @ 2011-04-04 10:10 UTC (permalink / raw)


On Mon, Apr 4, 2011 at 11:36 AM, faif <faifgnu at gmail.com> wrote:
> "9P has two forms: RPC messages sent on a pipe or network connection
> and a procedural interface within the kernel. Since kernel device
> drivers are directly addressable, there is no need to pass messages to
> communicate with them;"
>
> Are the device drivers really in kernel space? It seems that Plan 9 is
> an ideal design for moving buggy software like 3rd party drivers into
> the user space.
>

Some of them are. Vga is, for example, usb is half in (usbd), half out
(usb/disk). Whenever possible it is better to have things in user space
(protection, easy to debug, etc). Sometimes for efficiency reasons it
is better inside (less context switches, no marshalling of 9P etc.).

> Just wondering if anybody has worked on the TODO things mentioned in
> the paper:
>
> "Using streams to implement network interfaces in the kernel allows
> protocols to be connected together dynamically, such as to attach the
> same TTY driver to TCP, URP, and IL connections, but Plan 9 makes no
> use of this configurability."
>

I am guessing this is why there are no streams any more :-).

> "Although Plan 9 has per-process name spaces, it has no mechanism to
> give the description of a process?s name space to another process
> except by direct inheritance."
>
>

There is no way to do this now in plan 9 as it is AFAIK.
The best you can try to do is get the namespace /proc/*/ns and try to recreate
it which is not exactly the same.

G.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [9fans] more "Plan 9 from Bell Labs" questions
  2011-04-04  9:36 [9fans] more "Plan 9 from Bell Labs" questions faif
  2011-04-04 10:10 ` Gorka Guardiola
@ 2011-04-04 15:53 ` Ethan Grammatikidis
  2011-04-04 16:02   ` erik quanstrom
  1 sibling, 1 reply; 4+ messages in thread
From: Ethan Grammatikidis @ 2011-04-04 15:53 UTC (permalink / raw)



On 4 Apr 2011, at 9:36 am, faif wrote:
>
> "Using streams to implement network interfaces in the kernel allows
> protocols to be connected together dynamically, such as to attach the
> same TTY driver to TCP, URP, and IL connections, but Plan 9 makes no
> use of this configurability."

This one makes no sense to me. TTY driver... network interface? If  
those two things make sense together, it still makes no sense to put  
them both together in the Plan 9's kernel, I'm sure.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [9fans] more "Plan 9 from Bell Labs" questions
  2011-04-04 15:53 ` Ethan Grammatikidis
@ 2011-04-04 16:02   ` erik quanstrom
  0 siblings, 0 replies; 4+ messages in thread
From: erik quanstrom @ 2011-04-04 16:02 UTC (permalink / raw)


On Mon Apr  4 11:54:45 EDT 2011, eekee57 at fastmail.fm wrote:
> 
> On 4 Apr 2011, at 9:36 am, faif wrote:
> >
> > "Using streams to implement network interfaces in the kernel allows
> > protocols to be connected together dynamically, such as to attach the
> > same TTY driver to TCP, URP, and IL connections, but Plan 9 makes no
> > use of this configurability."
> 
> This one makes no sense to me. TTY driver... network interface? If  
> those two things make sense together, it still makes no sense to put  
> them both together in the Plan 9's kernel, I'm sure.

plan 9 is fairly unique in that a file server can just as easily
be in the kernel, or in user space, or on another machine; and
a device driver is nothing more than a file server.  put 'em
all in the kernel for purely parsimonious reasons doesn't make
too much sense to me.

but that's just in theory.  in practice, it's been
easiest, simplist and fastest to put most hw
drivers in the kernel.

by the way, you can plug file servers together regardless of where they
live.  kernel, user space, another machine.  it matters not.

- erik



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-04-04 16:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-04  9:36 [9fans] more "Plan 9 from Bell Labs" questions faif
2011-04-04 10:10 ` Gorka Guardiola
2011-04-04 15:53 ` Ethan Grammatikidis
2011-04-04 16:02   ` erik quanstrom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).