0% found this document useful (0 votes)
27 views15 pages

Unit III OSY Handout Revised 24.07.2023

Uploaded by

dhanashree
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)
27 views15 pages

Unit III OSY Handout Revised 24.07.2023

Uploaded by

dhanashree
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/ 15

Unit III – Process Management

COURSE INFORMATION SHEET


Program- Computer Engineering
Semester- Fifth Scheme-I
Course- Operating System(OSY) Course Code-22516
Name of faculty: Mr.Vijay N. Kukre
Theory- 3 Hrs/ Week Practical:- Hrs/Week- 2
Course Outcomes: -
CO Course Outcome (CO) Statements PO addressed
C22516.c Execute process commands for performing process
1,2,3,4,5,6
management operations.

List of Reference Books


Sr.No. Title Author Publications
1. Operating System Concepts Silberschatz Galvin John Wiley and Sones
9th Edition - 2015
2. Operating System Godbole Achyut S Tata McGraw Hill
Education 2015
3. Operating System: Internals William Stalling Pearson 8th Edition
and Design Principles 2015
4. Unix Concepts and Sumitabh Das McGraw Hill
Programming Education 2015
5. Operating System Dhananjay Dhamdhere McGraw Hill
Education 2015
6. Operating System Dr. Rajendra Kawale Devraj Publications
Mumbai
7. Linux Command Line and Richard Blum Wiley Publishing
Shell Scripting-Bible
List of Web Sites
1. https://www.geeksforgeeks.org/inter-process-communication-ipc/
2. https://www.geeksforgeeks.org/introduction-of-system-call/
3. https://www.tutorialspoint.com/what-is-interprocess-communication
4. https://www.scaler.com/topics/operating-system/inter-process-communication-
in-os/
5. https://www.tutorialspoint.com/what-is-process-control-block-pcb
6. https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/
7. https://www.javatpoint.com/os-process-states
8. https://www.geeksforgeeks.org/states-of-a-process-in-operating-systems/
9. https://www.geeksforgeeks.org/thread-in-operating-system/
10. https://www.javatpoint.com/threads-in-operating-system
List of PPTs
1 Ppts on all chapters

Mr. V.N.Kukre Page 1 of 15


Unit III – Process Management

3.1 Process
Definition:
A process is basically a program in execution or instance of the program execution. The
execution of a process must progress in a sequential fashion.
 Process is not as same as program code but a lot more than it.
 A process is an 'active' entity as opposed to program which is considered to be a
'passive' entity.
 Attributes held by process include hardware state, memory, CPU etc.

Process memory is divided into four sections for efficient working:


 The Text section is made up of the compiled program code, read in from non-
volatile storage when the program is launched.
 The Data section is made up the global and static variables, allocated and
initialized prior to executing the main.
 The Heap is used for the dynamic memory allocation, and is managed via calls
to new, delete, malloc, free, etc.
 The Stack is used for local variables. Space on the stack is reserved for local
variables when they are declared.

Process States:
When a process executes, it passes through different states. These stages may differ in
different operating systems.
In general, a process can have one of the following five states at a time.
S.N. State & Description
1 Start: This is the initial state when a process is first started/created.
Ready: The process is waiting to be assigned to a processor. Ready processes are
2
waiting to have the processor allocated to them by the operating system so that they

Mr. V.N.Kukre Page 2 of 15


Unit III – Process Management

can run. Process may come into this state after Start state or while running it by but
interrupted by the scheduler to assign CPU to some other process.

Running: Once the process has been assigned to a processor by the OS scheduler, the
3
process state is set to running and the processor executes its instructions.
Waiting: Process moves into the waiting state if it needs to wait for a resource, such as
4
waiting for user input, or waiting for a file to become available.
Terminated or Exit: Once the process finishes its execution, or it is terminated by the
5 operating system, it is moved to the terminated state where it waits to be removed from
main memory.

Process State Diagram


Process Control Block (PCB):
 A Process Control Block is a data structure maintained by the Operating System
for every process.
 The PCB is identified by an integer process ID (PID).
 A PCB keeps all the information needed to keep track of a process as listed below
in the table –
S.N. Information & Description
Process State: The current state of the process i.e., whether it is ready, running,
1
waiting, or whatever.
2 Process privileges: This is required to allow/disallow access to system resources.
3 Process ID: Unique identification for each of the process in the operating system.
4 Pointer: A pointer to parent process.
Program Counter: Program Counter is a pointer to the address of the next instruction
5
to be executed for this process.
CPU registers: Various CPU registers where process need to be stored for execution
6
for running state.
CPU Scheduling Information: Process priority and other scheduling information
7
which is required to schedule the process.
Memory management information: This includes the information of page table,
8 memory limits, Segment table depending on memory used by the operating system.

Mr. V.N.Kukre Page 3 of 15


Unit III – Process Management

Accounting information: This includes the amount of CPU used for process
9
execution, time limits, execution ID etc.
10 IO status information: This includes a list of I/O devices allocated to the process.

The architecture of a PCB is completely dependent on Operating System and may contain
different information in different operating systems. Here is a simplified diagram of a PCB −

Process Control Block (PCB) Diagram

The PCB is maintained for a process throughout its lifetime, and is deleted once the process
terminates.

3.2 Process Scheduling


Definition
 The process scheduling is the activity of the process manager that handles the
removal of the running process from the CPU and the selection of another process
on the basis of a particular strategy.
 Process scheduling is an essential part of a Multiprogramming operating systems.
 Such operating systems allow more than one process to be loaded into the executable
memory at a time and the loaded process shares the CPU using time multiplexing.
What are Scheduling Queues?
 All processes, upon entering into the system, are stored in the Job Queue.
 Processes in the Ready state are placed in the Ready Queue.

Mr. V.N.Kukre Page 4 of 15


Unit III – Process Management

 Processes waiting for a device to become available are placed in Device Queues.
There are unique device queues available for each I/O device.
A new process is initially put in the Ready queue. It waits in the ready queue until it is
selected for execution (or dispatched). Once the process is assigned to the CPU and is
executing, one of the following several events can occur:
 The process could issue an I/O request, and then be placed in the I/O queue.
 The process could create a new sub-process and wait for its termination.
 The process could be removed forcibly from the CPU, as a result of an interrupt,
and be put back in the ready queue.

In the first two cases, the process eventually switches from the waiting state to the ready
state, and is then put back in the ready queue. A process continues this cycle until it
terminates, at which time it is removed from all queues and has its PCB and resources
deallocated.
Schedulers:
 Schedulers are special system software which handle process scheduling in various
ways.
 Their main task is to select the jobs to be submitted into the system and to decide
which process to run. Schedulers are of three types −
 Long-Term Scheduler
 Short-Term Scheduler
 Medium-Term Scheduler
Long Term Scheduler
 It is also called a job scheduler.
 A long-term scheduler determines which programs are admitted to the system for
processing.
 It selects processes from the queue and loads them into memory for execution.
 Process loads into the memory for CPU scheduling.
 The primary objective of the job scheduler is to provide a balanced mix of jobs, such
as I/O bound and processor bound.
 It also controls the degree of multiprogramming.

Mr. V.N.Kukre Page 5 of 15


Unit III – Process Management

 If the degree of multiprogramming is stable, then the average rate of process creation
must be equal to the average departure rate of processes leaving the system.
 On some systems, the long-term scheduler may not be available or minimal.
 Time-sharing operating systems have no long term scheduler.
 When a process changes the state from new to ready, then there is use of long-term
scheduler.

Short Term Scheduler:


 It is also called as CPU scheduler.
 Its main objective is to increase system performance in accordance with the chosen
set of criteria.
 It is the change of ready state to running state of the process.
 CPU scheduler selects a process among the processes that are ready to execute and
allocates CPU to one of them.
 Short-term schedulers, also known as dispatchers, make the decision of which
process to execute next. Short-term schedulers are faster than long-term schedulers.
Medium Term Scheduler
 Medium-term scheduling is a part of swapping.
 It removes the processes from the memory.
 It reduces the degree of multiprogramming.
 The medium-term scheduler is in-charge of handling the swapped out-processes.
 A running process may become suspended if it makes an I/O request.
 A suspended process cannot make any progress towards completion.
 In this condition, to remove the process from memory and make space for other
processes, the suspended process is moved to the secondary storage.
 This process is called swapping, and the process is said to be swapped out or rolled
out.
 Swapping may be necessary to improve the process mix.
Comparison among Scheduler
S.N. Long-Term Scheduler Short-Term Scheduler Medium-Term Scheduler
It is a process swapping
1 It is a job scheduler It is a CPU scheduler
scheduler.
Speed is in between both
Speed is lesser than short Speed is fastest among
2 short and long term
term scheduler other two
scheduler.
It provides lesser control
It controls the degree of It reduces the degree of
3 over degree of
multiprogramming multiprogramming.
multiprogramming
It is almost absent or
It is also minimal in time It is a part of Time sharing
4 minimal in time sharing
sharing system systems.
system

Mr. V.N.Kukre Page 6 of 15


Unit III – Process Management

It selects processes from It selects those processes It can re-introduce the


5 pool and loads them into which are ready to process into memory and
memory for execution execute execution can be continued.

Context Switch:
 A context switch is the mechanism to store and restore the state or context of a CPU
in Process Control block so that a process execution can be resumed from the same
point at a later time.
 Using this technique, a context switcher enables multiple processes to share a single
CPU.
 Context switching is an essential part of a multitasking operating system features.
 When the scheduler switches the CPU from executing one process to execute
another, the state from the current running process is stored into the process control
block.
 After this, the state for the process to run next is loaded from its own PCB and used
to set the PC, registers, etc.
 At that point, the second process can start executing.

 Context switches are computationally intensive since register and memory state must
be saved and restored.
 To avoid the amount of context switching time, some hardware systems employ two
or more sets of processor registers.
 When the process is switched, the following information is stored for later use.
 Program Counter
 Scheduling information

Mr. V.N.Kukre Page 7 of 15


Unit III – Process Management

 Base and limit register value


 Currently used register
 Changed State
 I/O State information
 Accounting information
3.3 Inter-process Communication
 Processes executing concurrently in the operating system might be either
independent processes or cooperating processes.
 A process is independent if it cannot be affected by the other processes executing in
the system.
 Inter Process Communication (IPC) is a mechanism that involves communication
of one process with another process. This usually occurs only in one system.
 Communication can be of two types −
 Between related processes initiating from only one process, such as parent and
child processes.
 Between unrelated processes, or two or more different processes.
 Processes can communicate with each other using these two ways:
 Shared Memory
 Message passing
Shared Memory
 Shared memory is the memory that can be simultaneously accessed by multiple
processes.
 This is done so that the processes can communicate with each other.
 All POSIX systems, as well as Windows operating systems use shared memory.
Message Queue
 Multiple processes can read and write data to the message queue without being
connected to each other.
 Messages are stored in the queue until their recipient retrieves them.
 Message queues are quite useful for inter-process communication and are used
by most operating systems.
 If two processes p1 and p2 want to communicate with each other, they proceed
as follow:
 Establish a communication link (if a link already exists, no need to
establish it again.)
 Start exchanging messages using basic primitives.
 We need at least two primitives:
send(message, destinaion) or send(message)
receive(message, host) or receive(message)

Mr. V.N.Kukre Page 8 of 15


Unit III – Process Management

3.4 What is Thread?


 A thread is a flow of execution through the process code, with its own program
counter that keeps track of which instruction to execute next, system registers which
hold its current working variables, and a stack which contains the execution history.
 A thread shares with its peer threads few information like code segment, data
segment and open files.
 When one thread alters a code segment memory item, all other threads see that.
 A thread is also called a lightweight process.
 Threads provide a way to improve application performance through parallelism.
 Threads represent a software approach to improving performance of operating
system by reducing the overhead thread is equivalent to a classical process.
 Each thread belongs to exactly one process and no thread can exist outside a process.
Each thread represents a separate flow of control.
 Threads have been successfully used in implementing network servers and web
server.
 They also provide a suitable foundation for parallel execution of applications on
shared memory multiprocessors.
 The following figure shows the working of a single-threaded and a multithreaded
process.

Mr. V.N.Kukre Page 9 of 15


Unit III – Process Management

Difference between Process and Thread


S.N. Process Thread
Process is heavy weight or resource Thread is light weight, taking lesser
1
intensive. resources than a process.
Process switching needs interaction Thread switching does not need to
2
with operating system. interact with operating system.
In multiple processing environments,
each process executes the same code All threads can share same set of open
3
but has its own memory and file files, child processes.
resources.
If one process is blocked, then no
While one thread is blocked and waiting,
4 other process can execute until the
a second thread in the same task can run.
first process is unblocked.
Multiple processes without using Multiple threaded processes use fewer
5
threads use more resources. resources.
In multiple processes each process One thread can read, write or change
6
operates independently of the others. another thread's data.
Advantages of Thread
 Threads minimize the context switching time.
 Use of threads provides concurrency within a process.
 Efficient communication.
 It is more economical to create and context switch threads.
 Threads allow utilization of multiprocessor architectures to a greater scale and
efficiency.
Types of Thread
Threads are implemented in following two ways −
 User Level Threads − User managed threads.
 Kernel Level Threads − Operating System managed threads acting on kernel,
an operating system core.
User Level Threads
 In this case, the thread management kernel is not aware of the existence of
threads.
 The thread library contains code for creating and destroying threads, for passing
message and data between threads, for scheduling thread execution and for
saving and restoring thread contexts.
 The application starts with a single thread.

Mr. V.N.Kukre Page 10 of 15


Unit III – Process Management

Advantages
 Thread switching does not require Kernel mode privileges.
 User level thread can run on any operating system.
 Scheduling can be application specific in the user level thread.
 User level threads are fast to create and manage.
Disadvantages
 In a typical operating system, most system calls are blocking.
 Multithreaded application cannot take advantage of multiprocessing.
Kernel Level Threads
In this case, thread management is done by the Kernel. There is no thread management
code in the application area. Kernel threads are supported directly by the operating
system. Any application can be programmed to be multithreaded. All of the threads
within an application are supported within a single process.
The Kernel maintains context information for the process as a whole and for individuals
threads within the process. Scheduling by the Kernel is done on a thread basis. The
Kernel performs thread creation, scheduling and management in Kernel space. Kernel
threads are generally slower to create and manage than the user threads.
Advantages
 Kernel can simultaneously schedule multiple threads from the same process on
multiple processes.
 If one thread in a process is blocked, the Kernel can schedule another thread of
the same process.
 Kernel routines themselves can be multithreaded.

Mr. V.N.Kukre Page 11 of 15


Unit III – Process Management

Disadvantages
 Kernel threads are generally slower to create and manage than the user threads.
 Transfer of control from one thread to another within the same process requires
a mode switch to the Kernel.
Multithreading Models
Some operating system provide a combined user level thread and Kernel level thread
facility. Solaris is a good example of this combined approach. In a combined system,
multiple threads within the same application can run in parallel on multiple processors
and a blocking system call need not block the entire process. Multithreading models are
three types
 Many to many relationship.
 Many to one relationship.
 One to one relationship.
Many to Many Model
 The many-to-many model multiplexes any number of user threads onto an equal or
smaller number of kernel threads.
 The following diagram shows the many-to-many threading model where 6 user level
threads are multiplexing with 6 kernel level threads.
 In this model, developers can create as many user threads as necessary and the
corresponding Kernel threads can run in parallel on a multiprocessor machine.
 This model provides the best accuracy on concurrency and when a thread performs
a blocking system call, the kernel can schedule another thread for execution.

Many to One Model


Many-to-one model maps many user level threads to one Kernel-level thread. Thread
management is done in user space by the thread library. When thread makes a blocking

Mr. V.N.Kukre Page 12 of 15


Unit III – Process Management

system call, the entire process will be blocked. Only one thread can access the Kernel
at a time, so multiple threads are unable to run in parallel on multiprocessors.
If the user-level thread libraries are implemented in the operating system in such a way
that the system does not support them, then the Kernel threads use the many-to-one
relationship modes.

One to One Model


There is one-to-one relationship of user-level thread to the kernel-level thread. This
model provides more concurrency than the many-to-one model. It also allows another
thread to run when a thread makes a blocking system call. It supports multiple threads
to execute in parallel on microprocessors.
Disadvantage of this model is that creating user thread requires the corresponding
Kernel thread. OS/2, windows NT and windows 2000 use one to one relationship model.

Mr. V.N.Kukre Page 13 of 15


Unit III – Process Management

Difference between User-Level & Kernel-Level Thread


S.N. User-Level Threads Kernel-Level Thread
User-level threads are faster to create Kernel-level threads are slower to
1
and manage. create and manage.
Implementation is by a thread library at Operating system supports creation of
2
the user level. Kernel threads.
User-level thread is generic and can Kernel-level thread is specific to the
3
run on any operating system. operating system.
Multi-threaded applications cannot take Kernel routines themselves can be
4
advantage of multiprocessing. multithreaded.

E-learning material (Video lectures)


1. https://www.youtube.com/watch?v=LOfGJcVnvAk – Threads in OS
2. https://www.techtarget.com/whatis/definition/multithreading
3. https://www.youtube.com/watch?v=fxMOi7BlTyM- Threads in OS
4. https://www.youtube.com/watch?v=jZ_6PXoaoxo – For Process State
5. https://www.youtube.com/watch?v=GuGjNaMl0Rs – For PCB
6. https://www.youtube.com/watch?v=hWR8fOtD_g4 –For PCB
7. https://www.youtube.com/watch?v=iLC--q7O_KM- Process Scheduling Queue
8. https://www.youtube.com/watch?v=dJuYKfR8vec -For IPC
9. https://www.youtube.com/watch?v=fSMVWmGPqlM -For IPC
10. https://www.youtube.com/watch?v=_9P1d-si4b4 -For IPC
Questions Bank:
Q.1. Define process.
Q.2. Describe process state with process state diagram.
Q.3. Draw process state diagram.
Q.4. Describe process control block with suitable diagram.
Q.5. Describe process scheduling with suitable diagram.
Q.6. Describe long term and short scheduler.
Q.7. Describe context switch with suitable diagram.
Q.8. Differentiate between long term and short term scheduler.
Q.9. Describe Inter-process communication in brief.
Q.10. Describe the following with suitable diagram.
a. Shared memory b. Message passing
Q.11. Describe thread with suitable diagram.
Q.12. Differentiate between thread and process. (Any four points)
Q.13. List the types thread. Describe any one.
Q.14. List the models of multithreading. Describe any one with suitable diagram.
Q.15. Describe ps and kill command in Linux with syntax and two switches each.

Mr. V.N.Kukre Page 14 of 15


Unit III – Process Management

Question in MSBTE Question papers


MSBTE Examination Winter 2019
1. Draw process state diagram. (R/2)
2. Write syntax of following commands: (R/2)
(i) Sleep
(ii) Kill
3. With neat diagram explain inter process communication model. (U/4)
4. Explain ‘PS’ command with any four options. (U/4)
5. State and describe types of scheduler. (U/4)
6. Explain PCB with diagram. (U/4)
7. Explain multithreading model in detail. (U/6)
MSBTE Examination Summer 2022
1. Draw a neat labelled diagram for process state. (R/2)
2. Give commands to perform following tasks: (R/2)
(i) To add delay in script
(ii) To terminate a process
3. Differentiate between shared memory system and message passing system of inter-
process communication. (A/4)
4. Describe use of ps and wait commands with suitable example. (U/4)
5. With suitable diagram, describe use of scheduling queues in process scheduling.
(U/4)
6. Describe one-to-one multithreading model with suitable diagram. Also write any
two advantages of one-to-one model over many-to-one model. (U/6)
MSBTE Examination Winter 2022
1. Define : Process, PCB. (R/2)
2. Write syntax of following commands –(R/2)
(i) Kill
(ii) Sleep
3. Explain shared memory model of Inter-process communication (IPC). (U/4)
4. Draw and explain process state diagram. (U/4)
5. Compare between Long term and short term scheduler. (Any four points) (A/4)
6. Write the outputs of following commands. (A/6)
(i) Wait 2385018
(ii) Sleep 09
(iii) PS –u Asha
MSBTE Examination Summer 2023
1. Draw and explain process control block in detail. (U/4)
2. Explain the different types of schedulers. (U/4)
3. Draw process state diagram and describe each state. (U/4)
4. Explain the working of inter-process communication considering. (U/4)
(i) Shared memory
(ii) Message passing

Mr. V.N.Kukre Page 15 of 15

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