2022年2022年进程调度+C语言+操作系统实验 .pdf

上传人:Che****ry 文档编号:27253095 上传时间:2022-07-23 格式:PDF 页数:6 大小:352.08KB
返回 下载 相关 举报
2022年2022年进程调度+C语言+操作系统实验 .pdf_第1页
第1页 / 共6页
2022年2022年进程调度+C语言+操作系统实验 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年2022年进程调度+C语言+操作系统实验 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年进程调度+C语言+操作系统实验 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 操作系统原理实验报告- 1 - 操作系统原理实验进程调度实验报告1 目的与要求 : 1)本实验目的是通过对进程调度算法的实现和实验模拟,加深对操作系统进程调度操作功能和进程调度算法的完整理解,培养和提高学生对操作系统开发的兴趣,以及进程调度程序的开发与应用能力;2)理论上必须深刻理解优先权调度算法和时间片轮转调度算法的基本思想和原理;3)独立使用C或 VC+ 编程语言编写优先权调度

2、或时间片轮转算算法调度模拟程序;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)5)于 2009 年 10 月 15 日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交) 。2 实验内容或题目1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。3 实验步骤与源程序#include #i

3、nclude 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 操作系统原理实验报告- 2 - #include void Check(); typedef struct node char name10; int span;/轮转时间int take;/占用时间int used;/已用的时间int need;/还需要的时间char status;/状态struct node *next; PCB; PCB *ready,*fin

4、ish,*tail,*rear; void Print(PCB *p) while(p!=NULL) printf(%3s%5d%5d%5d%5d%5cn,p-name,p-used,p-need,p-take,p-span,p-status); p=p-next; void Creat(int N) PCB *p; int time; char na10; ready=NULL; /*就绪队列头指针*/ finish=NULL; /*完成队列头指针*/ tail=NULL; rear=NULL; printf(Enter name and time of round process n);

5、for(int i=1;iname,na); p-span=2; p-take=0; p-used=0; p-need=time; p-status=J; p-next=NULL; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 操作系统原理实验报告- 3 - if(ready=NULL)ready=p;tail=p; elsetail-next=p;tail=p; printf(运行结果n); void Print1() /

6、输出 ready 与 finish队列PCB *p; p=ready; printf(name,used,need,take,span,staten); Print(p); p=finish; Print(p); void Run() Print1(); ready-used+=1; ready-need-=1; ready-take+=1; ready-status=R; if(ready-need!=0)/进程时间need 片是否为0 if(ready-takespan) /* 占用时间是否到轮转时间,没到就继续,到了就排到就绪队列尾*/ Run(); else tail-next=rea

7、dy;ready=ready-next;tail=tail-next; tail-status=J;tail-take=0;tail-next=NULL; Check(); else/进程撤销,放入撤销队列 if(finish=NULL) finish=ready;rear=finish; else rear-next=ready;rear=rear-next; ready=ready-next;rear-next=NULL;rear-status=F;rear-take=0; Check(); /Check();由于上多次文调用Run本身递归,此句也会被多调用,产生在结束时的冗余结果; 名师

8、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 操作系统原理实验报告- 4 - void Check() if(ready!=NULL) Run(); else Print1(); main() int N=0; printf(输入进程数目:); scanf(%d,&N); Creat(N); Check(); 4 测试数据与实验结果(可以抓图粘贴)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 操作系统原理实验报告- 5 - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁