- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows操作系统-处理机管理(上)
进程退出 ExitProcess()或TerminateProcess(),则进程包含的线程全部终止; ExitProcess()终止一个进程和它的所有线程;它的终止操作是完整的,包括关闭所有对象句柄、它的所有线程等; TerminateProcess()终止指定的进程和它的所有线程;它的终止操作是不完整的(如:不向相关DLL通报关闭情况),通常只用于异常情况下对进程的终止。 Windows 的进程管理 进程和进程控制 与进程管理相关的内核变量 PsActiveProcessHead 进程链表头 PsInitialSystemProcess 系统进程(系统线程的宿主) PsIdleProcess 空闲进程 Windows 的进程管理 进程和进程控制 线程 线程的引入 操作系统对线程的实现方式 进程和线程的比较 Windows的线程 如果说在操作系统中引入进程是为了使多个程序能够并发执行,提高资源利用率和系统吞吐量,那么引入线程(THREAD)的目的则是减少程序并发执行所付出的时空开销来,进一步提高系统的并发程度。 线程 线程的引入 进程: 资源(存储器、文件)分配单位和CPU调度/分派单位。 由于进程是资源拥有者,因而在创建、终止、切换过程中,系统必须为之付出较大的时空开销。正因为如此,系统中并发执行的进程的数目不宜过多,进程切换才频率也不宜过高,这样就限制了系统的并发程度。 解决这一问题的思路:将进程的两个基本属性分开,由操作系统分别处理——线程概念的引入 在支持线程的操作系统中,进程只作为资源分配单位,而线程则作为CPU调度/分派单位。 线程 线程的引入 线程:作为CPU调度单位,只拥有必不可少的资源,如:线程状态、寄存器上下文和栈 同样具有就绪、阻塞和执行三种基本状态 线程的优点:减小并发执行的时间和空间开销(线程的创建、退出和调度),因此容许在系统中建立更多的线程来提高并发程度。 线程的创建时间比进程短; 线程的终止时间比进程短; 同进程内的线程切换时间比进程短; 由于同进程内线程间共享内存和文件资源,可直接进行不通过内核的通信; 线程 进程与线程的关系 线程 线程的引入 OS对线程的实现方式 内核维护进程和线程的上下文信息; 线程切换由内核完成; 一个线程发起系统调用而阻塞,不会影响其他线程的运行。 时间片分配给线程,所以多线程的进程获得更多CPU时间。 依赖于OS核心,由内核完成创建和撤销。Windows 支持内核线程; 内核线程(kernel-level thread) 线程 用户线程(user-level thread) 用户线程的维护由应用进程完成; 内核不了解用户线程的存在; 用户线程切换不需要内核特权; 用户线程调度算法可针对应用优化; 不依赖于OS核心,应用进程利用线程库提供的创建、同步、调度和管理线程的函数来控制用户线程。如:数据库系统Informix,图形处理Aldus PageMaker。调度由应用软件内部进行,通常采用非抢先式和更简单的规则。一个线程发起系统调用而阻塞,则整个进程在等待。时间片分配给进程,多线程则每个线程就慢。 线程 OS对线程的实现方式 进程和线程的比较 地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见 通信:进程间只能使用IPC 线程间可以直接读写进程数据段(如全局变量)来进行通信 也需要同步和互斥手段的辅助,以保证数据的一致性 调度:线程上下文切换比进程上下文切换要快得多; 线程 线程切换和进程切换 线程 进程和线程的比较 Windows 的线程 线程 线程对象 Windows线程由执行体线程块ETHREAD表示,即线程对象,其中包含 内核线程块KTHREAD, 即线程控制块TCB 指向线程环境块TEB的指针 ETHREAD和KTHREAD位于内核空间,TEB位于用户空间 Windows 的线程状态 线程 Windows 的线程 就绪状态(Ready):进程已获得除处理机外的所需资源,等待执行。 运行 终止 就绪 等待 上下文 切换 抢先或 时间片结束 等待对象句柄 执行完成 初始化 转换 备用 选择执行 抢先 放入 就绪队列 等待完成 等待完成 换出的 内核堆栈 换入的 内核堆栈 重新初始化 创建和初始化 线程对象 Windows 的线程状态 线程 Windows 的线程 运行 终止 就绪 等待 上下文 切换 抢先或 时间片结束 等待对象句柄 执行完成 初始化 过渡 备用 选择执行 抢先 放入 就绪队列 等待完成 等待完成 换出的 内核堆栈 换入的 内核堆栈 重新初始化 创建和初始化 线程对象 备用状态(Standby):已选择好处理器,正等待上下文切换.系统中每个处理器
您可能关注的文档
最近下载
- 车位所有权人许可建设充电桩证明.pdf VIP
- 红辽卷烟公司品牌竞争力分析结论与参考文献.docx VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考试题及答案解析.docx VIP
- 【泛微客户期刊】2023年36期:某医药集团费控管理项目案例分享.pptx VIP
- 区域土地利用土地覆盖遥感调查.pdf VIP
- 泛微软件集团管控解决方案文档资料.pptx VIP
- 廉租房、公租房维修项目方案.pdf VIP
- 2025贵州省旅游产业发展集团有限公司招聘115人笔试备考题库及答案解析.docx VIP
- 农业产业化发展规划-特色农业发展规划.doc VIP
- 采购与供应商控制程序(ISO9001 IATF16949).pdf VIP
文档评论(0)