Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!ames!ptsfa!ihnp4!inuxc!iuvax!bsu-cs!corwin From: corwin@bsu-cs.UUCP (Paul Frommeyer) Newsgroups: comp.os.vms Subject: Re: bsd unix vs. dec's vms Message-ID: <696@bsu-cs.UUCP> Date: Sat, 23-May-87 01:11:41 EDT Article-I.D.: bsu-cs.696 Posted: Sat May 23 01:11:41 1987 Date-Received: Sat, 23-May-87 19:10:01 EDT References: <5828@shemp.UCLA.EDU> <34ab0e42.8be4@apollo.uucp> <695@bsu-cs.UUCP> Organization: CS Dept, Ball St U, Muncie, Indiana Lines: 57 Summary: VMS process creation from VAX/VMS Internal(Digital Press, 1984) For the sake of the massive debate raging over the process creation under DCL, here are the gory details as laid out by Digital themselves in the VMS internals book: The creation of a new proces requires the cooperation of several pieces of the executive. -Creation begins in the context of an existing process that executes a Create Process system service call. The Create Process system service performs the following steps: a. It makes privilege and quota checks b. It loads the PCB, possibly the JIB if creating a detached process, and the process quota block with explicit SYS$CREPRC arguments and implicit parameters taken from the context of the creator. c. It places the new process into the scheduler's data base. -The initial scheduling state of the new ocess is COMO (computable but outswapped). Thus, execution of the shell process is suppressed until the swapper process moves the new process into the balance set. The following steps are performed in the context of the swapper process: a. The swapper inswaps the template process context from SHELL, a portion of the executive image SYS.EXE. b. The process header is built according to the values of SYSBOOT parameters for this configuration. -The final steps of process initialization take place in the context of the new process in a routine called PROCSTRT. PROCSTRT performs the following steps: a. The arguments from the PQB are moved to their proper places in the process header and P1 space. b. The image activator is called to activate the image. c. The image is called at its entry poin There's a whole chapter more of this (Chapter 20), but that's the general overview. There seems to be something to both mine and Rahul Dhesi's view based on this evidence (this will teach me to get my facts straight...). It appears that DCL is only a partial contribution to the slowness of process creation. While I was right in saying all the data structures are in memory, the creation of the process in an outswapped state may be what slows things down. If the creation could be coprocessed, with DMA image load simultaneous with data structure manipulation, that might speed things up. Well, if Digital ever hires me like I desperately wish then perhaps I'll have an opportunity to learn more about process manipulation in VMS... N.B. Apologies for any typos in the above transcript. -- Paul "Corwin" Frommeyer "Experience is no substitute for competence." UUCP: {seismo,ihnp4}!{iuvax,pur-ee}!bsu-cs!corwin