Process Control Block & Threads and Their Management
-
Upload
ujjwal-kumar -
Category
Technology
-
view
1.929 -
download
2
description
Transcript of Process Control Block & Threads and Their Management
Process Control BlockThreads & Their ManagementBy Ujjwal Kumar1149210055CS – V – 2013
Presentation by Ujjwal Kumar
2
Process Control Block
or PCB
Presentation by Ujjwal Kumar
3
Introduction•Each & every process in the Operating
System is represented by a Process Control Block.
•Process Control Block ~ Task Control Block or Task Struct.
Presentation by Ujjwal Kumar
4
What exactly is PCB?
•It is a Data Structure in the operating system kernel containing the information needed to manage a particular process.
•The PCB is "the manifestation(Visible) of a process in an operating system”
Presentation by Ujjwal Kumar
5
Source: http://lmgtfy.com/?q=define%3Amanifestation/
Presentation by Ujjwal Kumar
6
Fig: Process Control Block (PCB)
Presentation by Ujjwal Kumar
7
What exactly does this diagram mean?
Presentation by Ujjwal Kumar
8
•Pointers: It contains the address of another process which is present in the ready queue.
• Process State: It contains information about the state of the process i.e.,
• New
• Ready
• Running
• Waiting
• Halted
Presentation by Ujjwal Kumar
9
•Program Counter: The address of the next instruction to be executed.
• CPU Registers: The registers vary in no.
and type depending on the type of
computer architecture, they include:
• Accumulators, index registers, stack pointers
and general purpose registers
Presentation by Ujjwal Kumar
10
•CPU scheduling information: This
information includes
▫Process priority
▫Pointer to scheduling queues
▫Other scheduling parameters.
•Memory management information: This
information includes
▫Value of base and limit registers
▫Page tables
▫Segment tables.
Presentation by Ujjwal Kumar
11
• Accounting information: This information
includes
• Amount of CPU and real time used
• Time limits
• Account numbers
• Job or Process numbers etc.
• I/O status information: This information
includes
• List of I/O devices allocated to the process
• List of open files etc .
Presentation by Ujjwal Kumar
12
Now we know what exactly the Process Control Block is. But do we know where
the location of PCB is?
Presentation by Ujjwal Kumar
13
•Contains critical information of processes and hence it must be placed where it is protected from normal user access.
•In many Operating systems, it is placed in the beginning of the kernel stack of the process since that is a convenient protected location.
Presentation by Ujjwal Kumar
14
Interleaving Execution of
Processes
Presentation by Ujjwal Kumar
15
Interleaving Execution of Processes•Perception of normal end user:
Process A Process
B
Process C
Process D
Time
Presentation by Ujjwal Kumar
16
Interleaving Execution of Processes•In reality, this is how the processes are
executed: Process 1Process 2Process 1
Process 2
Presentation by Ujjwal Kumar
17
Threads & their Management
Presentation by Ujjwal Kumar
18
Threads
•Definition: In simple words we can say that Threads are light weight processes.
•It is a sequence and not a program because it cannot run on its own so it returns within the program.
•A process is divided into smaller tasks and these tasks are known as threads.
•A basic unit of CPU Utilization.
Presentation by Ujjwal Kumar
19
Advantages of Threads
•If a process has multiple threads then it will be able to perform more than one single task at the same time.
•Better Throughput.•Makes the program Responsive.
Presentation by Ujjwal Kumar
20
Types of Threading
•Single Threading•Multi Threading
Presentation by Ujjwal Kumar
21
Multithreading
•Sometimes several similar tasks have to be performed by the application in order to get the word done.
•This is where the Multithreading comes in.
Presentation by Ujjwal Kumar
22
Real life examples of Multithreading - I•Web browsers: They have different
threads to do different work.▫One thread will retrieve data from the
remote servers.▫Another one will render the data received
into visual web pages.•Example: Google Chrome, Opera, Firefox
etc.
Presentation by Ujjwal Kumar
23
Real life examples of Multithreading - II•Word Processors: Different threads in
word processor will do different jobs.▫One will render the text based materials.▫Another one will render graphic based
materials like the images etc.•Example: Microsoft Office
Presentation by Ujjwal Kumar
24
Benefits of Multithreading
•Responsiveness: The process responds much better while using multithreading as compared to single threaded processes.
•Speed Up: The process is speeded up by using multithreading hence giving a much better experience to the end user.
•Efficient Communication: The threads of a specific process can communicate with each other efficiently because of the shared address space.
Presentation by Ujjwal Kumar
25
•Utilization in multiprocessor systems: ▫Multithreading can take advantages of a
multiprocessor system.▫Multiple threads can be processed on
multiple cores of the system.
Presentation by Ujjwal Kumar
26
Implementation of Threads
•Threads are implemented in a system in three different ways. ▫Kernel Level Threads▫User Level Threads▫Hybrid Level Threads
Presentation by Ujjwal Kumar
27
Kernel Level Threads
•Implemented by the kernel itself.•Management of threads is also done by
the kernel itself.
Process
Threads
Process Table
Presentation by Ujjwal Kumar
28
User Level Thread
Kernel Space
Thread Table
ThreadProcess
User Space
Presentation by Ujjwal Kumar
29
User Level Thread
•These type of threads are loaded in the user space and the kernel doesn’t have anything to do with this.
•Threads are managed in user space so each process must have its own private thread table.
•This table consists the information of:▫Program Counter▫Stack Pointer▫Register.
Presentation by Ujjwal Kumar
30
Acknowledgements
•Sir. Mukesh Kumar Singh•Google.com•Book: OS by Vijay Shukla
Presentation by Ujjwal Kumar
31
Questions
You can ask any questions you might have in your mind
related to my presentation.