计算机操作系统-处理机调度实验报告.pdf





《计算机操作系统-处理机调度实验报告.pdf》由会员分享,可在线阅读,更多相关《计算机操作系统-处理机调度实验报告.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 中南大学 实验名称:处理机调度 课程名称:计算机操作系统 学生姓名 盛 希 玲 学 号 05 学 院 信息科学与工程学院 专业班级 电子信息工程 0602 完成时间 2008 年 10 月 12 日 目 录 一 实验内容.错误!未定义书签。二 实验目的.错误!未定义书签。三 实验题目.错误!未定义书签。四 基本思想.错误!未定义书签。五 算法分析.错误!未定义书签。六 流程图.错误!未定义书签。七 算法描述.错误!未定义书签。八 运行输出结果.错误!未定义书签。一 实验内容 选择一个调度算法,实现处理机调度。二 实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先
2、占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。三 实验题目 设计一个按优先权调度和时间片轮转算法实现处理机调度的程序。四 基本思想 先选择时间片的个数和每个时间片需要的时间,正在运行的进程每运行一秒其优先权数目加一,即其优先权减小。每个时间片运行结束后,选择进入时间片进程优先权数目最小的进程,开始下一个时间片的运行。如果有进程运行结束,则离开,再在就绪队列中选择优先权数目最小的进程进入。在运行期间,如果有新的进程来到,按优先权大小放入就绪队列中。五 算法分析 定义一个结构体,此包含了PCB 的信息:struct PCB char PID5;/*进程名*/int needti
3、me;/*要求运行的时间*/int cputime;/*已运行时间*/int priority;/*优先权(越小越高)*/int starttime;/*进入就绪队列的时间*/int overtime;/*运行完成的时间*/int state;/*状态:1 就绪 2 运行 3 完成*/struct PCB*next;子函数 struct PCB*create(int num,int n)用来建立一个按优先级大小排列的就绪进程链表和一个按时间先后循序排列的将进入就绪进程的链表。main()函数中用一 while 循环输出进入时间片的进程状态。六 流程图 开始 调用 creat()函数,初始化进程
4、 PCB,各进程按优先级排按优先级选择绪队列中进程放入时间片运转 是否开始运行 运行,每运行一秒优先权和已运行时间加一 时间片结束,是否就绪进程队列不为零 将 进 入 就绪 队 列 的进程 就 绪队列 是 否 有 新进程进入 是否所有进程运行结束 结束 七 算法描述#define NULL 0#define LEN sizeof(struct PCB)#include#include struct PCB char PID5;/*进程名*/int needtime;/*要求运行的时间*/int cputime;/*已运行时间*/int priority;/*优先权(越小越高)*/int sta
5、rttime;/*进入就绪队列的时间*/int overtime;/*运行完成的时间*/int state;/*状态:1 就绪 2 运行 3 完成*/struct PCB*next;struct PCB*create(int num,int n)/*创建进程,并将进程按优先级顺序插入队列中*/struct PCB*head,*p,*p1,*p2;int i;head=NULL;/*头指针指零*/for(i=1;iPID);printf(要求运行的时间:);/*输入要运行的时间*/scanf(%d,&p-needtime);p-cputime=0;/*占用处理机的时间赋为零*/printf(优先
6、权:);/*输入优先权*/scanf(%d,&p-priority);if(n=1)p-starttime=0;/*进入就绪队列的时间赋为零*/else printf(进入就绪队列时间:);/*输入进入就绪队列的时间*/scanf(%d,&p-starttime);p-overtime=-1;/*运行没有结束所以运行完成的时间赋为-1*/p-state=1;/*状态赋为就绪状态*/p1=head;/*p1 指针指向头指针*/if(head=NULL)/*如果头指针为零将头指针指向新建立的进程*/head=p;head-next=NULL;else /*头指针不为零的情况*/if(n=1)whi
7、le(p1!=NULL&p-priorityp1-priority)/*查找插入点*/p2=p1;p1=p1-next;else while(p1!=NULL&p-starttimep1-starttime)/*查找插入点*/p2=p1;p1=p1-next;if(head=p1)/*优先权的值最小作为表头*/p-next=head;p2=head=p;else /*否则的话插入*/p2-next=p;p-next=p1;return(head);void main()char now5;int cho,num,num1,timepiece,time,i,j,k,flag,choo,clock
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 处理机 调度 实验 报告

限制150内