操作系统课程设计报告--动态优先级调度算法和先来先服务算法

操作系统课程设计报告--动态优先级调度算法和先来先服务算法

ID:35618261

大小:143.00 KB

页数:11页

时间:2019-04-02

操作系统课程设计报告--动态优先级调度算法和先来先服务算法_第1页
操作系统课程设计报告--动态优先级调度算法和先来先服务算法_第2页
操作系统课程设计报告--动态优先级调度算法和先来先服务算法_第3页
操作系统课程设计报告--动态优先级调度算法和先来先服务算法_第4页
操作系统课程设计报告--动态优先级调度算法和先来先服务算法_第5页
资源描述:

《操作系统课程设计报告--动态优先级调度算法和先来先服务算法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、操作系统课程设计报告题目:动态优先级调度算法和先来先服务算法专业:计算机科学与技术班级:计算机081学号:200810311023姓名:陈渊上海海事大学信息工程学院2011年6月21日目录1.课程设计任务描述与要求——进程调度模拟程序…………P32.系统总体结构描述和主要数据结构说明……………………P43.先来先服务算法………………………………………………P64.动态优先级调度算法…………………………………………P85.总结……………………………………………………………P11课程设计的内容如下:1、进程调度模拟程序设计要求:编写一个进程调度程序,模拟

2、实现进程的创建、运行、阻塞、完成等进程控制,允许多个进程并行的进程调度程序。a.系统能够真实模拟多任务操作系统中进程生命周期中的相关活动,主要功能涉及进程管理和进程调度。b.进程状态:每个进程的状态可以是就绪W(Wait)、运行R(Run)、阻塞B(Blocked)或完成F(Finish)四种状态之一。c.每个进程相关的数据结构有:进程控制块(PCB)和进程生命周期数据。w进程控制块(PCB):至少应该包含如下信息:进程名、优先级、创建时间、需要运行时间、已使用CPU时间、进程状态、进程生命周期数据、队列链表等等。w进程生命周期数据:即CPU-I/O

3、时间序列,它是进程调度、进入不同队列的依据。如序列:10秒(CPU),500秒(I/O),20秒(CPU),100秒(I/O),30秒(CPU),90秒(I/O),110秒(CPU),60秒(I/O)……等,要求序列有一定长度,在进程创建时随机生成,作为进程PCB结构的一个数据项。d.系统管理的数据结构w系统PCB结构数组;w系统就绪队列、完成队列和阻塞队列;w系统参数:时钟(可以调节速度,以利于观看系统运行)、时间片大小;e.系统运行时的显示信息时钟以时间片为单位计数,系统每次有进程发生状态改变时都给出改变进程的显著提示信息,系统在运行完每个时间片

4、后都要显示所有队列和相关进程的状态,以便掌握系统的运行情况。分配到的任务:采用动态优先级调度算法(优先级的计算自己决定,但一个进程的优先级要随时间改变,即UNIX的策略)和先来先服务算法。2.系统总体结构描述和主要数据结构说明1.整体功能需求在多道程序运行下,进程数目一般多于处理机数目,使进程通过竞争来使用处理机。这要求系统按照某种算法,动态分配给就绪队列中的一个进程,使之运行,分配的任务就是由进程调度完成的。对于不同的系统和系统分配目标,通常采用不同的调度算法。我们要做的就是用以模拟进程调度过程,实现进程调度的算法:算法1:先来先服务如果早就绪的进

5、程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务(FCFS:firstcomefirstservice)总是把当前处于就绪队列之首的那个进程调度到运行状态。也就说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU周期的长短及其他因素。FCFS算法简单易行,但性能却不大好。算法2:动态优先级调度算法不同的进程的重要程度和紧急程度不同的,优先级调度算法给每个进程赋予一个优先级,带有最高优先级的进程最先执行。动态优先级可以防止优先级高的进程不停的执行,例如可以在每一个时钟中断时降低正在运行着的进程优先级。这样该进程必然在某个时刻

6、优先级低于其他进程,从而被切换掉。系统还可以通过动态确定优先级,以使某些特定的进程得以优先执行。2.进程调度系统总体模块结构图:主要数据结构:publicclassPCB{publicintnameid;//进程名publicstringnowtime;//进程到达时间publicintneedtime;//完成进程所需时间publicintcount=1;staticRandomrand=newRandom();publicString[]Process()//初始化进程{nameid=count++;nowtime=DateTime.Now.To

7、String();needtime=rand.Next(5,20);string[]k={nameid.ToString(),nowtime,needtime.ToString()};returnk;}}3.课程设计报告内容3.1先来先服务算法代码:publicvoidfcfs()//先来先服务{inti=Convert.ToInt16(run队列[2,0].Value);//获取进程运行时间if(i!=0){i--;object[]obj2={run队列[0,0].Value,run队列[1,0].Value,i};run队列.Rows.Remov

8、eAt(0);DataRowdr2=d1.NewRow();dr2.ItemArray=obj2;d1.Ro

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。