Page 56 - DCAP403_Operating System
P. 56

Unit 4: Process Management




          Introduction                                                                          Notes

          Earlier a computer was used to be fasten the jobs pertaining to computation diligently and
          incessantly for a single person. Soon it was realized that the computer was far more powerful than
          just carrying out a single man’s single job. Such was the speed of operation that the CPU would
          sit idle for most of the time awaiting user input. The CPU was certainly capable of carrying out
          many jobs simultaneously. It could also support many users simultaneously. But, the operating
          systems then available were not capable of this support. The operating systems facilitating a
          single-user support at a time was felt inadequate. Then a mechanism was developed which
          would prevent the wastage of CPU cycles. Hence multi-tasking systems were developed.
          In a multi-tasking system a job or task is submitted as what is known as a process. Multi-tasking
          operating systems could handle multiple processes on a single processor.

          Process is a unit of program execution that enables the systems to implement multi-tasking
          behavior. Most of the operating systems today have multi-processing capabilities. This unit is
          dedicated to process and process related issues.
          In this unit, present and discuss the mechanisms that support or enforce more structured forms
          of interprocess communications. Subsequent sections are devoted to messages, an extremely
          versatile and popular mechanism in both centralized and distributed systems, and to facilitate
          interprocess communication and synchronization.

          4.1 Process Concepts

          An operating system manages each hardware resource attached with the computer by representing
          it as an abstraction. An abstraction hides the unwanted details from the users and programmers
          allowing them to have a view of the resources in the form, which is convenient to them. A process
          is an abstract model of a sequential program in execution. The operating system can schedule a
          process as a unit of work.

          The term “process” was first used by the designers of the MULTICS in 1960’s. Since then, the
          term “process” is used somewhat interchangeably with ‘task’ or ‘job’. The process has been given

          many definitions as mentioned below:
          1.   A program in Execution.
          2.   An asynchronous activity.
          3.   The ‘animated spirit’ of a procedure in execution.
          4.   The entity to which processors are assigned.
          5.   The ‘dispatchable’ unit.



          Though there is no universally agreed upon definition, but the definition “Program in Execution”
          is the one that is most frequently used. And this is a concept you will use in the present study of
          operating systems.
          Now that you agreed upon the definition of process, the question is - what is the relation between

          process and program. It is same beast with different name or when this beast is sleeping (not
          executing) it is called program and when it is executing becomes process. Well, to be very precise.
          Process is not the same as program.
          A process is more than a program code. A process is an ‘active’ entity as oppose to program
          which is considered to be a ‘passive’ entity. As you all know that a program is an algorithm
          expressed with the help of a programming language. A program is a passive entity sitting on
          some secondary storage device.





                                           LOVELY PROFESSIONAL UNIVERSITY                                    49
   51   52   53   54   55   56   57   58   59   60   61