[comp.os.linux.development] Threads, garbage collection and dynamic loading

Carl Hauser (chauser@parc.xerox.com)
21 Sep 1994 11:17:28 +0200

Archive-Name: auto/comp.os.linux.development/Threads-garbage-collection-and-dynamic-loading

The Posix Portable Common Runtime (PPCR) provides integrated
user-level support for pre-emptive lightweight threads, garbage
collected storage, and dynamic programming loading. It should run on
any POSIX.1-conforming implementation that also supports BSD select()
or System V poll(). PPCR can take advantage of kernel thread
extensions of the underlying system, such as the LWP facility of
Solaris 2.3 and the sproc facility of Irix 5, to achieve true
concurrent execution by its threads on multiprocessors. It also uses
memory protection features available in some systems (e.g. mprotect())
to support incremental garbage collection. Note that this is NOT an
implementation of the POSIX pthreads proposal, though of course, the concepts
are similar.

PPCR has been successfully built for SunOS 4.1.3 (aka Solaris 1.1),
SunOS 5.3 (aka Solaris 2.3), Irix 5, Linux 1.0 and BSDI. We would be
interested in hearing of others' experience in porting it to
additional platforms.

Acquiring PPCR

PPCR is available in ftp://parcftp.xerox.com/pub/ppcr/v1.20/v1.20.tar.z, a
compressed tarfile. A README file in the same directory explains what to do
once you have it. The v1.20 release includes support for the platforms named
above. This is a source-code-only release. To use PPCR you will have to compile
it for your platform.

Documentation beyond that found in the header files is sketchy at this time.

If you find PPCR useful we would like to hear from you. Please send email to:
pcrcoordinator@parc.xerox.com.

-- Carl Hauser, Al Demers and Hans Boehm