操作系统常见的几种算法举例分析.pdf
《操作系统常见的几种算法举例分析.pdf》由会员分享,可在线阅读,更多相关《操作系统常见的几种算法举例分析.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、收稿日期:2010-11-15作者简介:孙杨模(1976-),男,湖北嘉鱼人,湖北黄冈艺术学校教师、工程师,主要研究单片机、嵌入式系统。2010年 12月第 7卷?第 2期湖 北 三 峡 职 业 技 术 学 院 学 报Journal ofHuBeiThree GrogesVocational and TechnicalCollegeDec.2010Vol?7?No.2操作系统常见的几种算法举例分析孙杨模(湖北黄冈艺术学校 计算机中心,湖北 黄冈?438000)摘?要:本文通过举例分析操作系统应用中常见的几种算法,比较不同算法各自的特点,分别适合哪种场合,以期对操作系统的教学和学习起到借鉴作用。
2、关键词:操作系统;?算法;?调度中图分类号:TP316?文献识别码:A?文章编号:2027/YC-(2010)02-0087-004?操作系统(英语:Operating System,简称 OS)是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。大致包括 5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。操作系统是高校计算机专业的主干课程,理论性强,很多学生在学习这门课程时,没有实践经验,对于其中很多概念难以理解,本文结合典型例题,分析不同算法的优缺点以及它们的不同应用,具体如下:一、作业调度算法作业调度算法常见的有 3种:1、先来先服务算法。2
3、、计算时间短的作业优先算法。3、响应比高者优先算法。1、先来先服务(FCFS,First Come F irst Serve)是最简单的调度算法,按先后顺序进行调度。优点:算法简单,比较有利于长作业,而不利于短作业。有利于 CPU繁忙的作业,而不利于 I/O 繁忙的作业。缺点:如果先来的进程需要很长的处理时间,而后来的进程要等很长时间。2、计算时间短的作业优先算法又称为短作业优先(SJF,Shortest Job First):对预计执行时间短的作业(进程)优先分派处理机。优点:比 FCFS改善平均周转时间和平均带权周转时间,缩短作业的等待时间;提高系统的吞吐量。缺点:对长作业非常不利,可能长
4、时间得不到执行;未能依据作业的紧迫程度来划分执行的优先级;难以准确估计作业(进程)的执行时间,从而影响调度性能。3、响应比高者优先算法(HRN,H ighest Response_ratio Next):对 FCFS方式和 SJF 方式的一种综合平衡,HRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。缺点:由于每次调度前要计算响应比,系统开销也要相应增加。例题分析:例 1:某一多道程序设计系统,采用可移动已在主存储器中作业的可变分区方式管理主存,已知供用户使用的主存空间为 100K,系统配有 4台打印机,对打印机采用静态分配。现有一作业序列
5、如下表所示,假设作业调度从 11时开始,请回答:(1)若作业调度采用?先来先服务调度算法 ,求每一作业的周转时间和平均周转时间。(2)若作业调度采用?计算时间最短优先调度算法 ,求选中作业执行时的先后次序和作业完成的先后次序。(注:忽略系统开销。)作业编号进输入井时间要求执行时间需打印机数要求主存量110.0时0.4时2台15K210.2时0.5时1台60K310.5时0.1时3台40K410.6时0.3时2台40K510.8时0.2时1台65K?解:(1)从题中可知作业调度从 11时开始,也就87是 5个作业都到达输入井,采用先来先服务调度算法并且是多道系统,受资源限制,开始只能作业 1、2
6、进入,1运行结束,释放占用的资料,因为是先来先服务调度算法,3进入,当 2运行结束,4、5都必须等,因为没有资源没有满足,具体运行情况如下:作业编号进输入井时间要求执行时间结束时间周转时间110.0时0.4时11.4时1.4时210.2时0.5时11.9时1.7时310.5时0.1时12时1.5时410.6时0.3时12.3时1.7时510.8时0.2时12.5时1.7时?特别强调:周转时间=结束时间-进入输入井时间平均时间=(1.4时+1.7时+1.5时+1.7时+1.7时)/5=1.6时(2)从 11时开始,也就是 5个作业都到达输入井,采用计算时间最短优先调度算法并且是多道系统,受资源限
7、制,开始只能作业 3进入,3运行结束,释放占用的资料,因为是计算时间最短优先调度算法,5、1进入,当 5运行结束,4进入,最后 2进入,具体运行情况如下:作业编号进输入井时间要求执行时间结束时间周转时间110.0时0.4时11.7时1.7时210.2时0.5时12.5时2.3时310.5时0.1时11.1时0.6时410.6时0.3时12时1.4时510.8时0.2时11.3时0.5时?平均时间=(1.7时+2.3时+0.6时+1.4时+0.5时)/5=1.18时例 2:有 4个作业 J1、J2、J3、J4,它们的到达时间和计算时间如下表所示。若这 4个作业在一台处理机上按单道方式运行,采用响
8、应比高者优先调度算法,试写出各作业的执行顺序、各作业的周转时间及平均周转时间。(从作业J1到 8!00开始调度运行)作业的到达时间和计算时间作业到达时间计算时间J18!002小时J28!3040分钟J39!0025分钟J49!3030分钟?解:从题中可知作业调度从 8时开始,也就是只有作业 J1到达输入井,采用响应比高者优先调度算法并且是单道系统,开始只能作业 J1进入,J1运行结束,已经 10时,故 J2、J3、J4都已到达输入井,因为是响应比高者优先调度算法,故要计算 J2、J3、J4的响应比,响应比=等待时间/计算时间,具体运行情况如下:J2、J3、J4到 10时等待时间分别为 90分钟
9、、60分钟、30分钟,J2=90/40=2.25J3=60/25=2.4J4=30/30=1故 J1结束,J3响应比最高,故 J3进入。当 J3结束,J2、J4等待时间分别为 115分钟、55分钟,响应比分别为:J2=115/40=2.875J4=55/30=1.833故 J3结束,J2响应比最高,故 J2进入。最后 J4进入。综上所述 J1周转时间为 10时-8时=120分钟;J3周转时间为 10:25时-9时=85分钟;J2周转时间为 11.05时-8:30时=155分钟;J4周转时间为 11.35时-9:30时=125分钟;平均周转时间=(120分钟+85分钟+155分钟+125分钟)/
10、4=121.25分钟二、页面调度算法页面调度算法常见的主要有两种:1、先进先出调度算法(FIFO)。2、最近久未使用调度算法(LRU)。例题分析:例 3:对访问串 1、2、3、4、1、2、5、1、2、3、4、5,指出在驻留集大小为 3时,使用 FIFO和 LRU替换算法的页故障数,写出驻留集内页号的变化过程。解:(1)使用 FIFO算法FIFO算法原理:先进先出调度算法。该算法总是淘汰最先进入内存的页面,既选择在内存中驻留时间最久的页面予以淘汰。页号的变化过程如下:故共产生 6次缺页中断。(2)使用 LRU算法LRU算法原理:LRU是 Least Recently Used的缩88写,即最近最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 常见 算法 举例 分析
限制150内