[comp.os.vms] Map Process address space - help!

mikes@rtech.UUCP (Mike Schilling(This sentence no verb.)) (11/13/89)

From article <3334@vax1.tcd.ie>, by mbrennan@vax1.tcd.ie:
> I am implementing a garbage collector in C on a VAX 6230, and need a 
> little help.
> 
> The garbage collection process is running in parallel with the user process.
> The algorithm requires that the collector process be able to access(read) 
> the data segment(s) of the running user process.  The reason for this is
> that the collector needs to examine the current value of variables in
> the user process each time it 'sweeps'.  A parent/child relationship exists
> between the collector process, and user process.
> 
Does the garbage collector have to run in a separate process?  running it as a
timer-driver AST has the following advantages:

1.	You map the "parent"'s complete address space with no additional work.
2.	You can block the garbage collector around critical sections easily,
	with the SYS$SETAST service.
3.	Assuming the garbage collector is compute-bound, you don't lose
	any parallelism, at least on a single-processor machine.
4.	You don't have to pay the full context-switch penalty every time the
	garbage-collector runs.
----------------------------------------------------------------------------
Any resemblance between the opinions expressed above and those of any living
person is a coincidence.
----------------------------------------------------------------------------
Mike Schilling 				mikes@rtech.com
Relational Technology
Alameda, CA