处理机调度操作系统实验报告(共13页).doc





《处理机调度操作系统实验报告(共13页).doc》由会员分享,可在线阅读,更多相关《处理机调度操作系统实验报告(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上学年第 学期 操作系统 课程实 验 报 告学 院: 专 业: 班 级: 姓 名: 学 号: 任课教师: 专心-专注-专业实验题目处理机调度实验地点实验目的1.通过编写程序实现进程或作业先来先服务、高优先权、按时间片轮转调度算法,进一步掌握进程调度的概念和算法,加深对处理机分配的理解。 2.了解Linux中进程(线程)的调度机制。3.学习使用Linux中进程(线程)调度算法,掌握相应的与调度有关的函数。实验内容1、程序说明:(1)先来先服务算法:如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务(FCFS:first come first
2、 service)总是把当前处于就绪队列之首的那个进程调度到运行状态。(2)轮转法就是按一定时间片(记为q)轮番运行各个进程。如果q是一个定值,则轮转法是一种对各进程机会均等的调度方法。(3)优先级调度的基本思想是,把当前处于就绪队列中优先级最高的进程投入运行,而不管各进程的下一个CPU周期的长短和其他因素。2、具体步骤: (1)分析问题,提出解决问题的算法(2)编制程序(3)程序调试(4)记录实验结果,以及思考是否能够改善算法(1)编辑程序jcdd.c,编译并执行。#include #include #define P_NUM 5#define P_TIME 50enum stateread
3、y,execute,block,finish;struct pcbbchar name4;int priority; /数越大优先级越高int cputime; /已占用CPU的时间int needtime; /执行时间int count;enum state process;struct pcbb *next;typedef struct pcbb pcb;void display_menu()printf(CHOOSE THE ALGORITHM:n);printf(1 PRIORITYn);printf(2 ROUNDROBINn);printf(3 EXITn);pcb* get_pr
4、ocess()pcb *q;pcb *p; /头指针pcb *t; /尾指针int i = 0;printf(input name and timen);while (i name);scanf(%d,&q-needtime);q-cputime = 0;q-priority = P_TIME - q-needtime;q-process = ready;q-next = NULL;if(i=0)p = q;t = q;elset-next = q;t = q;i+;return p;void free_process(pcb *p)pcb *q;while(p!= NULL)q = p;p
5、= p-next;free(q);void display(pcb *p)printf(name cputime needtimepriority staten);while(p)printf(%s,p-name);printf( );printf(%d,p-cputime);printf( );printf(%d,p-needtime);printf( );printf(%d,p-priority);printf( );switch(p-process)case ready:printf(readyn);break;case execute:printf(executen); break;c
6、ase block:printf(blockn); break;case finish:printf(finishn); break;p = p-next;int process_finish(pcb *q)int b1 = 1;while(b1&q)b1 = b1&q-needtime=0;q = q-next;return b1;void cpuexe(pcb *q)pcb *t = q;int tp = 0;while(q) /让t指向优先级最高的进程if (q-process!=finish)q-process = ready;if(q-needtime=0)q-process = f
7、inish;if(tppriority&q-process!=finish)tp = q-priority;t = q;q = q-next;if(t-needtime!=0)t-priority -=3; /每执行一次优先级降低三个单位t-needtime -;t-process = execute;t-cputime+;void priority_cal()pcb *p;p = get_process();int cpu = 0;while(!process_finish(p) /就绪队列中还有进程cpu+;printf(cputime:%dn,cpu);cpuexe(p); /选择优先级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 处理机 调度 操作系统 实验 报告 13

限制150内