Re: Network performance

Bruce Thompson (bruce@otherother.com)
Sat, 29 Jun 1996 21:38:23 -0700


At 19:12 06/29/96, Leonard N. Zubkoff wrote:
> Date: Sat, 29 Jun 1996 21:37:15 -0400 (EDT)
> From: Kevin M Bealer <kmb203@psu.edu>
>
> I don't understand -- what does the $(VAR) refer to? Which process's
> environment is used for $(VAR)? Or is VAR not an environmental variable?
>
>The process making the call, of course.
>
> If it is an environmental variable, wouldn't the environment have to be
> passed around?
>
>Well, I don't recall whether this was in user space or not (it has been a
>while). It may well be that the kernel simply maintained a pointer to the user
>environment, and so had it available for reference when the kernel mapped a
>name into an object.
>
> Leonard

Hi.
I think it was in the Global Library space. Domain/OS divided the
address space into 5 user visible sections. There was the Global Library
space, Shared Library space, Process text segment, std_pool and
stream_tm_pool a pair of process specific memory heaps and the global_pool
a memory heap shared across all processes.

Type managers were typically loaded into Global Library space at boot
time as I recall, but they could be loaded at any time. Whether the Global
Library space counts as Kernel or User space isn't clear from the
documentation I've still got access to. I've still got a copy of "Domain/OS
Programming Environment Reference", "Domain/OS Call Reference", and
somewhere around here is the "BSD4.3 Call Reference". Either way, when a
call is made whether through to a Global Library or through a system call
the process environment was available to the recipient of the call. As far
as I know this is true with Linux as well, otherwise the kernel would never
be able to verify process permissions.

All kinds of things could be done with type managers implementing
extended pathnames. I recall in 1987 when the University of Calgary
Computer Science Department was first putting NFS on the VAXen (which was
crashing them all over the place), and friend of mine and I implemented a
type manager that gave all the effective functionality of NFS without the
pain.

Doing type managers and extended pathnames via userfs sounds like a
workable solution. I'm not sure about variant links.

Cheers,
Bruce.

--
--------------------------------------------------------------------------
Bruce Thompson                  | "Rumors of our death have been greatly
Developer Technical Support     |  exaggerated."
Newton Systems Group            |      - Employees of Apple Computer, Inc.
Apple Computer, Inc.            |
bruce@newton.apple.com          | "Don't believe half of what you hear,
bthompson@applelink.apple.com   |  and most of what you read in the papers"
bruce@otherother.com            |      - Me
                                |

I don't speak for Apple, my opinions are strictly my own.