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