* 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
* [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 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 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 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 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
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:45 [9fans] Looking for namespace details David Presotto
-- strict thread matches above, loose matches on Subject: below --
2003-02-08 16:43 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
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).