Os4 p2c4 Threads
Os4 p2c4 Threads
E-mail: [email protected]
(partly based on slides of Le Thanh Van)
1 / 20
Outline
2 Multithreading models
2 / 20
Outline
2 Multithreading models
3 / 20
Motivation
...
4 / 20
Single vs. Multithreaded processes
5 / 20
Single vs. Multithreaded processes
With the above model, one server (by one process) can service
several concurrent requests.
6 / 20
Benefits of multithreading model
7 / 20
Benefits of multithreading model
8 / 20
Programming challenges
9 / 20
Programming challenges
Textbook
“Many computer science educators believe that software
development must be taught with increased emphasis on
parallel programming.”
10 / 20
Do not expect much on multiple threading
Amdahl’s Law
1
speedup ≤
S + 1−S
N
2 Multithreading models
12 / 20
User vs. Kernel threads
User threads
Thread management done by user-level thread library
Examples: POSIX Pthreads, Mach C-threads, Solaris
threads
Kernel threads
Thread management done at kernel-level by OS
Examples: Windows, Linux, Max OS X, Solaris
13 / 20
User vs. Kernel threads
User threads
Thread management done by user-level thread library
Examples: POSIX Pthreads, Mach C-threads, Solaris
threads
Kernel threads
Thread management done at kernel-level by OS
Examples: Windows, Linux, Max OS X, Solaris
14 / 20
Many-to-one
15 / 20
Many-to-one
16 / 20
One-to-one
17 / 20
One-to-one
18 / 20
Many-to-many
19 / 20
Many-to-many
20 / 20