计算机操作系统-ch2a精要.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统-ch2a精要

* The Thread Model (1) (a) Three processes each with one thread (b) One process with three threads * The Thread Model (2) Items shared by all threads in a process Items private to each thread * The Thread Model (3) Each thread has its own stack * Thread Usage Why do you use threads? Responsiveness: Multiple activities can be done at same time. They can speed up the application. Resource Sharing: Threads share the memory and the resources of the process to which they belong. Economy: They are easy to create and destroy. Utilization of MP (multiprocessor) Architectures: They are useful on multiple CPU systems. Example - Word Processor, Spreadsheet One thread interacts with the user. One formats the document (spreadsheet). One writes the file to disk periodically. Why not three processes? * Thread Usage (1) A word processor with three threads * Thread Usage(2) Example – Web server One thread, the dispatcher, distributes the requests to a worker thread. A worker thread handles the requests. * Thread Usage (2) A multithreaded Web server * Thread Usage (2) Rough outline of code for previous slide (a) Dispatcher thread (b) Worker thread * POSIX Threads Figure 2-14. Some of the Pthreads function calls. * POSIX Threads Figure 2-15. An example program using threads. * Implementation of Threads Three mechanism Implementing threads in user space Implementing threads in kernel space Hybrid Implementations * User Threads(ULT) The threads package entirely in user space, kernel doesn’t know thread Threads management done by user-level threads library Thread switch don’t need kernel privilege, user-level threads are fast to create and manage. Problem: If the kernel is single-threaded, then any user-level thread performing a blocking system call will cause the entire process to block. Examples of threads library - POSIX Pthreads - Mach C-threads - Solaris UI-threads * Implementing Threads in User Space A user-level threads package * Kernel Threads(KLT) Supported by the Kernel

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档