GSU CSC 4320 - l4 (42 pages)

Previewing pages 1, 2, 3, 20, 21, 40, 41, 42 of 42 page document View the full content.
View Full Document

l4



Previewing pages 1, 2, 3, 20, 21, 40, 41, 42 of actual document.

View the full content.
View Full Document
View Full Document

l4

74 views

Other


Pages:
42
School:
Georgia State University
Course:
Csc 4320 - Operating Systems
Operating Systems Documents

Unformatted text preview:

Saurav Karmakar Chapter 4 Threads Overview Multithreading Models Thread Libraries Threading Issues Operating System Examples Windows XP Threads Linux Threads Objectives To introduce the notion of a thread a fundamental unit of CPU utilization that forms the basis of multithreaded computer systems To discuss the APIs for the Pthreads Win32 and Java thread libraries To examine issues related to multithreaded programming Threads A thread is a single sequence stream within in a process Processes are used to group resources together and threads are the entities scheduled for execution on the CPU Sometimes called lightweight processes A thread has or consists of thread id a program counter PC a register set and a stack space Threads are not independent of one other like processes Single and Multithreaded Processes Multithreaded Server Architecture When some similar tasks to be served by a server should it create a process or a thread Benefits Responsiveness Resource Sharing Economy Scalability Process VsThreads Similarities Threads share CPU and only one thread active running at a time Threads within a processes execute sequentially Thread can create children If one thread is blocked another thread can run Differences Threads are not independent of one another All threads can access every address in the task Threads are designed to assist one other Note that processes might or might not assist one another because processes may originate from different users Concurrent Execution on a Single core System Parallel Execution on a Multicore System Multicore Programming Multicore systems putting pressure on programmers challenges include Dividing activities Balance Data splitting Data dependency Testing and debugging User Threads Thread management done by user level threads library Thread switching does not need to call operating system and to cause interrupt to the kernel The kernel knows nothing about user level threads and manages them as if they were single threaded



View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view l4 and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view l4 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?