You are on page 1of 38

Princess Nora University

Computer Sciences Department

Operating Systems

CS 340 T

1 Level 3 (IT) + Level 4 (IS) + Level 5 (CS)


Chapter-2
Process Concept

Introduction
Chapter 2: Process-Concept

1. Process Concept
2. Process Scheduling
3. Inter-process Communication

3
Process Concept

4
OBJECTIVES:

 To introduce the notion of a process

 To describe the various features of processes, including


scheduling, creation and termination, and communication

 To explore interprocess communication using shared memory


and message passing

5
Process Concept

 System consists of a collection of processes:

 Operating system processes executing system code


 User processes executing user code

 The terms job and process are used almost


interchangeably, and both refer to the same meaning:

=
( a program that is loaded into memory
and in execution)
6
Process Concept (cont..)
 Program : is a collection of instruction in a code manner ,
which is sometimes known as the text section.
 Program = passive entity
 Process = Active entity
 Process : is more general than program as it includes more
details such as :

o Textsection
o Program counter
o Process Stack
o Data section
o Current activity
o Heap
7
The Process (cont..)
contains temporary data (such as function
parameters, return addresses, and local
variables

The current activity: the value of the program


counter & contents of the processor’s registers.

is memory that is dynamically allocated


during process run time.

which contains global variables.

which is program code .


8
Process State

 As a process executes, it changes state

 New: the process is being created


 Running: instructions are being executed
 Waiting: the process is waiting for some event to occur
(e.g. An I/O completion).
 Ready: the process is waiting to be assigned to a processor
 Terminated: the process has finished execution

 Only one process can be running on any processor at any


instant. Many processes may be ready and waiting.

9
Diagram of Process State

10
Process Control Block (PCB)
 Each process is represented in the operating system by a
process control block (PCB)

 PCB contains many information including :


Process state
Program counter Values of program counter & CPU registers must be
CPU registers saved when an interrupt occurs to allow the process
to be continued correctly afterward
CPU scheduling information e.g. a process priority
Memory-management information Memory allocated to a process
Accounting information: e.g . when the process was last run, how much
CPU time it has used
I/O status information It includes the list of I/O devices allocated to
the process, a list of open files….etc .

11
Process Control Block (PCB) (cont..)

12
CPU Switch From Process to Process
Time

13
Process Scheduling

14
Process Scheduling

 Multiprogramming aims to have some process running at all


times to maximize CPU utilization.

 Time sharing aims to switch the CPU among processes so


frequently user interact with each program while it is running.

 Process scheduler selects one process (from a set of several


available processes in RAM) for execution on the CPU.

15
Process Scheduling
 Scheduler: it is an operating system module that responsible
of selecting process(/es).
Short-term
scheduler
(CPU scheduler/
process scheduler)

Long-term
Schedulers scheduler
(job scheduler )

Medium Term
Scheduling

16
Process Scheduling Queues

 Job queue – set of all processes in the system

 Ready queue – set of all processes residing in main memory,


ready and waiting to execute
 This queue is generally stored as a linked list.

 Device queues – set of processes waiting for an I/O device


 Each device has its own device queue

17
Process Scheduling Queues (cont.)

 Processes migrate among the various queues:

 A new process is initially put in the ready queue.


 It waits there until it is selected for execution.
 Once the process is allocated the CPU and is executing, one
of several events could occur:

The process could The process could The process could be


issue an I/O request create a new sub- removed forcibly from
and then be placed in process and wait for the CPU as a result of
an I/O queue. the sub-process’s an interrupt, and be
termination put back in the ready
queue.
18
Process Scheduling Queues (cont.)

 A process continues this cycle until it terminates, at which


time it is removed from all queues and has its PCB and
resources deallocated.

19
Representation of Process Scheduling

20
Queuing diagram
Schedulers

 The operating system must select processes scheduling for these


queues.
 The selection process is carried out by the appropriate scheduler.

 Long-term scheduler (or job scheduler) – selects which


processes should be brought from mass-storage into RAM (to the
ready queue )
 Short-term scheduler (or CPU scheduler) – selects which
process (from ready queue) should be executed next and allocates
CPU

21
Schedulers

 Short-term scheduler is invoked very frequently (milliseconds)


 (must be fast)

 Long-term scheduler is invoked very infrequently (seconds,


minutes)  (may be slow)
Number of
processes in RAM
 The long-term scheduler:
controls the degree of multiprogramming

22
Schedulers (Cont)

 Processes can be described as either:

I/O-bound process CPU-bound process

– spends more time doing I/O – spends more time doing


than computations, many short computations; few very long
CPU burst CPU burst.

23
Schedulers (Cont)

 The long-term scheduler must select a good process mix of I/O-


bound and CPU-bound processes to improve total
performance.

If all processes are I/O bound If all processes are CPU bound
• the ready queue will almost • the I/O waiting queue will
always be empty, almost always be empty,
• the short-term scheduler will • devices will go unused….
have little to do… • (minimize devices utilization)
• .(minimize CPU utilization)

24
Schedulers (Cont)
1. Medium Term Scheduling
 Sometimes it can be advantageous to remove processes
from RAM …….(swap out)
 Later, the process can be reintroduced into RAM
…….(swap in), and its execution can be continued where it
left off.
 This scheme is called swapping. ( done by medium-term
scheduler)
 Swapping may be necessary to:
 Improve the process mix
 Or because a change in memory requirements has
exceeded available memory (i.e. memory is almost full)
25
Schedulers (Cont)

2. Addition of Medium Term Scheduling

26
Context Switch

 Context Switch Time:


Is amount of time needed by OS to switch CPU from one process to another

 When CPU switches to another process, the system must save the state of
the old process and load the saved state for the new process via a context
switch
 Context of a process represented in the PCB
 Context-switch time is overhead; the system does no useful work while
switching
 Time dependent on hardware support

27
Operation on Processes
 OS provide mechanisms for
 process creation,
 process termination

28
Process Creation
 Parent process create children processes, which, in turn
create other processes, forming a tree of processes
 Generally, process identified and managed via a process
identifier (pid)
 Resources sharing options
 Parent and children share all resources
 Children share subset of parent’s resources
 Parent and child share no resources
 Execution options
 Parent and children execute concurrently
 Parent waits until children terminate

29
Process Termination
 Process executes last statement and then asks the
operating system to delete it.
 Returns status value (integer) from child to parent
 Process’ resources are deallocated by operating system
 Parent may terminate the execution of children
processes. Some reasons for doing so:
 Child has exceeded allocated resources
 Task assigned to child is no longer required
 The parent is exiting and the operating systems does not allow
a child to continue if its parent terminates

30
Interprocess Communication

31
Interprocess Communication

Processes within a system may be

independent cooperating
Cannot affect or be affected by Can affect or be affected by the
the execution of another execution of another process
process.

32
Interprocess Communication

 Reasons (/advantages) for cooperating processes:

1. Information sharing : (e.g. shared file)

2. Computation speedup:
 To make a particular task run faster, we must break it into
subtasks, each of which will be executing in parallel with the
others.
 This can be achieved only if the computer has multiple
processing elements (e.g. CPUs).

33
Interprocess Communication

 Reasons (/advantages) for cooperating processes:

3. Modularity:

 We may want to construct the system in a modular fashion


(i.e. dividing the system functions into separate processes)

4. Convenience
 An individual user may work on many tasks at the same
time.

34
Interprocess Communication (Cont.)

 Cooperating processes need interprocess


communication (IPC)

 IPC: mechanism that will allow cooperating processes to


exchange data and information.

35
Interprocess Communication (Cont.)

 Two models of IPC: process can exchange information by

Shared memory: Message passing


• reading and writing data to • By messages exchanged
the shared region. between the cooperating
processes.
• Shared memory is faster than • Useful for exchanging
message passing …. smaller amounts of data,
because no conflicts need be
• Because message passing avoided.
systems requires more system • Easier to implement than
calls (interrupts) . shared memory .

36
Communications Models

Message passing model Shared memory model


37
Thank you
End of Chapter 2

You might also like