计算机操作系统+进程调度+实验报告

计算机操作系统+进程调度+实验报告

ID:26270173

大小:88.50 KB

页数:6页

时间:2018-11-25

计算机操作系统+进程调度+实验报告_第1页
计算机操作系统+进程调度+实验报告_第2页
计算机操作系统+进程调度+实验报告_第3页
计算机操作系统+进程调度+实验报告_第4页
计算机操作系统+进程调度+实验报告_第5页
资源描述:

《计算机操作系统+进程调度+实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机科学系实验报告书课程名:《操作系统原理》题目:进程调度班级:学号:姓名:评语:成绩:指导教师:批阅时间:年月日《操作系统原理》实验报告-5-操作系统原理实验——进程调度实验报告1目的与要求:1)本实验目的是通过对进程调度算法的实现和实验模拟,加深对操作系统进程调度操作功能和进程调度算法的完整理解,培养和提高学生对操作系统开发的兴趣,以及进程调度程序的开发与应用能力;2)理论上必须深刻理解优先权调度算法和时间片轮转调度算法的基本思想和原理;3)独立使用C编程语言编写优先权调度或时间片轮转算算法调度模拟程序;4)按照实验题目

2、要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)2实验内容或题目1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。3实验步骤与源程序#include"stdio.h"#include"stdlib.h"#include"string.h"typedefst

3、ructnode/*创建PCB*/{charname[10];/*进程标识*/intprio;/*进程优先数*/intcputime;/*进程占用CPU时间*/intneedtime;/*进程完成所需时间*/intcount;/*计数器*/charstate;/*进程的状态*/structnode*next;/*链指针*/}PCB;PCB*finish,*ready,*tail,*run;intN;firstin()/*创建就绪队列对头指针*/{run=ready;run->state='R';ready=ready->nex

4、t;}voidprt()/*演示进程调度*/《操作系统原理》实验报告-5-{PCB*p;printf("NAMECPUTIMENEEDTIMEPRIORITYSTATUS");if(run!=NULL)printf("%-10s%-10d%-10d%-10d%c",run->name,run->cputime,run->needtime,run->prio,run->state);p=ready;while(p!=NULL){printf("%-10s%-10d%-10d%-10d%c",p->name,p->cp

5、utime,p->needtime,p->prio,p->state);p=p->next;}p=finish;while(p!=NULL){printf("%-10s%-10d%-10d%-10d%c",p->name,p->cputime,p->needtime,p->prio,p->state);p=p->next;}getchar();}insert(PCB*q){PCB*p1,*s,*r;intb;s=q;p1=ready;r=p1;b=1;while((p1!=NULL)&&b)if(p1->prio>=s->

6、prio){r=p1;p1=p1->next;}elseb=0;if(r!=p1){r->next=s;s->next=p1;}else{s->next=p1;ready=s;}《操作系统原理》实验报告-5-}voidcreate()/*创建各个进程*/{PCB*p;inti,time;charna[10];ready=NULL;finish=NULL;run=NULL;for(i=1;i<=N;i++){p=malloc(sizeof(PCB));printf("EnterNAMEofprocess:");scanf("

7、%s",na);printf("EnterTIMEofprocess(lessthan50):");scanf("%d",&time);strcpy(p->name,na);p->cputime=0;p->needtime=time;p->state='w';p->prio=50-time;/*假设优先级与耗时之和为50*/if(ready!=NULL)insert(p);else{p->next=ready;ready=p;}}system("cls");printf("DISPLAYOFTHEPROGRESS:")

8、;printf("************************************************");prt();run=ready;ready=ready->next;run->state='R';}priority()/*优先级算法调度*/{whil

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

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

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