- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章处理器调度
* 例如,一个应用程序有五个线程,另一个应用程序有一个线程,如果使用统一的时间分配,每个应用程序分别获得50%的CPU时间。但是,当后一个线程运行时,有4/5的处理器是空闲的,于是浪费的CPU资源为40%(即0.5???4/5?=?0.40),如图3.21所示。 3.6.3 线程调度策略(续) 图3.21 处理器时间分配 如果这两组线程不采用群调度,而用单线程调度,则处理器浪费的时间会减少。 如果采取线程组的线程权调度,共6个线程,第1组线程占权的5/6,分配处理器5/6的时间,第2组线程占权的1/6,分配处理器1/6的时间。这样浪费的处理器时间只是第2组处理时间的4/6,处理器浪费时间为13.33%(即(1/6)???(4/5)=?4/30?=?13.33%),如图3.22所示。 3.6.3 线程调度策略(续) 图3.22 处理器时间分配 虽然群调度存在处理器利用率低的问题,但是,群调度算法应用于一个进程的多个并发线程时,多线程并行执行具有较好系统效率,因此,它仍然被广泛应用在支持并行的多处理器系统中。 3.6.3 线程调度策略(续) 3.处理器指定调度算法 处理器指定调度算法与静态分配调度算法非常相似,调度器指派调度算法针对一个进程有多个线程而言,给属于一个进程的一组线程专门指派一组处理器,一旦该进程被调度,它的每一个线程都被分配了一个处理器,这些线程一直占有这些处理器运行,直到整个进程结束。 在该调度算法中,系统要付出的代价是处理器时间的浪费。因为,一旦一组线程中的某个线程阻塞后,原来运行阻塞线程的处理器不可能再运行其它的线程,一直空闲,直到该组线程全部运行结束。另外,运行指定线程的每个处理器,在这段处理时间内,只有一道线程在运行,是单道线程。 3.6.3 线程调度策略(续) 处理器指定调度算法从表面上看,系统性能较低。但是,其通过线程在不同处理器上的高度并行使应用程序具有最快的执行速度,缩短了进程的整个生命周期,避免了线程处理中的切换。 处理器指定调度算法应用在复杂的多进程环境中,如果某个进程在多进程中地位特殊,或该进程包含有多个线程,需要很快完成,则可以对该进程实行指定调度算法。 高度并行的计算机系统,可能包括几十或数百个处理器,在不考虑单个处理器的使用效率情况下,处理器指定调度算法相应提高了整个系统的计算效率。 3.6.3 线程调度策略(续) 4.动态调度算法 动态调度算法也称合作调度算法,由操作系统和应用进程共同合作完成调度。操作系统负责在进程之间分配处理器,进程完成所属线程的处理器分配。 在动态调度算法中,操作系统只对处理器进行分配,当一个作业需要一个或更多的处理器时,不管该作业是第1次到达,还是早已到达而需求发生了变化,只要系统有空闲处理器,则系统分配处理器给作业;如果没有空闲处理器,对第1次到达的作业,从目前拥有多个处理器的作业中划分一个处理器给该作业。否则,等待处理器释放或撤销作业请求。 3.6.3 线程调度策略(续) 如果有一个或多个处理器被释放,操作系统调度程序扫描申请处理器的作业队列,按照先来先服务的原则把处理器逐一分配给每个申请处理器的作业,直到没有可用处理器,或满足所有请求作业为止。 动态调度算法适合用于一个作业中有多个线程,即一个进程中有多个线程的情况。至于单线程进程,则不适合用该调度算法。动态调度算法比群调度和处理器指定调度更有利于提高系统性能。 3.6.3 线程调度策略(续) 3.7 Windows 2000/XP系统的处理器调度 3.7.1 Windows 2000/XP中的线程调度 1.Windows 2000/XP中的作业、进程和线程 Windows 2000/XP是一个多用户、多作业、多进程、多线程的操作系统,支持对称多处理器系统结构,采用了客户/服务器模型。 Windows 2000/XP操作系统包括3个层次的执行实体:作业、进程、线程。 作业是Windows 2000中引入的实体,在原来的Windows NT中不存在。Windows 2000/XP中的作业是共享一组配额限度和安全性限制的进程集合。 进程是内存资源分配和打开文件个数的基本单位。 线程是操作系统调度处理器的执行单位。 3.7.1 Windows 2000/XP中的线程调度 一个作业可以包含一个或多个进程,一个进程可以包含一个或多个线程。一个进程只能属于一个作业,一个线程只能属于一个进程。 在Windows 2000/XP中,用配额限制表示对进程数、每个进程可用的CPU时间和所有进程可用的总的CPU时间、每个进程可用的最大内存和所有进程可用的总的最大内存所进行的限制。 通过调用Win32函数,用户可以在作业、进程、线程上完成创建作业、撤销作业,创建进程、结束
您可能关注的文档
最近下载
- 2023年一级建造师工程经济历年真题章节练习题集.pdf VIP
- 《肺结核病报告转诊制度》.pdf VIP
- 脑梗塞ppt课件(精).pptx VIP
- 高血压、糖尿病培训试题(附答案).docx VIP
- pixelgridV4.5高分辨率卫星影像数据处理系统卫片使用手册.pdf VIP
- 贵州财经大学 法学综合(民法、经济法)A卷 2018年考研专业课真题.pdf VIP
- 2025年河南省高考对口升学烹饪试卷 .pdf VIP
- 贵州财经大学 法学综合(民法、经济法)B卷 2018年考研专业课真题.pdf VIP
- 论刑法中多次犯的理论与实践剖析:从概念厘定到司法适用.docx VIP
- 17J008 挡土墙(重力式、衡重式、悬臂式)(必威体育精装版).pdf VIP
文档评论(0)