[SIGCIS-Members] Invention of the concept of process

Laurent Bloch lb at laurentbloch.org
Sun Dec 30 14:36:02 PST 2018


Hi Brian,

Thanks a lot for this very complete answer. Of course, it shows that
the question is more complex that the idea I had about it! But it is
the usual path to a more comprehensive vision of the subject...

Have a happy New Year!

Le Sun, 30 Dec 2018 11:46:46 +0000,
Brian Randell <brian.randell at newcastle.ac.uk> a écrit :

> Hi Paul:
> 
> Off and on over a period of several years starting in the late 60s I
> worked with the late Jim Horning on attempting to clarify and
> formalise the concept of a process, and to understand the various
> ways in which processes could be usefully structured - the eventual
> result was a lengthy survey paper: Horning J.J., Randell B. Process
> Structuring. ACM Computing Surveys 1973, 5(1), 5-30.
> 
> Quoting from this:
> 
> "It has been said that “The concept of process is . . . an abstract
> one, and may be compared with that of the life of an organism; in
> neither case is it very easy to pin the concept down in a
> definition.” [36] Even a casual survey of the literature [e.g., 3,
> 8-11, 13, 17, 18, 23, 28, 29, 34] shows the lack of any general
> agreement on a precise definition of “process.” Three distinct
> aspects of the process concept are emphasized in various definitions.
> The process concept is used to model: 1) The status of a system. “A
> process is a locus of control within an instruction sequence. That
> is, a process is that abstract entity which moves through the
> instructions of a procedure as the procedure is executed by a
> processor.” [10] 2) Some sequence of status values. “ . . . a
> ‘sequential process’ can be considered as a sequence of actions that
> will be performed when an input tape has been supplied to an abstract
> machine.” [18] 3) A means of generating a class of such sequences.
> “An ALGOL program (block) specifies a sequence of operations on data
> local to the program, as well as the structure of the data
> themselves. SIMULA extends ALGOL to include the notion of a
> collection of such programs, called processes, conceptually operating
> in parallel. . . The process concept is intended as an aid for
> decomposing a discrete event system into components, which are
> separately describable. In general a process has two aspects: it is a
> data carrier and it will execute actions.” [8] Although no one of
> these provides a complete basis for the definition of “process”, each
> is important to our study, and it is helpful to use different names
> for each. Thus, we will refer to the “state” of a process, or to a
> “computation,” which is a sequence of its states, or to the “action
> function,” which generates its computations. We will discuss each of
> the concepts in some detail, and then present what we believe to be
> an adequate and precise definition of “process”."
> 
> The above referenced-publications are:
> 
> [3] BRINCH HANSEN, P. “The nucleus of a multiprogramming system.”
> Comm. ACM 13, 4 (1970), 238-241, 250. [8] DAHL, O. J., AND NYGAARD,
> K. “SIMULA–an ALGOL-based simulation language.” Comm. ACM 9, 9
> (1966), 671-678. [9] DENNING, P. J. “Third generation computer
> systems.” Computing Surveys 3, 4 (1971), 175-216. [10] DENNIS, J. B.,
> AND VAN HORN, E. C. “Programming semantics for multiprogrammed
> computations.” Comm. ACM 9, 3 (1966), 143-155. [11] DIJKSTRA, E. W.
> Cooperating sequential processes. Report EWD 123, Mathematical
> Department, Technological University, Eindhoven, The Netherlands,
> September 1965. [Reprinted in Programming Languages (F. Genuys Ed.)
> Academic Press, London, 1968.] [13] DIJKSTRA, E. W. “The structure of
> the “THE” multiprogramming system.” Comm. ACM 11, 5 (1968), 341-346.
> [17] GILBERT, P.; AND CHANDLER, W. J. “Interference Between
> Communicating. Parallel Processes.” Comm. ACM 15, 6 (1972), 427-437.
> [18] HABERMANN, A. N. “On the harmonious cooperation of abstract
> machines.” PhD Thesis, Technological University, Eindhoven, The
> Netherlands, 1967. [23] LAMPSON, B. W. “A scheduling philosophy for
> multi-processing systems.” Comm. ACM 11, 5 (1968) 347-360. [28]
> PARNAS, D. L. On identifying processes within an operating computer
> system. Dept. of Computer Science, Carnegie-Mellon Univ. Pittsburgh,
> Pa. (unpublished). [29] SALZTER, J. H. “Traffic control in a
> multiplexed computer system.” PhD Thesis, MIT, Cambridge, Mass., July
> 1966. [34] VAN HORN, E. C. Computer design for asynchronously
> reproducible multi-processing. MIT Project MAC Technical Report,
> MAC-TR-34 November 1966. [36] WILKES, M. V. Time-sharing computer
> systems. Macdonald & Co., London, 1968.
> 
> The introduction to our chapter "Processes and Processors: Basic
> Definitions" started:
> 
> "In this paper we use the concept of “process” as a mathematical tool
> to explain, predict, and understand the behavior of a class of
> physical devices exemplified by digital computer systems. These
> devices (which are viewed as “processors”) are characterized by the
> fact that their interesting behavior is predictable, and consists of
> sequences of values of well-defined physical quantities (e.g.,
> voltages on wires, magnetizations of cores, characters printed on
> paper), which represent the “information” of the system at discrete
> instants of time. The relation of a process to a processor is similar
> to the relation of a theory of physics (e.g., the “law of
> gravitation”) to the objects of that theory (e.g., the motion of
> planets); the theory is useful to the degree that it provides a
> sufficiently close approximation to its objects, yet remains
> understandable. An important difference is that processes are often
> developed before the processors they model exist. If a process
> exhibits desirable properties, then it is generally possible to
> construct a corresponding processor, using the process as a
> specification."
> 
> The formal definition of process that we arrived at was:
> 
> "A process is a triple (S, f, s), where S is a state space, f is an
> action function in that space, and s is the subset of S which defines
> the initial states of the process."
> 
> I hope the above will help the present discussion on the origins of
> the concept.
> 
> Cheers
> 
> Brian Randell
> 
> 
> 
> 
> On 30 Dec 2018, at 04:23, Paul McJones
> <paul at mcjones.org<mailto:paul at mcjones.org>> wrote:
> 
> Laurent,
> 
> Edsger Dijkstra’s “Cooperating Sequential Processes" (EWD123) was
> written in 1965
> (http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF). His original
> paper on semaphores (EWD35) was written in Dutch several years before
> that
> (http://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD35.html).
> 
> By 1965, the term process was becoming fairly well-known in operating
> systems circles. For example, in a paper presented in 1965, Jack
> Dennis wrote:
> 
> Processes. We consider that the system hardware comprises one or more
> processors, which we can identify as being distinct from the main
> memory, the file storage devices and the input/output devices. Each
> processor is capable of executing algorithms that are specified by
> sequences of instructions. A process is a locus of control within an
> instruction sequence. That is, a process is that abstract entity
> which moves through the instructions of a procedure as the procedure
> is executed by a processor.
> 
> This is from: Jack B. Dennis and Earl C. Van Horn. 1966. Programming
> semantics for multiprogrammed computations. Commun. ACM 9, 3 (March
> 1966), 143-155. DOI=http://dx.doi.org/10.1145/365230.365252
> 
> 
> Paul
> 
> 
> On Dec 29, 2018, at 8:09 PM, Laurent Bloch
> <lb at laurentbloch.org<mailto:lb at laurentbloch.org>> wrote:
> 
> Le dimanche 30 décembre 2018 Grider, Gary Alan a écrit ceci :
> 
> Hasn’t there been great debate about when the first "stored program"
> was accomplished?  Some said on Maniac by Metropolis but others
> disagree I think.
> 
> I would say that the concept of a process may appear when there are
> more than one program, potentially ready to execute, and in
> competition to access the processor.
> 
> If that is what you are looking for I am pretty sure it was well
> before CTSS or Multics.  I think CTSS and Multics were in pursuit of
> time sharing (or multiple stored programs). I think the first
> implementation of process pipes might have been Demos but that was
> way after CTSS days.
> 
> Gary
> 
> On 12/29/18, 8:37 PM, "Members on behalf of Laurent Bloch"
> <members-bounces at lists.sigcis.org<mailto:members-bounces at lists.sigcis.org>
> on behalf of lb at laurentbloch.org<mailto:lb at laurentbloch.org>> wrote:
> 
>    Le samedi 29 décembre 2018 McMillan, William W a écrit ceci :
> 
> "..., my question was about computer processes, i.e. programs in
> execution ..."
> 
> Laurent, do you mean process in the sense of a computer program
> loaded (at least partially) into primary memory, described by a
> process control block, and managed by an operating system?
> 
>    Yes, it is precisely the kind of entity I am asking about. I would
> say it appears with CTSS or Multics, but I am not sure. Once I read
> the name of the creator of the concept, but I did not write it down
> and I forgot, hence my question.
> 
> Or is the topic more broad than that?
> 
> Bill
> 
> ________________________________________
> From: Members
> [members-bounces at lists.sigcis.org<mailto:members-bounces at lists.sigcis.org>]
> on behalf of Laurent Bloch
> [lb at laurentbloch.org<mailto:lb at laurentbloch.org>] Sent: Saturday,
> December 29, 2018 6:03 PM To: James Cortada Cc: SIGCIS Subject: Re:
> [SIGCIS-Members] Invention of the concept of process
> 
> Le samedi 29 décembre 2018 James Cortada a écrit ceci :
> 
> It might help to give us some context for your question.  For
> example, if interested in process in business, then it emerges in the
> late 19th century and in the second half of the 20th becomes process
> management, TQM etc.  If in science, then it is language substituted
> for what otherwise we all think of as the scientific method.  Even
> earlier the notions of methods and techniques are embodiments of the
> idea of process.  Hence, my request for context.
> 
> Well, my question was about computer processes, i.e. programs in
> execution in a computer, sometimes also called tasks.
> 
> On Sat, Dec 29, 2018 at 4:56 PM Laurent Bloch
> <lb at laurentbloch.org<mailto:lb at laurentbloch.org>> wrote:
> 
> Hi,
> 
> Surely many of you know the answer: who invented the concept of
> process, and when?
> 
> Thank you for your answers. Have a nice Sunday!
> 
> --
> Laurent Bloch - https://laurentbloch.net<https://laurentbloch.net/> -
> lb at laurentbloch.org<mailto:lb at laurentbloch.org> Si vous trouvez que
> l'éducation coûte cher, essayez l'ignorance ! (A. Lincoln)
> _______________________________________________
> This email is relayed from members at sigcis.org<http://sigcis.org/>,
> the email discussion list of SHOT SIGCIS. Opinions expressed here are
> those of the member posting and are not reviewed, edited, or endorsed
> by SIGCIS. The list archives are at
> http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can
> change your subscription options at
> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
> 
> 
> 
> --
> James W. Cortada
> Senior Research Fellow
> Charles Babbage Institute
> University of Minnesota
> jcortada at umn.edu<mailto:jcortada at umn.edu>
> 608-274-6382
> 
> 
> --
> Laurent Bloch - https://laurentbloch.net<https://laurentbloch.net/> -
> lb at laurentbloch.org<mailto:lb at laurentbloch.org> Si vous trouvez que
> l'éducation coûte cher, essayez l'ignorance ! (A. Lincoln)
> 
> 
>    --
>    Laurent Bloch -
> https://laurentbloch.net<https://laurentbloch.net/> -
> lb at laurentbloch.org<mailto:lb at laurentbloch.org> Si vous trouvez que
> l'éducation coûte cher, essayez l'ignorance ! (A. Lincoln)
> 
> 
> 
> 
> --
> Laurent Bloch - https://laurentbloch.net<https://laurentbloch.net/> -
> lb at laurentbloch.org<mailto:lb at laurentbloch.org> Si vous trouvez que
> l'éducation coûte cher, essayez l'ignorance ! (A. Lincoln)
> _______________________________________________
> This email is relayed from members at sigcis.org<http://sigcis.org/>,
> the email discussion list of SHOT SIGCIS. Opinions expressed here are
> those of the member posting and are not reviewed, edited, or endorsed
> by SIGCIS. The list archives are at
> http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can
> change your subscription options at
> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
> 
> _______________________________________________
> This email is relayed from members at sigcis.org<http://sigcis.org>,
> the email discussion list of SHOT SIGCIS. Opinions expressed here are
> those of the member posting and are not reviewed, edited, or endorsed
> by SIGCIS. The list archives are at
> http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can
> change your subscription options at
> http://lists.sigcis.org/listinfo.cgi/members-sigcis.org
> 
>> 
> School of Computing, Newcastle University, 1 Science Square,
> Newcastle upon Tyne, NE4 5TG
> EMAIL = Brian.Randell at ncl.ac.uk<mailto:Brian.Randell at ncl.ac.uk>
> PHONE = +44 191 208 7923 URL =
> http://www.ncl.ac.uk/computing/people/profile/brianrandell.html
> 



-- 
Laurent Bloch - https://www.laurentbloch.net - lb at laurentbloch.org
Si vous trouvez que l'éducation coûte cher, essayez l'ignorance !
(A. Lincoln)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: Signature digitale OpenPGP
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20181230/707c4264/attachment.sig>


More information about the Members mailing list