fork/exec

Chip Rosenthal chip at vector.Dallas.TX.US
Wed Aug 16 03:29:48 AEST 1989


henry at utzoo.uucp (Henry Spencer) writes:
>On the hardware used by VMS and RSX, it is verifiably possible to implement
>fork(), since Unix runs on those machines.

But it has been widely acknowledged here the biggest problem is getting
manufacturers to fix software which a standard of some sort breaks.

Process creation under VMS is indeed painful.  But doable.  After all,
David Kashtan was able to implement fork()/exec() in Eunice.  However,
some tricks were required to minimize the pain.  An exited process wasn't
thrown away, but kept around and recycled with a future fork().  This
alleviated the need to do a costly spawn with every fork().  Eventually,
unused processes which hung around long enough would be released.

An interesting side-effect (OK...maybe not pertinent...but interesting none
the less) was that at one time priviliges were maintained in the recycled
process.  The implications for things which looked like setuid programs
should be pretty obvious.

These comments based on my experiences with Eunice 4 years ago, I have
no idea if they are applicable to modern versions.  (I would certainly
hope the privs problem isn't!)
-- 
Chip Rosenthal / chip at vector.Dallas.TX.US / Dallas Semiconductor / 214-450-5337
"I wish you'd put that starvation box down and go to bed" - Albert Collins' Mom



More information about the Comp.std.c mailing list