处理机调度程序_操作系统课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北华航天工业学院
《操作系统》
课程设计报告
课程设计题目:处理机调度程序
作者所在系部:计算机与遥感信息技术学院作者所在专业:网络工程
作者所在班级: ****** 作者姓名: *******
作者学号: ******
指导教师姓名: **** 完成时间: 2015.1.5
北华航天工业学院教务处制
课程设计任务书
摘要
计算机自从1946年第一台真正意义上的数字电子计算机ENIAC 的诞生以来,已经经历了1854年-1890年、1890年-20世纪早期、20世纪中期、20世纪晚期-现在四个阶段,每一个阶段的发展都发生了质与量的突飞猛进。然而,计算机的发展只是代表了硬件的提升,对于软件,操作系统的发展更加引人注目。
操作系统(OS)是管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统的型态非常多样,不同机器安装的OS可从简单到复杂,可从手机的嵌入式系统到超级电脑的大型操作系统。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。操作系统的不断提升对于计算机整体性能的提高有着至关重要的作用。
操作系统对于各个方面的要求都不得不提到效率的问题,计算机系统的处理机调度便变得尤为重要。处理机调度的效率甚至可能成为提高计算机处理速度的瓶颈。处理机调度就是对系统的资源做出合理的分配,因而,提高处理机的调度算法也变得尤为重要。
关键词:操作系统处理机调度系统资源
目录
第1章绪论 (1)
1.1 处理机调度功能 (1)
1.2 处理机调度性能准则 (1)
第2章系统需求分析 (3)
2.1 时间片轮转调度算法 (3)
2.2 短作业优先调度算法 (3)
2.3 动态优先级调度算法 (3)
第3章系统总体设计 (4)
3.1 系统功能设计 (4)
3.2 时间片轮转法设计 (4)
3.3 短作业优先算法设计 (4)
3.4 动态优先级算法设计 (4)
第4章系统实现 (6)
4.1 时间片轮转法实现 (6)
4.2 短作业优先算法实现 (9)
4.3 动态优先级算法实现 (12)
第5章系统使用说明 (14)
第6章课程设计总结 (15)
6.1 主要问题及解决办法 (15)
6.2 课程设计体会 (15)
6.3 自我评定 (15)
参考文献 (16)
第1章绪论
在多道程序设计系统中,内存中有多道程序运行,他们相互争夺处理机这一重要的资源。处理机调度就是从就绪队列中,按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行。
1.1 处理机调度功能
一般情况下,当占用处理机的进程因为某种请求得不到满足而不得不放弃CPU进入等待状态时,或者当时间片到,系统不得不将CPU分配给就绪队列中另一进程的时候,都要引起处理机调度。除此之外,进程正常结束、中断处理等也可能引起处理机的调度。因此,处理机调度是操作系统核心的重要组成部分,它的主要功能如下:
(1)记住进程的状态,如进程名称、指令计数器、程序状态寄存器以及所有通用寄存器等现场信息,将这些信息记录在相应的进程控制块中。
(2)根据一定的算法,决定哪个进程能获得处理机,以及占用多长时间。
(3)收回处理机,即正在执行的进程因为时间片用完或因为某种原因不能再执行的时候,保存该进程的现场,并收回处理机。
处理机调度的功能中,很重要的一项就是根据一定算法,从就绪队列中选出一个进程占用CPU运行。可见,算法是处理机调度的关键。
1.2 处理机调度性能准则
处理机调度,有许多不问的调度算法,不同的调度算法具有不同的特性。因此,在介绍算法之前,先介绍衡量一个算法的基本准则。
衡量和比较调度算法性能优劣主要有一下几个因素:
(1)CPU利用率。CPU是计算机系统中最重要的资源,所以应尽可能使CPU保持忙,使这一资源利用率最高。
(2)吞吐量。CPU运行时表示系统正处于工作状态,工作量的大小是以每单位时间所完成的作业数目来描述的,这就叫吞吐量。
(3)周转时间。指从作业提交到作业完成所经过的时间,包括作业等待,在就绪队列中排队,在处理机上运行以及进行输入/输出操作所花时间的总和。
(4)等待时间。处理机调度算法实际上并不影响作业执行或输入/输出操作的时间,只影响作业在就绪队列中等待所花的时间。因此,衡量一个调度算法优劣常常简单的考察等待时间。
(5)响应时间。指从作业提交到系统作出响应所经过的时间。在交互式系统中,作业的周转时间并不一定是最好的衡量准则,因此,常常使用另一种度量准则,即响应时间。从用户观点看,响应时间应该快一点好,但这常常要牺牲系统资源利用率为代价。
第2章系统需求分析
FCFS比较有利于长作业SJF比较有利于短作业和优先级调度算法仅对某一类作业有利,相比之下,它能全面满足不同类型作业的需求,较好实现公平性与资源利用率之间的平衡。对交互型作业,由于通常较短,这些作业在第一队列规定的时间片内完成,可使用户感到满意;对短批作业,开始时在第一队列中执行一个时间片就可完成,便可与交互型作业一样获得快速晌应,否则通常也仅需在第二、第三队列中各执行一个时间片即可完成,其周转时间仍较短;对长批作业,它们依次在第一至第n个队列中轮番执行,不必担心长时间得不到处理。
2.1 时间片轮转调度算法(RR)
时间片轮转调度算法的基本思想是:对就绪队列中的每一进程分配一个时间片,时间片的长度q一般从10ms-1100ms不等。把就绪队列看成是一个环状结构,调度程序按时间片长度q轮流调度就绪队列中的每一进程,使每一进程都有机会获得相同长度的时间占用处理机运行。
时间片轮转调度算法在分时系统中,是一种既简单又有效的调度策略。一个分时系统有许多终端。终端用户在各自的终端设备上同时使用计算机。如果某个终端用户的程序长时间地占用处理机,那么其他终端用户的请求就不能得到即时相应。一般说来,终端用户提出请求后,能在几秒钟内得到响应也就感到满意了。采用时间片轮转算法,可以使系统即时地相应各终端用户的请求。
时间片轮转调度算法的性能极大的依赖于时间片长度q的取值,如果时间片过大。则RR算法就退化为FIFO算法了;反之,如果时间片过小,那么,处理机在各进程之间频繁转接,处理机时间开销变得很大,而提供给用户程序的时间将大大减少。
2.2 短作业优先调度算法(SJF)
根据估计运行时间的长短将各个进程排成一个队列(估计运行时间最短的进程放在对首)每次运行将对首进程投入运行,直道运行结束,将此进程连接到完成队列的队尾。然后,再将下一个对首投入运行,直到所有的进程都运行完毕。
2.3 动态优先级调度算法
进程的动态优先级一般根据以下原则确定:
根据进程占用有CPU时间的长短来决定。
根据就绪进程等待CPU的时间长短来决定。