0% found this document useful (0 votes)
11 views84 pages

Process Management

The document discusses process management in operating systems, detailing the concepts of processes and threads, their management, and the mechanisms involved in process migration. It covers the importance of concurrent transparency, CPU context switching, and the role of the Translation Lookaside Buffer (TLB) in memory management. Additionally, it outlines the desirable features of a good process migration mechanism and various methods for transferring process state and address space during migration.

Uploaded by

hiral2004gabhane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views84 pages

Process Management

The document discusses process management in operating systems, detailing the concepts of processes and threads, their management, and the mechanisms involved in process migration. It covers the importance of concurrent transparency, CPU context switching, and the role of the Translation Lookaside Buffer (TLB) in memory management. Additionally, it outlines the desirable features of a good process migration mechanism and various methods for transferring process state and address space during migration.

Uploaded by

hiral2004gabhane
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

Process Management

C.S.E.D MNNIT Allahabad 1


Process
 A basic unit of CPU utilization in traditional OS.
 A program in execution.
 Defines a data space.
 Has its own program counter, its own register states,
its own stack and its own address space.
 Has at least one associated thread.
 Unit of distribution.

C.S.E.D MNNIT Allahabad 2


Threads
 A unit of concurrency.

 Unit of scheduling: though with one thread per


process, a process is often said to be the unit of
scheduling.

 Several threads ‘live’ within shared address space.

C.S.E.D MNNIT Allahabad 3


Threads and Processes
 To execute a program, an OS creates a number of
virtual processes.

 OS creates process table to keep track of virtual


processes with entries like:
 CPU register values
 Memory maps
 Open files
 Privileges

C.S.E.D MNNIT Allahabad 4


Concurrent Transparency
 OS takes hardware support to ensure independent
processes can’t maliciously affect correctness of
other.

 This requires independent address space.

 Allocation requires initializing memory segment by:


 Zeroing data segment.
 Copying associated program into text segment.
 Setting up stack for temporary data.
C.S.E.D MNNIT Allahabad 5
CPU Switching
 Saving the CPU context
 Register values
 Program counter
 Stack pointer
 OS also modifies the
 Registers of MMU
 Invalidates add. Translation caches such as in TLB
(translation lookaside buffer)
 If OS supports more processes than it can
simultaneously store, it may swap between main
memory & disk.
C.S.E.D MNNIT Allahabad 6
TLB
 TLB is a cache that memory hardware uses to improve virtual
address translation speed.
 It is nearly always present in any hardware that utilizes
paged or segmented virtual memory & is sometimes
implemented as content addressable memory (CAM).
 The CAM search key is the virtual address and the search
result is a physical address.
 If the requested address is present in the TLB, the CAM
search yields a match quickly & the retrieved physical
address can be used to access memory i.e. a TLB hit.

C.S.E.D MNNIT Allahabad 7


TLB
 If the requested address is not in the TLB, it is a miss, and the
translation proceeds by looking up the page table in a
process called a page walk.
 The page walk requires a lot of time when compared to the
processor speed, as it involves reading the contents of
multiple memory locations and using them to compute the
physical address.
 After the physical address is determined by the page walk,
the virtual address to physical address mapping is entered
into the TLB.

C.S.E.D MNNIT Allahabad 8


Introduction
 Process management deals with mechanisms and
polices for sharing of the system among all
processes.
 Goal
-Best possible use of the resources.
 Three important concepts used to achieve this goal:
-Processor allocation
-Process migration
-Threads
C.S.E.D MNNIT Allahabad 9
Cont…
 Processor allocation deals with the process of
deciding which process should be assigned to which
processor.
 Process migration deals with the movement of a
process from its current location to the processor to
which it has been assigned.
 Threads deals with fine-grained parallelism for
better utilization of the processing capability of the
system.
C.S.E.D MNNIT Allahabad 10
Process Migration
 Relocation of a process from its current location to
another node.

 Process may be migrated


 either before it start executing on its source node
 known as non-preemptive process migration.

 or during the course of its execution


 Known as preemptive process migration.

C.S.E.D MNNIT Allahabad 11


Flow of execution of a migrating
process
Source node
Destination node

Time
Process P1 in
Execution execution
suspended

Transfer of
Freezing time control

Execution
resumed

Process p1 in execution

C.S.E.D MNNIT Allahabad 12


Cont…
 Preemptive process migration is costlier.

 Process Migration Policy


 Selection of a process that should be migrated.
 Selection of the destination node to which the selected
process should be migrated.

 Process Migration Mechanism


 Actual transfer of the selected process to the destination
node.

C.S.E.D MNNIT Allahabad 13


Instability

C.S.E.D MNNIT Allahabad 14


Desirable features of a good process
migration mechanism
 Transparency
 Minimal Interference
 Minimal Residual Dependencies
 Efficiency
 Robustness
 Communication between coprocesses of a job.

C.S.E.D MNNIT Allahabad 15


Transparency
Level of transparency:
 Object Access Level
 System Call & Interprocess Communication level

System Call & IPC level


 For migrated process, system calls should be
location independent.

C.S.E.D MNNIT Allahabad 16


Object Access level Transparency
 Minimum requirement for a system to support
preemptive process migration facility.

 Access to objects such as files and devices should be


location independent.

 Allows free initiation of program at arbitrary node.

 Requires transparent object naming and locating.


C.S.E.D MNNIT Allahabad 17
Minimal Interference

 Migration of a process should cause minimal


interference of progress of the process involved.
 Achieved by minimizing the freezing time of the
process being migrated.
 Freezing time is the time period for which the execution
of the process is stopped for transferring its information
to the destination node.

 No residual dependency should be left on


previous node.

C.S.E.D MNNIT Allahabad 18


Efficiency
 Minimum time required for migrating a process.
 Minimum cost of locating an object.

 Minimum cost of supporting remote execution


once the process is migrated.
Robustness
The failure of a node other than the one on which a
process is currently running, should not in any
way affect the accessibility or execution of that
process.
C.S.E.D MNNIT Allahabad 19
Communication between co-processes of a job

 It is necessary that co-processes are able to directly


communicate with each other irrespective of their
locations.

C.S.E.D MNNIT Allahabad 20


Process Migration Mechanisms
Four major activities
 Freezing the process on its source node and
restarting it on its destination node.
 Transferring the process’s address space from its
source node to its destination node.
 Forwarding massages meant for the migrant
process.
 Handling communication between co-operating
processes that have been separated as a result of
process migration.C.S.E.D MNNIT Allahabad 21
Freezing and Restarting a Process

 Freezing the process:


 The execution of the process is suspended and all
external interactions with the process are
deferred.
 Issues:
 Immediate and delayed blocking of the process
 Fast and slow I/O operations
 Information about open files
 Reinstating the process on its Destination node
C.S.E.D MNNIT Allahabad 22
Immediate & delayed blocking of process
 If the process is not executing a system call, it can
be immediately blocked from further execution.
 If the process is executing a system call but is
sleeping at an interruptible priority waiting for a
kernel event to occur, it can be immediately
blocked from further execution.
 If the process is executing a system call but is
sleeping at an non-interruptible priority waiting for
a kernel event to occur, it can’t be immediately
blocked from further execution.

C.S.E.D MNNIT Allahabad 23


Fast and Slow I/O Operations
 Process is frozen after the completion of all fast I/O
operations like disk access.

 Slow I/O operation (pipe or terminal) is done after


process migration and when process is started
execution on destination node.

C.S.E.D MNNIT Allahabad 24


Information about open Migration Files
 Includes name and identifier of the files, their
access modes and the current positions of their file
pointers.
 OS returns a file descriptor to process that is used
for all I/O.
 It is necessary to somehow preserve a pointer to file
so that migrated process can continue to access it.

C.S.E.D MNNIT Allahabad 25


Cont…
 Approaches :
 Link is created to the file and the pathname of
the link is used as an access point to the file after
the process migrates.
 An open file complete pathname can be
reconstructed when required by modifying the
kernel.
 Keeping Track of file replicas.

C.S.E.D MNNIT Allahabad 26


Reinstating process on its Destination Node

 On the destination node, an empty process state is


created.

 Newly allocated process has same id. or not


depends upon migrating process. (must before
execution)

C.S.E.D MNNIT Allahabad 27


Cont…
 Once all the state of the migrating process has been
transferred from the source to destination node
and copied into the empty state, new copy of the
process is unfrozen and old copy is deleted.

 The process is restarted on its destination node in


whatever state it was in before being migrated.

C.S.E.D MNNIT Allahabad 28


Address Space Transfer Mechanisms
 The migration of a process involves the
transfer of:

 Process’s state
 Process’s address space

from the source node to the destination


node.
C.S.E.D MNNIT Allahabad 29
Cont…
 Process State consists of:
 Execution Status – Register Contents
 Memory Tables
 I/O State : I/O Queue, I/O buffers, Interrupts
 Capability list
 Process’s Identifier
 Process’s user and group identifier
 Information about Open Files

C.S.E.D MNNIT Allahabad 30


Cont…
 Process address space
 code,
 data &
 program stack

 The transferring the process’s address space


overshadows the state space.

C.S.E.D MNNIT Allahabad 31


Cont…
 Mechanisms for address space transfer:
 Total freezing
 Pretransferring
 Transfer on reference

C.S.E.D MNNIT Allahabad 32


Total Freezing
 A process’s execution is stopped while its address
space is being transferred.

 Disadvantage:
 Process is suspended for long time during migration,
timeouts may occur, and if process is interactive, the
delay will be noticed by the user.

C.S.E.D MNNIT Allahabad 33


Cont…
Source Destination node
node
Migration
Time
decision made

Execution
suspended
Transfer of
Freezing time address space

Execution
resumed

C.S.E.D MNNIT Allahabad 34


Pretransferring
 Also known as precopying.

 The address space is transferred while the process


is still running on the source node.

 It is done as an initial transfer of the complete


address space followed by repeated transfers of
the page modified during the previous transfer.

C.S.E.D MNNIT Allahabad 35


Cont …
 The pretransfer operation is executed at a higher
priority than all other programs on the source
node.

 Reduces the freezing time of the process but it may


increase the total time for migration due to the
possibility of redundant page transfers.

C.S.E.D MNNIT Allahabad 36


Cont…
Source Destination node
node
Time Migration
decision made

Execution Transfer of
suspended address space
Freezing time
Execution
resumed

C.S.E.D MNNIT Allahabad 37


Transfer on Reference
 The process address space is left behind on its
source node, and the relocated process executes
on its destination node.

 Attempts to reference memory page results in the


generation of requests to copy in the desired
blocks from their remote location.

 A page is transferred from its source node to its


destination node only when referenced.
C.S.E.D MNNIT Allahabad 38
Cont…
 Very short switching time of the process from its
source node to its destination node.

 Imposes a continued load on the process’s source


node and results in the process failure if source
node fails or is rebooted.

C.S.E.D MNNIT Allahabad 39


Cont…
Source Destination
node node
Execution Migration
Time
suspende decision
d made
Freezing Executio
time n
resumed

On-demand
transfer of
address space

C.S.E.D MNNIT Allahabad 40


Message-forwarding Mechanisms
Types of messages
1. Message received at source node after the
process’s execution has stopped on its source
node and process’s execution has not been
started on its destination node.
2. Messages received at the source node after the
process’s execution has started on its
destination node.
3. Messages that are to be sent to the migrant
process from any other node after it has started
executing on the destination node.
C.S.E.D MNNIT Allahabad 41
Cont…
 Mechanisms of resending the message
 Origin site mechanism
 Link traversal mechanism
 Link update mechanism

C.S.E.D MNNIT Allahabad 42


Origin Site Mechanism
 Each site is responsible for keeping information
about the current locations of all the processes
created on it.
 Messages for a particular process are always first
sent to its origin site.
 The origin site then forwards the message to the
process’s current location.

C.S.E.D MNNIT Allahabad 43


Cont…
 Disadvantage:
 Failure of the origin site will disrupt the message
forwarding mechanism.

 Continuous load on the migrant process’s origin site


even after the process has migrated from that node.

C.S.E.D MNNIT Allahabad 44


Link Traversal Mechanism
 To redirect message type 1, a message queue for
the migrant process is created on its source node.
 For Type 2 & 3 messages, a forwarding address
known as link is left at the source node pointing to
the destination of the migrant process.
 Two component of link, one is unique process
identifier and second is last known location.
 Disadvantage:
 Several link may have to be traversed to locate a process
from a node and if any node in chain of link fails, the
process cannot be located.
C.S.E.D MNNIT Allahabad 45
Link Update Mechanisms
 During the transfer phase of the migrant process,
the source node sends link-update messages to the
kernels controlling all of the migrant process’s
communication partners.

 Link update message


 Tells the new address of each link held by the migrant
process.
 Acknowledged for synchronization purposes.

C.S.E.D MNNIT Allahabad 46


Mechanisms for Handling Co-processes
 To provide efficient communication between a
process and its sub processes which might have
been migrated on different nodes.

 Mechanisms :
 Disallowing separation of coprocesses.
 Home node or origin site concept.

C.S.E.D MNNIT Allahabad 47


Disallowing Separation of coprocesses
 Easiest method of handling communication
between co-processes is to disallow their
separation.
 Methods:
 By disallowing the migration of processes that wait for
one or more of their children to complete.
 By ensuring that when a parent process migrates, its
children process will be migrated along with it.
 Disadvantage:
 It does not allow the use of parallelism within jobs.
C.S.E.D MNNIT Allahabad 48
Home node or Origin Sites Concept
 Used for communication between a process and its
sub process when the two are running on different
nodes.

 Allows the complete freedom of migrating a


process or its sub process independently and
executing them on different nodes of the system.

C.S.E.D MNNIT Allahabad 49


Cont…
 Disadvantage:
 All communication between a parent process and its
children processes take place via the home node.

 The message traffic and the communication cost increase


considerably.

C.S.E.D MNNIT Allahabad 50


Advantages of Process Migration
 Reducing average response time of processes
 To reduce the average response time of the processes,
processes of a heavily loaded node is migrated to idle
node.

 Speeding up individual jobs


 A migration of job to different node is done and execute
them concurrently.
 Migrate a job to a node having a faster CPU or to a node
at which it has minimum turnaround time.
 More speed up more migration cost involved.
C.S.E.D MNNIT Allahabad 51
Cont…
 Gaining higher throughput
 Process migration facility may also be used properly to
mix I/O and CPU-bound processes on a global basis for
increasing the throughput of the system.

 Utilizing resources effectively


 Depending upon the nature of a process, it can be
migrated to suitable node to utilize the system resource
in the most efficient manner.

C.S.E.D MNNIT Allahabad 52


Cont…
 Reducing network traffic
 To reduce network traffic, a process can be migrated
closer to the resource .

 Improving system reliability


 By executing both the original and copied process
concurrently on different nodes.

 Improving system security


 Sensitive process run on secure node.

C.S.E.D MNNIT Allahabad 53


Threads
 Basic unit of CPU utilization used for improving a
system performance through parallelism.
 A process consist of an address space and one or
more threads of control.
 Threads share same address space but have its own
program counter, register states and its own stack.
 Less protection due to the sharing of address space.

C.S.E.D MNNIT Allahabad 54


Cont…
 On a uniprocessor, threads run in quasi-parallel,
whereas on a shared-memory multiprocessor, as
many threads can run simultaneously as there are
processors.

 States of Threads:
 Running, blocked, ready, or terminated.

 Threads are viewed as miniprocesses.


C.S.E.D MNNIT Allahabad 55
Threads

Address space Address space


Thread Thread Thread Thread

(a) Single-threaded (b) Multithreaded processes

C.S.E.D MNNIT Allahabad 56


Motivations for using Threads
 Overheads of new process is more than a new
thread.

 Context switching between threads is cheaper than


processes due to shared address space.
 Threads are called lightweight processes.

 Threads allow parallelism to be combined with


sequential execution and blocking system calls.

C.S.E.D MNNIT Allahabad 57


Cont…

 Resource sharing can be achieved more efficiently


and naturally between threads due to same address
space.

 Threads are not automatically protected against


each other as processes are.

C.S.E.D MNNIT Allahabad 58


Single and Multi-Threading

C.S.E.D MNNIT Allahabad 59


As a single-thread process
 Use blocking system calls but without any
parallelism.

 If a dedicated machine is used for the file server,


the CPU remains idle while the file server is waiting
for a reply from the disk space.

 No parallelism is achieved in this method and


fewer client requests are processed per unit of
time.
C.S.E.D MNNIT Allahabad 60
As a group of threads
 Supports parallelism with blocking system calls.
 Server process is comprised of a single dispatcher
thread and multiple worker threads.
 Dispatcher thread keeps waiting in a loop for
request from the clients.
 A server process designed in this way has good
performance and is also easy to program.

C.S.E.D MNNIT Allahabad 61


Models for organizing threads
 Dispatcher-workers model
 Team model
 Pipeline model

C.S.E.D MNNIT Allahabad 62


Dispatcher-worker model
 Single dispatcher thread and multiple worker
threads.
 Dispatcher thread accepts requests from clients
and after examining the request, dispatches the
request to one of the free worker threads
processing of the request.
 Each worker thread works on a different client
request.
C.S.E.D MNNIT Allahabad 63
Cont…

Requests
Port

Dispatcher Thread
A Server process for
Worker Worker Worker
processing incoming
Thread Thread Thread requests

C.S.E.D MNNIT Allahabad 64


Team Model
 There is no dispatcher-worker relationship for
processing clients requests.
 Each thread gets and processes clients request on
its own.
 Each thread may be specialized in servicing a
specific type of request.
 Multiple types of requests can be simultaneously
handled by the process.

C.S.E.D MNNIT Allahabad 65


Cont…

Requests
Port

A Server process for processing


type1 incoming requests that may be
type3
type2 of three different types, each
types of request being handled
by a different thread.
Thread Thread Thread

C.S.E.D MNNIT Allahabad 66


Pipeline Model
 Useful for application based on the producer-
consumer model.
 The threads of a process are organized as a
pipeline so that the output data generated by the
first thread is used for processing by the second
thread and so on.

C.S.E.D MNNIT Allahabad 67


Cont…
Requests
Port
A Server process for processing
incoming requests Each request
processed in three steps, each
step handled by a different
Thread Thread Thread thread and output of one step as
input to the next step

C.S.E.D MNNIT Allahabad 68


Issues in designing a Thread Package
1. Threads creation
2. Thread termination
3. Threads synchronization
4. Threads scheduling
5. Signal handling

C.S.E.D MNNIT Allahabad 69


Threads Creation
 Created either statically or dynamically.

 Static approach:
 Threads remain fixed for its entire lifetime.
 Fixed stack is allocated to each thread.
 No. of threads of a process is decided at the time of
writing a program or during compilation.

 Dynamic approach:
 Number of threads changes dynamically.
C.S.E.D MNNIT Allahabad 70
Threads Termination
 A thread may either destroy itself when it finishes
its job by making an exit call
or
 be killed from outside by using the kill command
and specifying the thread identifier as its
parameter.

C.S.E.D MNNIT Allahabad 71


Threads Synchronization
 Threads share a common address space, so it is
necessary to prevent multiple threads from trying
to access the same data simultaneously.

 Mechanism for threads synchronization:


 Use of global variable within the process.
 mutex variable and condition variable.

C.S.E.D MNNIT Allahabad 72


Cont…
 Segment of code in which a thread may be
accessing some shared variable is called a critical
region.
 Mutual exclusion technique in a threads package
are mutex and condition variable.
 Mutex have only 2 states, hence simple to
implement.

C.S.E.D MNNIT Allahabad 73


Cont…
Thread1 Thread2

Lock (mutex_A) Lock (mutex_A) fails


succeeds Wait (A_free)

Critical region (uses


shared resource A) Blocked state

Lock (mutex_A)
Unlock (mutex_A) succeeds
Signal (A_free)

Mutex_A is a mutex variable for exclusive use of shared resource A.


A_free is a condition variable for resource A to become free.
C.S.E.D MNNIT Allahabad 74
Threads Scheduling
 Special features for threads scheduling:
1. Priority assignment facility
2. Flexibility to vary quantum size dynamically
3. Handoff scheduling
4. Affinity scheduling

C.S.E.D MNNIT Allahabad 75


Priority assignment facility
 Threads are scheduled on the first-in, first-out
basis or the round-robin policy is used.
 Used to timeshares the CPU cycles.
 To provide more flexibility, priority is assigned to
the various threads of the applications.
 Priority thread maybe non-preemptive or
preemptive.

C.S.E.D MNNIT Allahabad 76


Flexibility to vary quantum size dynamically
 Use of round-robin scheduling scheme.
 Varies the size of fixed-length time quantum to
timeshare the CPU cycle among the threads.
 Not suitable for multiprocessor system.
 Gives good response time to short requests, even
on heavily loaded systems.
 Provides high efficiency on lightly loaded systems.

C.S.E.D MNNIT Allahabad 77


Handoff Scheduling
 Allows a thread to name its successor if it wants to.

 Provide flexibility to bypass the queue of runnable


threads and directly switch the CPU to the thread
specified by the currently running thread.

C.S.E.D MNNIT Allahabad 78


Affinity scheduling
 Thread scheduled on the CPU it last ran in hope
that part of its address space is still in CPU’s cache.

 Gives better performance on a multiprocessor


system.

C.S.E.D MNNIT Allahabad 79


Signal Handling
 Signals provide software-generated interrupts and
exceptions.
 Issues :
 A signal must be handled properly no matter which
thread of the process receives it.
 Signals must be prevented from getting lost.

C.S.E.D MNNIT Allahabad 80


Thread Implementation
 Often provided in form of a thread package.
 Two important approaches:
 First is to construct thread library that is entirely
executed in user mode.

 Second is to have the kernel be aware of threads and


schedule them.

C.S.E.D MNNIT Allahabad 81


User level threads
 It is cheap to create and destroy threads.
 Cost of creating or destroying thread is determined
by cost for allocating memory to set up a thread
stack.
 Switching thread context is done in few instructions.
 Only CPU registers need to be stored & subsequently
reloaded with the previously stored values of the
thread to which it is being switched.
 There is no need to change memory maps, flush the
TLB, do CPU accounting etc.
C.S.E.D MNNIT Allahabad 82
Cont…
 Drawback: Invocation of a blocking system call will
immediately block the entire process to which the
thread belongs.

C.S.E.D MNNIT Allahabad 83


Cont…
Advantages of the approaches
 User-level approach can be implemented on top of an
existing OS that does not support threads.
 In user-level approach due to use of two-level scheduling,
users have the flexibility to use their own customized
algorithm to schedule the threads of a process.
 Switching the context from one thread to another is faster
in the user-level approach than in the kernel approach.
 Status information table is maintained within Kernel in KLT
causing poor scalability in the kernel as compared to the
user-level approach.
C.S.E.D MNNIT Allahabad 84

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy