CPU-Scheduling-代码.docx
《CPU-Scheduling-代码.docx》由会员分享,可在线阅读,更多相关《CPU-Scheduling-代码.docx(36页珍藏版)》请在优知文库上搜索。
1、实验报告实验要求设计一个按优先权调度算法实现处理机调度和动态内存分配的程序。本次实验采用优先权与时间片方法相结合的调度,即根据优先级选出的进程会运行时间片个时间。粗略设计一、设计O粗略要点a.显示正在运行的进程b.显示就绪队列(可以载入六道进程)c.显示挂起队列,以及手动挂起按钮(或根据某种算法实现的自动挂起);显示解挂按钮(或根据某种算法实现自动解挂)d.显示手动添加进程的按钮,点击进入手动添加进程界面:显示随机添加进程按钮e.显示等待队列(预备队列),新添加的进程会首先进入这个队列f.显示程序运行以及暂停的按钮二、逻辑分析以及类设计O逻辑分析a.根据进程的状态,所有新生成的进程都应该进入等
2、待队列b.根据位于等待队列的先后顺序,选取前几位到就绪队列,直到就绪队列已满c.如果没有空闲的内存空间,怎表示就绪队列已满d.正在运行的进程结束时,必须马上重新根据调度算法选取下一个进程进行运行e.要求运行时间过长超过预期的进程应该被挂起,进入挂起队列f.解挂的进程应该进入等待队列,并位于排头g.等待中的进程应该提升其优先级,运行过的进程应该适当降低优先级,完成变动应该重新根据调度算法进行排序或选取运行h.所有活动的进程(包括挂起的)不能同名以便区分O粗略类设计常量接口用于保存程序中表示各种重要的常量表示进程状态O所有新生成进程状态默认值1 就绪表示可以参与调度算法的筛选2 等待不能参与筛选3
3、 正在运行的进程4 被挂起的进程5 终止的进程要求运行时间已经为注:等待队列中即为后备进程有关优先级最低优先级6 最高优先级最大道数时间片默认数要求时间的最大期望模拟每次运行耗费时间饥饿上界目前设置为与最大优先级相同有关内存.初始位置未进入内存/单要求内存最大值.内存大小由于掌握进程所有的信息,本次实验将其视作进程本身处理- 进程名,为生成的顺序,- 进程要求运行的时间- 优先级这是有一定范围限制的- 进程状态默认为见- 处于内存中的位置,初始为- 占内存的空间()这是构造函数各种各样的和函数不论有没有必要,都写起来O当为时,返回()将逻辑意义上的状态转化为描述()返回的描述信息这是的工厂类,
4、用于生成各式各样的记录的个数(,)这个函数会对参数进行各种限制,直到输入值满足要求才会生成返回一个0()随机生成要求数目的链表UU(C)将链表转化为二维数组,方便界面列表显示O这里返回已经生成的的个数- 内存,大小为0使用号内存()使用到号内存()释放号内存()释放到号内存()如果号内存被使用则返回()如果到号内存含有被使用的段则返回- ()内存自检返PI可用段,每一个返回数组对象中,川;这是总控制类,用于各种的调度与控制我觉得此处应该使用线程,但是自己还不熟这方面的知识- 所有新生成的由这个队列接受,大小不限- 这里储存的是就绪的进程,最大容量为,且一直维持满态O这里是挂起的进程,从这里取出
5、的进程会放到等待队列排头,遵循先进先出原则- 正在运行的进程- 内存组件- 内存空闲空间辅助变量,用于标记当前进入内存的所分配的位置各种方法()插入等待队列,成功返回,下同O插到等待队列队头()插入就绪队列()插入挂起队列()经过调度算法调度,状态为的进程会运行,直到完结一个时间或者要求运行时间为;时间为时会不归还就绪队列(此方法还有待考虑),否则将归还就绪队列()根据优先级的调度算法,调度处于就绪队列的进程,返回优先级高的进程,不改变位于就绪队列的顺序;并把选取的从就绪队列中剔除,下同()根据所要求时间的调度算法,返回要求时间短的进程,不改变位于就绪队列的顺序()根据处于就绪队列的顺序的调度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CPU Scheduling 代码