- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.4.1 进程对象和线程对象 一个Windows进程必须至少包含一个执行线程,该线程可能会创建别的线程。在多处理器系统中,同一个进程中的多个线程可以并行地执行。图4-8 b)描述了一个线程对象的对象结构,表4-2定义了线程对象的属性。注意线程的某些属性与进程的类似,在这种情况下,线程的这些属性值是从进程的属性值得到的。例如,在多处理器系统中,线程处理器亲和性是可以执行该线程的处理器集合,这个集合等于进程处理器亲和性或其子集。 表4-2 Windows线程对象属性 4.4.1 进程对象和线程对象 注意,线程对象的一个属性是上下文环境,包括了线程执行后的处理器寄存器的值。这个信息允许线程被挂起和恢复。此外,当线程被挂起时,可以通过修改该线程的上下文来改变它的行为。 4.4.2 多线程 由于不同进程中的线程可能并发执行(好像同时在执行),因而Windows支持进程间的并发性。此外,同一个进程中的多个线程可以分配给不同的处理器并且同时执行(实际上同时执行)。一个含有多线程的进程在实现并发时,不需要使用多进程的开销。同一个进程中的线程可以通过它们的公共地址空间交换信息,并访问进程中的共享资源,不同进程中的线程可以通过在两个进程间建立的共享内存交换信息。 4.4.2 多线程 一个面向对象的具有多线程的进程是实现服务器应用程序的一种有效方法。例如,一个服务器进程可以并发地为许多客户服务。 4.4.3 线程状态 一个还存在于系统中的Windows线程处于以下六种状态之一(见图4-9): 就绪态:就绪线程可以被调度执行。内核分派器跟踪所有就绪线程,并按优先级顺序进行调度。 备用态:备用线程已经被选择下一次在一个特定的处理器上运行。该线程在这个状态等待,直到那个处理器可用。如果备用线程的优先级足够高,正在那个处理器上运行的线程可能被这个备用线程抢占。否则,该备用线程要等到正在运行的线程被阻塞或时间片结束。 图4-9 Windows线程状态 4.4.3 线程状态 运行态:一旦内核分派器执行了线程切换,备用线程将进入运行状态并开始执行。执行过程一直持续到该线程被抢占、用完时间片、被阻塞或终止。在前两种情况下,它将回到就绪态。 等待态:① 当线程被一个事件(如I/O)阻塞,② 为了同步自愿等待,或者③ 一个环境子系统指引它把自身挂起时,该线程进入等待状态。当等待的条件满足时,如果它的所有资源都可用,线程转到就绪态。 过渡态:一个线程在等待后,如果准备好运行但资源不可用时,进入该状态。例如,一个线程的栈被换出内存。当该资源可用时,线程进入就绪状态。 4.4.3 线程状态 终止态:一个线程可以被自己或者被另一个线程终止,或者当它的父进程终止时终止。一旦完成了清理工作,该线程从系统中移出,或者被执行体保留(Windows执行体包含基本操作系统服务,如存储管理、进程和线程管理、安全、I/O及进程间通信),供以后重新初始化。 4.4.4 对OS子系统的支持 通用的进程和线程设施必须支持各种操作系统客户端的特定进程和线程结构,可以利用Windows进程和线程的特征来模仿相应操作系统中的进程和线程设施。 4.4.4 对OS子系统的支持 进程创建从应用程序的一个创建新进程的请求开始。创建进程的请求从一个应用程序发向相应的受保护子系统,该子系统又给Windows执行体发送一个进程请求,Windows创建一个进程对象并给子系统返回该对象的一个句柄。当Windows创建一个进程时,它不会自动创建线程。在Win32中,一个新进程往往和一个线程一起创建。因此,Win32子系统再次调用Windows进程管理器,为这个新进程创建一个线程,并从Windows接收该线程句柄,正确的线程和进程信息返回给应用程序。 4.4.4 对OS子系统的支持 POSIX子系统不支持线程,因此,POSIX子系统从Windows得到新进程的线程,使得该进程可以被激活,但仅给应用程序返回该进程的信息。而POSIX进程通过Windows执行体的进程和线程来实现这一点,对应用程序是不可见的。 4.4.4 对OS子系统的支持 当执行体创建一个新进程时,这个新进程继承了创建它的进程的许多属性。但是,在Windows环境中,进程的创建是间接完成的。一个应用程序客户端进程给Win32子系统发出一个进程创建请求,该子系统又给Windows执行体发出一个进程创建请求。由于期待的效果是新进程继承客户端进程的特点而不是服务器进程的特点,因而Windows允许子系统指定新进程的父进程。新进程随后继承了父进程的访问令牌、配额限制、基本优先级和默认处理器亲和性。 4.4.5 对称多处理的支持 Windows支持SMP硬件配置。任何进程的线程,包括执行体的线程,都可以在任何处理器上运行。在没有亲和性限制
您可能关注的文档
- 常用工具软件实用教程电子教案 第4章 文件编辑与管理软件.PPT
- 程序设计基础 Java语言 教学课件 作者 余先锋 ch03.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋 ch04.ppt
- 操作系统安全 教学课件 作者 张波云 鄢喜爱 范强 第一章 绪论.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋 ch05.ppt
- 常用工具软件实用教程电子教案 第5章 文件下载软件.PPT
- 仓储与配送管理 第2版 教学课件 作者 秦龙有 主编 第四章 商品在库保管.ppt
- 操作系统基础 教学课件 作者 邓胜兰 第1章 概述.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋 ch06.ppt
- 常用工具软件实用教程电子教案 第6章 离线浏览与文件传输.PPT
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
文档评论(0)