Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Sep 95 14:45:49 METDST
To: (Julian Elischer)
Subject:   Re: Threads,...
Message-ID:  <>
In-Reply-To: <>; from "Julian Elischer" at Sep 13, 95 9:20 pm

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help

> This is  the theory behinf 'rfork' 
> which allows the parent to decide what resources will be shared with the child.

This was also the idea behind, now long deceased, VIPER kernel threads

IMHO, Plan9 does it cleaner.

> > 
> > 
> > (rmillian) writes:
> > 
> > > Is FreeBSD multithreaded? If not are there plans to make it multithreaded? 
> > > What is someone were to try and port Java and HotJava to FreeBSD? (See 
> > > http:\\
> > 
> > I had a thought the other day re this and was wondering if it would work...
> > 
> > With SYSV memory sharing, you can share memory between processes.
> > A program image contains text regions and data regions. Now suppose
> > you had a way of creating a shared memory region just big enough to
> > hold your data image, and then mapping your data image into it. And
> > your heap, if possible, (so malloc()'d data could be shared).
> > 
> > Voila, now you can fork() a new thread...
> > 
> > I'm not familiar with how object files are linked (relocatable data
> > segments?) etc., but it *seems* like it would be easy...
> > 
> > -Archie

There is a variant of GNU malloc which uses mmap() to get the "heap."
mmalloc_init (something like that) takes a file descriptor allowing the
programmer to specify which file, and into which region should be mmap-ed.

If several processes mmap the same file, you have shared heap.

With some careful atomic locking thrown in, it should be possible to
synchronize mmallocs over multiple processes.

> > _______________________________________________________________________________
> > Archie L. Cobbs,  *  Tribe Computer Works
> > 

Want to link to this message? Use this URL: <>