- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
苏州大学操作系统概念第五章分析
* 多级反馈队列调度 * 多级反馈队列实例 * 多处理器调度 * 线程调度 * * * * * 时间片和周转时间的关系 Multilevel Queue多级队列 就绪队列分为: 前台[交互式] 后台[批处理] 每个队列有自己的调度算法 前台 – RR后台 – FCFS 调度须在队列间进行. 固定优先级调度,即前台运行完后再运行后台。有可能产生饥饿 给定时间片调度,即每个队列得到一定的CPU时间,进程在给定时间内执行;如,80%的时间执行前台的RR调度,20%的时间执行后台的FCFS调度 多级队列调度 Multilevel Feedback Queue多级反馈队列调度 进程能在不同的队列间移动;可实现老化 多级反馈队列调度程序由以下参数定义: 队列数 每一队列的调度算法 决定进程升级的方法 决定进程降级的方法 决定需要服务的进程将进入哪个队列的方法 多级反馈队列调度 多级反馈队列调度例子 三个队列: Q0 – 时间片为8毫秒 Q1 –时间片为16毫秒 Q2 – FCFS 调度 新的作业进入FCFS的Q0队列,它得到CPU时能使用8毫秒,如果它不能在8毫秒内完成,将移动到队列Q1 作业在Q1仍将作为FCFS调度,能使用附加的16毫秒,如果它还不能完成,将被抢占,移至队列Q2 4、多处理器调度和线程调度 多处理器调度 多个CPU可用时,CPU调度将更为复杂 对称多处理器 (SMP) – 每个处理器决定自己的调度方案 非对称多处理器(ASMP) – 仅一个处理器能处理系统数据结构,减轻了对数据的共享需求 所有进程:一个就绪队列 处理器:私有就绪队列 调度算法:和单处理器相似 多处理器调度 处理器亲和性 进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性。 高速缓存中的内容 软亲和性:进程通常不会在处理器之间频繁迁移 硬亲和性:进程不会在处理器之间迁移 (Linux) 例子: Linux的task_struct。与 亲和性(affinity)相关的是 cpus_allowed 位掩码。这个位掩码由 n 位组成,与系统中的 n 个逻辑处理器一一对应,1表示进程可以在对应处理器上运行 负载平衡 将任务平均分配给各个处理器 针对私有就绪队列 和处理器亲和性矛盾 线程调度 局部调度(Local Scheduling) – 线程库怎样决定将哪个线程列入有效的轻量级进程LWP 全局调度 (Global Scheduling) – 内核怎样决定下一个运行的内核线程 Pthread 线程调度 API允许局部调度和全局调度 局部:PTHREAD_SCOPE_PROCESS 全局:PTHREAD_SCOPE_SYSTEM Linux and Mac OS X 仅允许PTHREAD_SCOPE_SYSTEM scope PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_PROCESS ? 默认:PTHREAD_SCOPE_SYSTEM 设置线程绑定状态 部分Linux不支持PTHREAD_SCOPE_ PROCESS,需要查看man schedpolicy SCHED_OTHER (regular, non-realtime scheduling) SCHED_RR? (realtime,? round-robin) SCHED_FIFO (realtime, first-in first-out) ? 默认:SCHED_OTHER 优先级类别 Sched param 默认:0 线程优先级参数 如果schedpolicy的值为SCHED_OTHER,schedpolicy此属性无关紧要 线程创建后可修改此属性 Pthread 调度API #include pthread.h #include stdio.h #define NUM_THREADS 5 int main(int argc, char *argv[]) { int i, scope; pthread_t tid[NUM THREADS]; pthread_attr_t attr; /* get the default attributes */ pthread_attr_init(attr); /* first inquire on the current scope */ if (pthread_attr_getscope(attr, scope) != 0) fprintf(stderr, Unable to get scheduling scope\n); else { if (scope == PTHREAD_SCOPE_P
您可能关注的文档
- 小学语文毕业复习名师点拨:第2章-汉字解析.doc
- 花卉营销PPT分析.ppt
- 小学语文毕业总复习课件-拼音汉字句子-人教新课标解析.ppt
- 小学语文新课题新课标ppT解析.ppt
- 小学语文词语分类大全,让孩子不再词穷解析.doc
- 花生米最好吃的做法都在这里千万不要错过哦~分析.doc
- 小学语文课外知识汇总解析.doc
- 小学语文常识(名言名句_成语_谚语_歇后语)解析.doc
- 第七章修改篇解析.ppt
- 小学语文第三册第四单元复习课件解析.ppt
- 2025年成都市玩偶生产荧光涂鸦互动玩偶开发可行性研究报告.docx
- 2025年成都市海绵生产用于体育馆室外运动场地透水改造可行性研究报告.docx
- 2025年天津市体操鞋企业团建运动应用报告.docx
- 2025年上海市溶洞极限运动(速降)场地开发可行性研究报告.docx
- 2025年上海市涵洞工程施工技术应用可行性研究报告.docx
- 2025年上海市体育场馆设施扎带安全防护可行性研究报告.docx
- 2025年上海市牦牛育肥产业园区建设可行性研究报告.docx
- 2025年旅拍宠物陪伴拍摄项目可行性研究报告.docx
- 2025年上海市进口食品节庆主题快闪店可行性研究报告.docx
- 2025年上海市洗选厂尾矿综合利用产业化可行性研究报告.docx
文档评论(0)