电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

研发设计1进程调度算法模拟

研发设计1进程调度算法模拟_第1页
1/50
研发设计1进程调度算法模拟_第2页
2/50
研发设计1进程调度算法模拟_第3页
3/50
山东科技大学学生课程设计1 设计 1 进程调度算法的模拟一、设计目的1、通过编程实现进程调度算法的模拟,了解进程调度的过程,理解进程调度各方法的特点。二、设计要求1.用语言来实现对n 个进程采用不同调度算法的进程调度。2.每个用来标识进程的进程控制块PCB 用结构来描述,包括以下字段:(1)进程优先数 ID,其中 0 为闲逛进程, 用户进程的标识数为1,2,3⋯。(2)进程优先级Priority ,闲逛进程( idle)的优先级为0,用户进程的优先级大于0,且随机产生,优先数越大,优先级越高。矚慫润厲钐瘗睞枥庑赖。(3)进程占用的 CPU 时间 CPUtime,进程每运行一次,累计值等于 4。(4)进程总共需要运行时间Alltime ,利用随机函数产生。(5)进程状态, 0:就绪态; 1:运行态; 2:阻塞态。(6)队列指针 next,用来将多个进程控制块PCB 链接为队列。3.优先数改变的原则(1)进程在就绪队列中每呆一个时间片,优先数增加1。(2)进程每运行一个时间片,优先数减3。山东科技大学学生课程设计2 4.在调度前,系统中拥有的进程数PCB_number由键盘输入,经初始化后,所有的进程控制块PCB 链接成就绪队列。聞創沟燴鐺險爱氇谴净。三、设计说明1 FCFS 模块开始初始化 PCB,输入进程信息FCFS 算法,按照进程先后顺序输出RR 算法,按照时间片依次执行进程, ALLTIME — =4. 优先级算法,按照优先从大到小输出,进程执行依次P-3,就绪队列中的进程P+1 SJS算法,按照 ALLTIME 从小到大依次输出结束山东科技大学学生课程设计3 1.1 功能对于先到达的进程优先分配CPU,按照先来先服务的原则依次执行各进程。1.2 数据结构typedef struct PCB { int ID; //进程优先数 ,用于标示不同的进程int Priority; //进程优先级int CPUTime; //进程占用的 CPU 时间 CPUtime,进程每运行一次,累计值等于4 int ALLTime; //进程总共需要运行时间Alltime int Status; //用于表示进程状态, 0:就绪态; 1:运行态; 2:阻塞态}PCB; 1.3 算法void FCFS() { 山东科技大学学生课程设计4 Node *p=head->next; while(p!=NULL) { cout<<"执行进程 "<data.ID; p=p->next; } cout<

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

研发设计1进程调度算法模拟

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群