9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Thomas Bushnell, BSG" <tb+usenet@becket.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Plan 9
Date: Mon,  5 Nov 2001 10:20:38 +0000	[thread overview]
Message-ID: <87y9lpuih4.fsf@becket.becket.net> (raw)
In-Reply-To: <20011102135323.938F819A04@mail.cse.psu.edu>

rob@plan9.bell-labs.com (rob pike) writes:

> Any 'link' can be per-process in Plan 9, but in practice only those ones
> that need to be are invested with the trouble to make them so. Otherwise,
> I would have to write down somewhere what all the default links would
> be for a process when it starts running, and that would be a huge
> list of information and also unpredictable since I can't say what resources
> the process is likely to need dynamically.

Right, that's what I meant by "leave aside implementation for the
moment". :)  I understand why it might be challenging to do it
efficiently.

> In other words, in Plan 9 all links *can* be per-process but only those
> that *need* to be actually are.  Why do it differently?
>
> Or perhaps I don't understand what you're asking.

In a logical sense then, every link *is* per-process.  (Because if it
can be, then in a very real sense, it already is, even if all
processes happen to agree about it.)

So in that case, in Plan 9 there are at least four different sets of
tools for making a new link--at least.  Some sample places that links
get specified:

  * Default links go in the fileserver's data structures on disk, and
    are manipulated by a host of cooperating programs and syscalls.
  * Other defaults go in the file that specifies the initial contents
    of users' mount tables.
  * Users have startup files that fill their mount tables with links.
  * Shell commands and syscalls are available to change the mount
    tables transiently.

Now by far the easiest is the first (if only because there are so many
tools to manipulate such links).

(If you wonder what I'm asking, it's because I'm trying to home in on
a concept, not that I already have it full developed.)

So perhaps part of the issue is a unification of the different kinds
of links, and a reduction in the number of tools and places that all
manipulate and store information about what links there are.

There are two things about links that seem important:

  * Is the link shared between processes/users, and how?
  * Is the link transient or permanent?

You are certainly correct that most links will be shared among most
users; having on-disk data structures that represent them is a
perfectly decent implementation strategy, but now I hope it's clear
that this is just an implementation detail, and need not directly
influence the appearance of the system to the user.

Thomas


  reply	other threads:[~2001-11-05 10:20 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-02 13:53 rob pike
2001-11-05 10:20 ` Thomas Bushnell, BSG [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-08-30 10:15 [9fans] plan 9 nigel
2002-08-30  9:57 Isaac Stern
2001-11-13 10:53 [9fans] Plan 9 Fco.J.Ballesteros
2001-11-09 22:39 David Gordon Hogan
2001-11-09 12:25 geoff
2001-11-12 10:32 ` Thomas Bushnell, BSG
2001-11-12 15:11   ` Ozan Yigit
2001-11-13  0:15     ` Jim Choate
2001-11-12 11:41 ` Sam Ducksworth
2001-11-13 10:25   ` Thomas Bushnell, BSG
2001-11-09  1:47 okamoto
2001-11-08 15:05 presotto
2001-11-08 14:44 forsyth
2001-11-08 14:02 presotto
2001-11-09  0:25 ` Dan Cross
2001-11-09 10:08 ` Thomas Bushnell, BSG
2001-11-09 17:31   ` Dan Cross
2001-11-12 10:33     ` Thomas Bushnell, BSG
2001-11-13  2:10       ` Dan Cross
2001-11-13 10:34         ` Thomas Bushnell, BSG
2001-11-08 13:07 Bruce Janson
2001-11-09 10:07 ` Thomas Bushnell, BSG
2001-11-08 13:06 rob pike
2001-11-09 10:08 ` Thomas Bushnell, BSG
2001-11-07 18:05 anothy
2001-11-07 17:43 anothy
2001-11-07 17:47 ` Boyd Roberts
2001-11-07 17:28 Russ Cox
2001-11-08 10:39 ` Thomas Bushnell, BSG
2001-11-08 19:38   ` Steve Kilbane
2001-11-09 10:18     ` Thomas Bushnell, BSG
2001-11-07 12:58 rob pike
2001-11-08 10:39 ` Thomas Bushnell, BSG
2001-11-07 11:00 geoff
2001-11-08 10:39 ` Thomas Bushnell, BSG
2001-11-07 10:03 forsyth
2001-11-08 10:38 ` Thomas Bushnell, BSG
2001-11-07  1:09 David Gordon Hogan
2001-11-06 18:46 anothy
2001-11-07  9:44 ` Thomas Bushnell, BSG
2001-11-06 18:14 forsyth
2001-11-07  9:43 ` Thomas Bushnell, BSG
2001-11-06 18:07 presotto
2001-11-07  9:44 ` Thomas Bushnell, BSG
2001-11-06 16:59 anothy
2001-11-06 17:54 ` Thomas Bushnell, BSG
2001-11-06 13:45 nigel
2001-11-06 13:33 rob pike
2001-11-06 17:53 ` Thomas Bushnell, BSG
2001-11-06  1:14 presotto
2001-11-06  1:30 ` Scott Schwartz
2001-11-06  1:37   ` YAMANASHI Takeshi
2001-11-05 21:47 David Gordon Hogan
2001-11-05 21:53 ` andrey
2001-11-06 10:31   ` Jonadab the Unsightly One
2001-11-06 10:32   ` Thomas Bushnell, BSG
2001-11-06 10:43 ` pac
2001-11-05 21:04 rob pike
2001-11-05 21:00 Richard Miller
2001-11-05 18:18 anothy
2001-11-06  1:06 ` YAMANASHI Takeshi
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 10:32 ` Thomas Bushnell, BSG
2001-11-05 17:45 forsyth
2001-11-05 17:44 ` Boyd Roberts
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 13:34   ` Tomas
2001-11-05 15:48 presotto
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 10:32 ` Thomas Bushnell, BSG
2001-11-06 17:53   ` Ozan Yigit
2001-11-02 18:36 Russ Cox
2001-11-05 16:49 ` Jonadab the Unsightly One
2001-11-05 17:21   ` Ian Cooper
2001-11-06 10:30     ` Jonadab the Unsightly One
2001-11-02 17:57 forsyth
2001-11-02 18:22 ` Boyd Roberts
2001-11-02 17:26 Russ Cox
2001-11-02 18:29 ` Boyd Roberts
2001-11-05 10:21 ` Thomas Bushnell, BSG
2001-11-05 16:49 ` Jonadab the Unsightly One
2001-11-05 17:08   ` Boyd Roberts
2001-11-06 10:23     ` Jonadab the Unsightly One
2001-10-29 21:08 David Gordon Hogan
2001-11-05 15:00 ` Jonadab the Unsightly One
2001-10-26 15:12 Russ Cox
2001-10-29 10:16 ` Ozan Yigit
2001-10-25 17:52 Russ Cox
2001-10-26  9:23 ` Wladimir Mutel
2001-10-26 15:03   ` William Josephson
2001-10-26 20:14     ` Dan Adkins
2001-10-25 12:45 rob pike
2001-10-25 13:47 ` Borja Marcos
2001-10-25 21:52   ` Jim Choate
2001-10-26  8:35     ` Lucio De Re
2001-10-25 16:59 ` Wladimir Mutel
2001-11-01  9:47 ` Randolph Fritz
2001-11-01 14:18   ` Ronald G Minnich
2001-11-02  9:58   ` Thomas Bushnell, BSG
2001-11-02 11:43     ` Wladimir Mutel
2001-11-02 12:39       ` Alexander Viro
2001-11-05 14:11         ` Wladimir Mutel
2001-11-05 15:13           ` Alexander Viro
2001-11-05 16:30             ` Boyd Roberts
2001-11-05 17:37               ` Alexander Viro
2001-11-05 17:42                 ` Boyd Roberts
2001-11-05 18:04                   ` Alexander Viro
2001-11-05 18:30                     ` Boyd Roberts
2001-11-05 19:58                     ` Ronald G Minnich
2001-11-02 15:36       ` Ronald G Minnich
2001-11-02 15:42         ` andrey
2001-11-02 15:54           ` Ronald G Minnich
2001-11-05 15:01 ` Jonadab the Unsightly One
2001-11-05 15:29   ` Markus Friedl
2001-11-05 15:49   ` Lucio De Re
2001-11-06 10:23     ` Jonadab the Unsightly One
1998-11-13  8:29 Scott
1998-11-11 21:08 Mats

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y9lpuih4.fsf@becket.becket.net \
    --to=tb+usenet@becket.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).