操作系统 进程调度

操作系统 进程调度

ID:14850818

大小:58.50 KB

页数:8页

时间:2018-07-30

操作系统 进程调度_第1页
操作系统 进程调度_第2页
操作系统 进程调度_第3页
操作系统 进程调度_第4页
操作系统 进程调度_第5页
资源描述:

《操作系统 进程调度》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计一:进程调度12.1.1设计目的(1)要求学生设计一个模拟进程调度的算法。(2)理解进程控制块的结构。(3)理解进程运行的并发性。(4)掌握进程调度的三种基本算法。12.1.2设计要求在多道程序运行环境下,进程数目一般多于处理机数目,使得进程要通过竞争来使用处理机。这就要求系统能按某种算法,动态地把处理机分配给就绪队列中的一个进程,使之运行,分配处理机的任务是由进程调度程序完成的。一个进程被创建后,系统为了便于对进程进行管理,将系统中的所有进程按其状态,将其组织成不同的进程队列。于是系统中有运行进程队列、就绪队列和各种事件的进程等待队列。进程调度的功能

2、就是从就绪队列中挑选一个进程到处理机上运行。进程调度的算法有多种,常用的有优先级调度算法、先来先服务算法、时间片轮转算法。进程是程序在处理机上的执行过程。进程存在的标识是进程控制块(PCB),进程控制块结构如下:typedefstructnode{charname[10];/*进程标识符*/intprio;/*进程优先数*/intround;/*进程时间轮转时间片*/intcputime;/*进程占用CPU时间*/intneedtime;/*里程到完成还需要的时间*/intcount;/*计数器*/charstate;/*进程的状态*/structnode*n

3、ext;/*链指针*/}PCB;系统创建一个进程,就是由系统为某个程序设置一个PCB,用于对该进程进行控制和管理。进程任务完成,由系统收回其PCB,该进程便消亡。每个进程可以有三个状态:运行状态、就绪状态和完成状态。用VC编写一个程序实现进程调度的算法,模拟进程调度的过程,加深对进程控制块概念和进程调度算法的理解。1.进程的调度采用优先数调度算法。2.采用动态优先数法确定进程的优先级别。3.设计三个链队列,分别用来表示运行队列、就绪队列和完成队列。4.用户输入进程标识符以及进程所需的时间,申请空间存放进程PCB信息。优先数调度算法为每个进程设一个优先数,它总是

4、把处理机给就绪队列中具有最高优先权的进程。常用的算法有静态优先数法和动态优先数法。动态优先数法,使进程的优先权随时间而改变。初始的进程优先数取决于进程运行所需要的时间,时间大,则优先数低。采取了将进程优先数定为用一个较大的数(50)减去进程运行所需要的时间。随着进程的运行对优先数进行调整,每次运行时都是从就绪队列中选取优先数最大的进程运行,所以将就绪队列按照优先数的大小从高到低排序,这样,每次取队头进程即可。进程每执行一次,优先数减一个数(自定),CPU时间数加1,进程还需要的时间数减1。如果进程所需要的时间为0,说明进程运行完毕,将其状态变为完成状态“F”,

5、将此PCB插入到完成队列中,若就绪队列不空,就将绪队列中的第一个PCB变为运行状态。进程若没有完成,则将其优先数和就绪队列中第一个PCB的优先数作比较,如果小,则将其变为就绪态,插入到就绪队列中适当的位置,将就绪队列中的第一个PCB变为运行态投入运行,重复上述过程,直到就绪队列为空,所有进程成为完成态为止。12.1.3环境操作系统windowsxp,开发工具vc++6.0或者bcb6.0。12.1.4步骤1.打开VC,选择菜单项File->New,选择Project选项卡并建立一个名为processes的win32consoleapplication工程。2.

6、在工程中创建原文件processes.cpp:选择菜单项Project->AddtoProject->File,此时将打开一个新窗口,在其中输入想要创建的文件名字,这里是processes.cpp,在其中编辑好原文件并保存。3.通过调用菜单项Build->Rebuildall进行编译连接,可以在指定的工程目录下得到debug->processes.exe程序,可以在控制台进入该debug目录运行程序了。12.1.5运行结果分析C:>processes输入进程数:2输入进程号和运行时间:P13P22优先数算法输出信息:*********************

7、***************************进程号cpu时间所需时间优先数状态P20248wP10347w进程号cpu时间所需时间优先数状态P10347RP21145W进程号cpu时间所需时间优先数状态P21145RP11244W进程号cpu时间所需时间优先数状态P11244RP22042F进程号cpu时间所需时间优先数状态P12141RP22042F进程号cpu时间所需时间优先数状态P13038FP22042F分析如下:创建2个进程其进程号和运行时间分别为P13和P22。进程P2运行的时间是2(优先数为50-2=48),进程P1运行的时间是3(优先

8、数为50-2=47),所以P2优先数高

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

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

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