Presentation is loading. Please wait.

Presentation is loading. Please wait.

Operating Systems (CS 340 D)

Similar presentations


Presentation on theme: "Operating Systems (CS 340 D)"— Presentation transcript:

1 Operating Systems (CS 340 D)
Princess Nora University Faculty of Computer & Information Systems Computer science Department Operating Systems (CS 340 D) Dr. Abeer Mahmoud

2 (Chapter-4) Threads

3 Chapter 4: Threads Motivation Benefits Dr. Abeer Mahmoud

4 To introduce the notion of a thread —
OBJECTIVES: To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems. Dr. Abeer Mahmoud

5 OVERVIEW A thread: is a basic unit of CPU utilization
(i.e. It is the smallest sequence of programmed instructions that can be managed independently) Threads provide a way to improve application performance through parallelism. Dr. Abeer Mahmoud

6 OVERVIEW (cont..) Thread comprises :
It shares with other threads belonging to the same process its ID program counter register set stack code section, data section other operating system resources. Dr. Abeer Mahmoud

7 OVERVIEW (cont..) A traditional (or heavyweight) process has a single thread of control. A thread could be considered a ‘lightweight’ process If a process has multiple threads of control, it can perform more than one task at a time. Each thread belongs to exactly one process and no thread can exist outside a process. Dr. Abeer Mahmoud

8 Single and Multithreaded Processes
Every thread have their own program counter, stack and set of registers, but sharing common code, data, and certain structures such as open files. single thread - There is one program counter, and one sequence of instructions that can be carried out at any given time. Dr. Abeer Mahmoud

9 MOTIVATION Many software packages that run on modern desktop PCs are multithreaded. An application typically is implemented as a separate process with several threads of control. E.G. (1) : A word processor may have : a thread for displaying graphics, a thread for responding to keystrokes from the user, a third thread for spelling and grammar checking Dr. Abeer Mahmoud

10 MOTIVATION E.G. (2) : A web server –
Multiple threads allow for multiple requests to be satisfied simultaneously, without having to service requests sequentially or to fork off separate processes for every incoming request ….(creating a new thread belongs to an existing process is less overhead of creating a new process) Most operating system kernels are now Dr. Abeer Mahmoud

11 BENEFITS There are four major categories of benefits to multi- threading: 1- Responsiveness - One thread may provide rapid response while other threads are blocked or slowed down doing intensive calculations. 2- Economy - Creating and managing threads is much faster than performing the same tasks for processes. Dr. Abeer Mahmoud

12 BENEFITS (cont..) There are four major categories of benefits to multi- threading: 3-Resource sharing – Processes may only share resources through techniques (e.g. shared memory or message passing) …Such techniques must be explicitly arranged by the programmer. By default threads share common code, data, and other resources, which allows multiple tasks to be performed simultaneously in a single address space. Dr. Abeer Mahmoud

13 BENEFITS (cont..) 4- Scalability
The benefits of multithreading can be greatly increased in a multiprocessor architecture, where threads may be running in parallel on different processors. A single-threaded process can only run on one processor, regardless how many CPUs are available. Dr. Abeer Mahmoud

14 Thank you End of Chapter 4
Dr. Abeer Mahmoud


Download ppt "Operating Systems (CS 340 D)"

Similar presentations


Ads by Google