9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "David Leimbach" <leimy2k@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu>
Subject: Re: [9fans] Install from CD fails
Date: Tue, 18 Apr 2006 12:22:30 -0700	[thread overview]
Message-ID: <3e1162e60604181222j5901d428udd71067d75336001@mail.gmail.com> (raw)
In-Reply-To: <c73d3e7d661036a27571acf9fd1b059a@terzarima.net>

On 4/18/06, Charles Forsyth <forsyth@terzarima.net> wrote:
> >>
> >> Don't shared libraries also typically provide memory savings?  One
> >> version of your c library "resident" for all VM spaces to map?
> >>
>
> that's often quoted as a consequence, but in practice,
> not that i've seen in ...  what is it now?  ...  at least six or
> seven different systems.  i think the trouble is that to get savings
> that make the pain worthwhile you still need various forms of
> discipline, but with shared libraries, people are even less concerned.
> and RSS continues up.

That's interesting to know.  I've heard a lot of the theory but have
experienced far too little of the reality of these systems (at least
in ways in which it seems to affect me).

So the reality of actually seen improvements from shared libs is really.

a) Not having to rebuild everything that's dynamically linked.
b) space savings of binary files.

b - is not such a big deal.  Hard disks are huge (I remember my 60MB
Hard disk on my old 286... I was soo impressed, it seemed like
infinity, I was 10 years old.)

That plus it sounds like in cases where it really matters, we have
good alternatives to deal with this.

a - this becomes more of a time saver and supposedly simplifies
knowing what things need to be rebuilt.  Vulnerabilities in a shared
lib are "automatically" fixed.

However, for the same reasons a is good, it's also bad.  Lots of
binaries might look for libqt.so and expect qt-1.x.  Your friendly
sysadmin may have installed libqt.so but it symlinks to libqt-4.x.

Apple tried to solve this by introducing "two-level" namespaces.  Not
only is the library linked but the path to it.  Again, the theory
sounds good but it's not convincing in practice.  The BSDs went with
variant symlinks (FreeBSD and Dragonfly will or do both have these)

The interesting thing is that Plan 9's great namespace manipulation
functionality + the fact that each process can have a private
namespace means that Plan 9 probably has the best shot at dealing with
"DLL-hell", like when 10 programs need 10 different versions of the
same shared library to run respectively.  A simple script wrapped
around the loading of a program can set up a namespace such that
ambiguities don't exist.

This is why I think "cheap" and correct private namespaces are
interesting to Unix actually.  The problem is too much is stored in
the filesystem and accessible by users who really don't need to see
certain files.  A masking bind over /etc/passwd could be disasterous
on Unix and I don't think anyone has really solved this problem yet on
Linux where it seems the only way to make private namespaces "safe" is
to allow only the root user to create a new namespace and binding
mounts.

On the surface it appears easier for Plan 9 to adopt shared libs than
it would be for Unix to do namespaces properly :).  That's really the
only reason I'm interested in shared libs really. (especially since
the claim of memory savings appears to be false).

Dave

>
> another is bug fixing at a stroke, but it also allows
> bug and trapdoor introduction at a stroke.
>
>


  reply	other threads:[~2006-04-18 19:22 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-17 22:07 Bakul Shah
2006-04-18  0:01 ` Russ Cox
2006-04-18 14:36   ` Gorka guardiola
2006-04-18 15:47     ` Russ Cox
2006-04-18 14:45       ` Ronald G Minnich
2006-04-18 16:12         ` Charles Forsyth
2006-04-18 16:42           ` andrey mirtchovski
2006-04-18 16:46           ` Bruce Ellis
2006-04-18 16:47             ` Charles Forsyth
2006-04-18 17:41               ` Brantley Coile
2006-04-18 17:46               ` David Leimbach
2006-04-18 17:55                 ` Bruce Ellis
2006-04-18 18:06                   ` Francisco J Ballesteros
2006-04-18 22:37                     ` Skip Tavakkolian
2006-04-18 18:54                   ` Charles Forsyth
2006-04-18 19:22                     ` David Leimbach [this message]
2006-04-18 20:14                       ` lucio
2006-04-18 20:34                       ` Russ Cox
2006-04-18 19:52                         ` David Leimbach
2006-04-20 21:16                         ` Latchesar Ionkov
2006-04-18 20:45                       ` Ronald G Minnich
2006-04-18 21:08                         ` David Leimbach
2006-04-18 21:39                       ` Roman Shaposhnick
2006-04-18 21:54                         ` David Leimbach
2006-04-18 23:19                           ` Brantley Coile
2006-04-19  1:05                             ` Roman Shaposhnick
2006-04-19 14:17                             ` David Leimbach
2006-04-19 14:31                               ` Charles Forsyth
2006-04-19 15:32                               ` Chad Dougherty
2006-04-19 15:45                                 ` David Leimbach
2006-04-19 15:57                                   ` Federico G. Benavento
2006-04-19 17:45                                     ` David Leimbach
2006-04-19 23:56                                       ` geoff
2006-04-19 16:49                                   ` Russ Cox
2006-04-19 17:50                                     ` David Leimbach
2006-04-19 17:55                                       ` Federico G. Benavento
2006-04-19 18:45                                       ` Charles Forsyth
2006-04-19 18:55                                         ` David Leimbach
2006-04-18 23:27                           ` Roman Shaposhnick
2006-04-18 23:29                           ` Federico G. Benavento
2006-04-18 23:48                             ` Lyndon Nerenberg
2006-04-19 14:25                             ` David Leimbach
2006-04-19 14:31                               ` Ronald G Minnich
2006-04-19 15:51                                 ` Tim Wiess
2006-04-19 19:53                                 ` Wes Kussmaul
2006-04-20 14:39                                   ` Ronald G Minnich
2006-04-20 15:50                                     ` Jack Johnson
2006-04-20 21:20                                       ` Ronald G Minnich
2006-04-20 21:42                                         ` Dan Cross
2006-04-20 22:06                                           ` Brantley Coile
2006-04-21  3:43                                           ` Ronald G Minnich
2006-04-21  4:37                                             ` Dan Cross
2006-04-21 16:08                                               ` Ronald G Minnich
2006-04-20 22:09                                         ` Wes Kussmaul
2006-04-20 23:09                                           ` Charles Forsyth
2006-04-21  3:45                                           ` Ronald G Minnich
2006-04-21  4:31                                             ` Dan Cross
2006-04-21 13:36                                               ` Christoph Lohmann
2006-04-21  4:46                                             ` lucio
2006-04-18 19:34                     ` jmk
2006-04-18 19:52                       ` David Leimbach
2006-04-18 20:34                     ` Roman Shaposhnick
2006-04-18 21:04                     ` Dan Cross
2006-04-18 21:11                       ` Charles Forsyth
2006-04-18 21:16                         ` Dan Cross
2006-04-18 21:21                         ` David Leimbach
2006-04-18 21:24                       ` David Leimbach
2006-04-19  2:53                         ` geoff
2006-04-19  3:16                           ` Dan Cross
2006-04-19  3:28                             ` geoff
2006-04-20 22:35                           ` Roman Shaposhnick
2006-04-19  3:02                         ` Dan Cross
2006-04-18 20:44                 ` Ronald G Minnich
2006-04-20  3:10                   ` LiteStar numnums
2006-04-18 16:48             ` Charles Forsyth
2006-04-18 16:58               ` Bruce Ellis
2006-04-18 17:02             ` uriel
2006-04-18 17:30               ` Bruce Ellis
2006-04-18 20:21           ` Richard Miller
2006-04-18 21:10             ` Charles Forsyth
2006-04-19  1:14             ` geoff
2006-04-19 12:49               ` Richard Miller
2006-04-19 13:21                 ` Charles Forsyth
2006-04-18 16:17       ` Dave Eckhardt
2006-04-18 19:17         ` Lyndon Nerenberg
2006-04-19  0:28   ` Bakul Shah
2006-04-19  1:45     ` Russ Cox
2006-04-19  2:35 erik quanstrom
2006-04-19  3:53 ` Russ Cox
2006-04-19 19:34 ` Roman Shaposhnick
2006-04-19 19:42   ` Bruce Ellis
2006-04-20  1:07     ` Roman Shaposhnick
2006-04-20  2:02       ` Jack Johnson
2006-04-19 19:45   ` Charles Forsyth
2006-04-19 21:16   ` Brantley Coile
2006-04-19 21:46   ` quanstro
2006-04-20  1:03     ` rog
2006-04-20  6:08       ` Charles Forsyth
2006-04-20 15:59         ` rog
2006-04-20  4:02     ` Roman Shaposhnick
2006-04-19  2:47 erik quanstrom
2006-04-19  3:04 erik quanstrom
2006-04-19  3:27 Mike Haertel
2006-04-19  8:19 YAMANASHI Takeshi
2006-04-20  1:41 erik quanstrom
2006-04-20  6:17 ` Charles Forsyth
2006-04-20  1:45 erik quanstrom
2006-04-20  3:03 ` Michael Baldwin
2006-04-20  5:58   ` Charles Forsyth
2006-04-21 11:34   ` Bruce Ellis
2006-04-21 15:46     ` Skip Tavakkolian
2006-04-21 15:47     ` Jack Johnson
2006-04-20  9:57 erik quanstrom
2006-04-20 11:00 ` R
2006-04-20 10:30 erik quanstrom
2006-04-20 13:50 ` David Leimbach
2006-04-20 17:55 ` Skip Tavakkolian
2006-04-25  2:02 ` Roman Shaposhnick
2006-04-20 10:36 erik quanstrom
2006-04-21 15:49 erik quanstrom
2006-04-25  2:16 erik quanstrom

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=3e1162e60604181222j5901d428udd71067d75336001@mail.gmail.com \
    --to=leimy2k@gmail.com \
    --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).