tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: RFC: import of posix_spawn GSoC results

>>> What's clean about importing the VMS process model to Unix?
>> That's hardly the VMS process model - or at least it wasn't back in
>> the '80s when I used VMS.  In particular, in the VMS paradigm, the
>> CLI (as close as VMS gets to the shell) and the program being run
>> run in the same process.
> Well, the process model as such will not change just because another
> system call is introduced in Unix.

No, of course not.  That's why I think talking about "importing the VMS
process model" is irrelevant - that's not what's happening.

> Also, the CLI is not really related to the process model either.

Well, it is in that the CLI and the program being run run in the same
process, which means that process is very long-lived.  Starting new
processes under VMS is - well, was - a very heavyweight operation, far
more costly than fork() under Unix.  The paradigm was, a process was
created on login and it lived until logout; that the CLI inhabits the
same process as programs you run is relevant only in that it eliminates
one of the principal reasons Unix needs lots of processes.

> However, yes, this system call looks like it comes very close to how
> tasks are run under VMS.  Even down to the name.

LIB$SPAWN, I think it was.  But I don't know about "very close"; aside
from relatively trivial things, like file descriptors having no
particularly close analog, the real problem is that LIB$SPAWN is not
how most things are - were - run under VMS.  Rather, everything runs in
the same process, with each program you run replacing the prvious one.
Additional processes are necessary only if you want to run something
detached, which is not common.

Or at least, that's how it was.  With POSIX's dominance, it would not
surprise me if VMS had tried to jump on the bandwagon and support the
Unix paradigm at least to the extent necessary to implement many of the
POSIX interfaces.  You've probably used more recent VMS than I have;
has this happened?

> I won't go into the pros and cons of different ways of starting a new
> process to run something.

And there we are: under VMS, you don't - well, didn't, back in the '80s
when I used it - start a new process to run something.  You ran it in
the same process you ran everything else in.

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML      
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Home | Main Index | Thread Index | Old Index