Beruflich Dokumente
Kultur Dokumente
7.1 Introduction
The notion of a process is central to the understanding of operating
systems. There are quite a few definitions presented in the literature, but no
"perfect" definition has yet appeared.
Definition
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, for
instance:
A program in Execution.
An asynchronous activity.
The 'animated spirit' of a procedure in execution.
The entity to which processors are assigned.
The 'dispatchable' unit.
and many more definitions have been given. As we can see from the above
that there is no universally agreed upon definition, but the definition
"Program in Execution" seems to be most frequently used. And this is a
concept used in the present study of operating systems.
Now that we have 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 it becomes process. Well, to be very
precise, a Process is not the same as program. In the following discussion
we point out some of the differences between process and program.
Process Management
In a conventional (or centralized) operating system, process management
deals with mechanisms and policies for sharing the processor of the system
among all processes. In a Distributed Operating system, the main goal of
Objectives:
This unit introduces the reader management of processes present in a
distributed network. It discusses the differences between the processes
Sikkim Manipal University Page No. 155
Advanced Operating Systems (Distributed Systems) Unit 7
iv) Efficiency: Time required for migrating a process and cost of supporting
remote execution should be minimized.
v) Robustness: Failure of any node other than the one on which the
process is running should not affect the execution of the process.
Type 3: Messages that are to be sent to the migrant process from any other
node after it has started executing on the destination node.
A drawback of this approach is that the failure of the origin site will
disrupt the message forwarding .
Another drawback is that there is continuous load on the origin site.
7.3 Threads
Threads are a popular way to improve application performance through
parallelism. In traditional operating systems the basic unit of CPU utilization
is a process. Each process has its own program counter, register states,
stack, and address space. In operating systems with threads facility, the
basic unit of CPU utilization is a thread. In these operating systems, a
process consists of an address space and one or more threads of control.
Each thread of a process has its own program counter, register states, and
stack. But all the threads of a process share the same address space.
Hence they also share the same global variables. In addition, all threads of
a process also share the same set of operating system resources such as
Why Threads?
Some of the limitations of the traditional process model are listed below:
To summarize:
A Thread
is a dynamic object that represents a control point in the process and
that executes a sequence of instructions.
has its private objects, program counter, stack, and a register context.
Team Model: All threads behave equal in this model. Each thread gets and
process’s client’s request on its own Pipline model: In this model, threads
are arranged in a pipeline so that output data generated by the first thread is
used for processing by the second thread, output by second thread is used
by the third....