- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
表4-1 Windows进程对象属性 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硬件配置。任何进程的线程,包括执行体的线程,都
您可能关注的文档
- 供应链管理 施先亮 第6章新.ppt
- 光传输网组建与维护项目化教程 杜文龙 2课程介绍新.ppt
- 光传输网组建与维护项目化教程 杜文龙 5任务2组网设备规划新.ppt
- 光传输网组建与维护项目化教程 杜文龙 7任务3硬件设备安装新.ppt
- 光子学与光电子学 原荣 第6章 光电效应及应用新.ppt
- 互换性与测量技术 第2版 周文玲 互换性(第2版) 第1章新.ppt
- 互换性与测量技术基础 第3版 周兆元 第二章测量技术基础新.ppt
- 互换性与测量技术基础 第3版 周兆元 第三章尺寸公差、配合与检测新.ppt
- 互换性与测量技术基础 第4版 王伯平 互换性与测量技术基础(王伯平 1)2003版新.ppt
- 互换性与测量技术基础第2版 毛平淮 第5章新.ppt
文档评论(0)