9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Looking for namespace details
@ 2003-02-08 16:43 Glenn McGuire
  2003-02-08 16:46 ` Dan Cross
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Glenn McGuire @ 2003-02-08 16:43 UTC (permalink / raw)
  To: 9fans

Hi,
	I'm trying to understand how namespaces are implemented in Plan9, and
I've run into a block.  I started tracing stuff like 'bind' and 'open'
through the source code, and they all point to
/sys/src/libc/9syscall/<blah>.s

All of these (dynamically generated) assembly functions appear to cause
a jump to a dispatch table.  ("INT 64, vec"-- a newbie guess would say
that we're jumping from user space to kernel space?)

My question is -- where is the code for the kernel side of these calls?
	-gm



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

* Re: [9fans] Looking for namespace details
  2003-02-08 16:43 [9fans] Looking for namespace details Glenn McGuire
@ 2003-02-08 16:46 ` Dan Cross
  2003-02-08 16:46 ` Russ Cox
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Dan Cross @ 2003-02-08 16:46 UTC (permalink / raw)
  To: 9fans

You are correct about what they're doing.  The code is in
/sys/src/9/port and /sys/src/9/pc (or whatever architecture
you're using).

	- Dan C.



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

* Re: [9fans] Looking for namespace details
  2003-02-08 16:43 [9fans] Looking for namespace details Glenn McGuire
  2003-02-08 16:46 ` Dan Cross
@ 2003-02-08 16:46 ` Russ Cox
  2003-02-08 17:17 ` rob pike, esq.
  2003-02-10  8:32 ` Fco.J.Ballesteros
  3 siblings, 0 replies; 7+ messages in thread
From: Russ Cox @ 2003-02-08 16:46 UTC (permalink / raw)
  To: 9fans

directly, /sys/src/9/port/sysfile.c.
but the code you care about (for name
spaces) is in /sys/src/9/port/chan.c
with a little in /sys/src/9/port/pgrp.c.

russ



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

* Re: [9fans] Looking for namespace details
  2003-02-08 16:43 [9fans] Looking for namespace details Glenn McGuire
  2003-02-08 16:46 ` Dan Cross
  2003-02-08 16:46 ` Russ Cox
@ 2003-02-08 17:17 ` rob pike, esq.
  2003-02-10  8:32 ` Fco.J.Ballesteros
  3 siblings, 0 replies; 7+ messages in thread
From: rob pike, esq. @ 2003-02-08 17:17 UTC (permalink / raw)
  To: 9fans

> My question is -- where is the code for the kernel side of these calls?

Some of the system calls are wrapped in libc first - for example,
read() is a wrapper for pread() - but on average, system call foo is
connected by a trap through a table defined in
/sys/src/9/port/systab.h (generated automatically from
/sys/src/libc/9syscall/sys.h) to a routine in /sys/src/9/port/sys*.c
called sysfoo().  A few later system calls appear in files not
beginning with "sys", a regrettable lapse.

-rob



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

* Re: [9fans] Looking for namespace details
  2003-02-08 16:43 [9fans] Looking for namespace details Glenn McGuire
                   ` (2 preceding siblings ...)
  2003-02-08 17:17 ` rob pike, esq.
@ 2003-02-10  8:32 ` Fco.J.Ballesteros
  2003-02-13  0:30   ` Glenn McGuire
  3 siblings, 1 reply; 7+ messages in thread
From: Fco.J.Ballesteros @ 2003-02-10  8:32 UTC (permalink / raw)
  To: 9fans

Try also with http://plan9.escet.urjc.es/who/nemo/9.ps.gz

It describes how the kernel works, including namespaces (although
for an old version of the kernel).



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

* Re: [9fans] Looking for namespace details
  2003-02-10  8:32 ` Fco.J.Ballesteros
@ 2003-02-13  0:30   ` Glenn McGuire
  0 siblings, 0 replies; 7+ messages in thread
From: Glenn McGuire @ 2003-02-13  0:30 UTC (permalink / raw)
  To: 9fans

Thanks all.
I didn't expect such speedy replies on a saturday!
	-gm



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

* Re: [9fans] Looking for namespace details
@ 2003-02-08 16:45 David Presotto
  0 siblings, 0 replies; 7+ messages in thread
From: David Presotto @ 2003-02-08 16:45 UTC (permalink / raw)
  To: foo, 9fans

in /sys/src/9/port	- chan.c (the actual namespace), sysfile.c (the system calls for
changing the namespace)


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

end of thread, other threads:[~2003-02-13  0:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-08 16:43 [9fans] Looking for namespace details Glenn McGuire
2003-02-08 16:46 ` Dan Cross
2003-02-08 16:46 ` Russ Cox
2003-02-08 17:17 ` rob pike, esq.
2003-02-10  8:32 ` Fco.J.Ballesteros
2003-02-13  0:30   ` Glenn McGuire
2003-02-08 16:45 David Presotto

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).