Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementing Threads in User Space

Similar presentations


Presentation on theme: "Implementing Threads in User Space"— Presentation transcript:

1 Implementing Threads in User Space
A user-level threads package

2 Implementing Threads in the Kernel
A threads package managed by the kernel

3 Hybrid Implementations
Multiplexing user-level threads onto kernel- level threads

4 Pop-Up Threads Creation of a new thread when message arrives
(a) before message arrives (b) after message arrives

5 Scheduler Activations
Goal – mimic functionality of kernel threads gain performance of user space threads Avoids unnecessary user/kernel transitions Kernel assigns virtual processors to each process lets runtime system allocate threads to processors Problem: Fundamental reliance on kernel (lower layer) calling procedures in user space (higher layer)

6 Making Single-Threaded Code Multithreaded (1)
Conflicts between threads over the use of a global variable

7 Making Single-Threaded Code Multithreaded (2)
Threads can have private global variables

8 All threads of a process share the state and resources of that process.
If a thread opens a file, all other threads can also read from that file. Each thread may be in a different stage of execution: some blocked, others active. This can improve performance.

9 Examples of uses of threads in single user multiprocessing systems:
SPREADSHEET: Thread to display menu. Thread to read user input. Thread to execute user commands. Thread to update spreadsheet. WORD PROCESSOR: Thread to save file scheduled with OS once a minute. Thread for input. Thread for spell check. Thread for formatting.


Download ppt "Implementing Threads in User Space"

Similar presentations


Ads by Google