




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
淮海工学院计算机科学系实验报告书课程名:操作系统原理 题 目: 进程调度 班 级: 学 号: 姓 名: 评语:成绩: 指导教师: 批阅时间: 年 月 日 操作系统原理 实验报告 - 6 -操作系统原理实验进程调度实验报告1目的与要求:1)本实验目的是通过对进程调度算法的实现和实验模拟,加深对操作系统进程调度操作功能和进程调度算法的完整理解,培养和提高学生对操作系统开发的兴趣,以及进程调度程序的开发与应用能力;2)理论上必须深刻理解优先权调度算法和时间片轮转调度算法的基本思想和原理;3)独立使用C或VC+编程语言编写优先权调度或时间片轮转算算法调度模拟程序;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)5)于2009年4月5日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交)。2 实验内容或题目1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。 3 实验步骤与源程序 1)实验步骤1.根据题目要求编写代码,该实验用的是优先权调度算法设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示,在PCB的结构中,分别定义了进程标志符号num,优先级priority,进程尚需的CPU时间数timeneed,还有进程的状态state。2.刚开始5个进程都处于就绪状态,进程标识15。各进程的优先级随机产生,范围15。3在显示屏幕上会显示正在进行的进程和等待的进程3. 在执行过程中,每执行一个时间片、timeneed -1、priority -1,直到waitinglist中没有进程时,整个程序结束。2)源程序具体的代码如下:#includestdio.h#includestdlib.h#include string.h#define WAIT 1#define RUN 2#define FINISH 3typedef struct pcb int num; struct pcb *next; int priority; int timeneed; int state;pcb;/*用此结构体来模拟一个进程*/struct pcb *head;struct pcb *run;pcb *jccreat(int n)/*此函数用于创建进程队列*/ int i=1; pcb *head,*p,*q; randomize();/*随机函数的初始化*/ head=(pcb *)malloc(sizeof(pcb);/*创建一个空表头*/ p=head; for(i=1;inext=q; q-num=i; q-next=NULL; q-priority=random(5);/*随机产生优先级*/ q-timeneed=i+4;/*随机产生运行时间*/ q-state=WAIT; p=q; return head;/*返回表头指针*/pcb *getmaxpriority(struct pcb *head)/*此函数用来挑选一个优先级最大的进程来执行*/ struct pcb *p,*q; int max; p=head-next; max=p-priority;/*初始max为队首结点的优先级*/ q=p; while(p) if(p-prioritymax)/*逐一比较,选出优先级最大的结点*/ max=p-priority; q=p; p=p-next; return q;void delect(struct pcb *head,struct pcb *run)/*此函数用来将运行完的进程删除出进程队列*/ struct pcb *q=head; while(q-next)/*扫描进程队列,找到执行完了的进程*/ if(q-next-num=run-num)/*判断是不是已完成的进程*/ if(run-next!=NULL) q-next=run-next; else q-next=NULL; free(run);/*释放申请的空间*/ return; q=q-next; void control()/*此函数是用来控制各个进程的执行和调度*/ struct pcb *p; run=head-next;/*初始让第一个进程运行*/ run-state=RUN; while(run) if(run-timeneed0)/*如果当前run指针指向的进程所需时间不为零,状态为运行状态,就让这个进程运行*/ if(run-state=RUN) printf(pcb%d is running.n,run-num); printf(Waiting list:);/*显示整个等待队列*/ p=head-next; while(p) if(p!=run) printf(pcb%d ,p-num); p=p-next; printf(n); printf(n); delay(10000000);/*模拟进程运行*/ run-timeneed-;/*进程需要时间减一*/ run-priority=run-priority-1;/*进程优先级减三*/ if(run-timeneed!=0) if(run-prioritynext-priority)/*如果当前运行完的进程的优先级低于队首进程的优先级*/ run-state=WAIT; run=getmaxpriority(head);/*则从进程队列中挑选一个优先级最大的进程来运行*/ run-state=RUN; else printf(pcb%d is finished.n,run-num); printf(n); delect(head,run);/*删除该结点*/ if(head-next!=NULL)/*判断进程队列是不是为空*/ run=head-next; run-state=RUN; else printf(All progresses are done.n); return; main()int n;int flag=1;printf(Enter the number of the progresses:);scanf(%d,&n);/*输入要创建的进程的数量*/head=jccreat(n);/*创建进程队列,将链表的表头赋给head指针*/run=head-next;/*run指针指向正在运行的进程的pcb*/while(run)printf(num: %d ,priority: %d ,timenees: %d n,run-num,run-priority,run-timeneed);run=run-next; /*将刚创建的进程队列打印出来*/while(flag)/*由flag的值判断是否继续执行control()函数*/if(head-next)/*判断进程是否完成*/control();else flag=0;getch();4 测试数据与实验结果(可以抓图粘贴) 5 结果分析与实验体会 通过该实验让我对进程调度的算法有了进一步的了解,了解到本实验是使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准厂房项目水土保持技术人员培训与管理
- 2025年乡村振兴战略下职业技能培训与农村社区教育公平的关系报告
- 复方菠萝蛋白酶片企业县域市场拓展与下沉战略研究报告
- 智能感应故事灯音响企业制定与实施新质生产力战略研究报告
- 游艺用品个性化定制行业跨境出海战略研究报告
- 吖啶类药企业数字化转型与智慧升级战略研究报告
- 物料配送路径智能企业制定与实施新质生产力战略研究报告
- 智能水杯保温性能测试仪行业跨境出海战略研究报告
- 智能机床工件自动上下料系统行业跨境出海战略研究报告
- 特效烟雾与火焰设备制造行业深度调研及发展战略咨询报告
- 河南五市2025年高三俄语二模试卷(无答案)
- 2025-2030中国旅游景区行业市场发展现状及前景趋势与投资发展研究报告
- 9.2 欧洲西部课件3-2024-2025学年七年级地理下学期人教版2024
- 2024年山东泰安岱岳区职业教育中心招聘笔试真题
- 喝酒受伤赔偿协议书模板
- 2025年广东广州市高三二模高考英语试卷试题(含答案详解)
- 期中考试质量分析会上校长引用6个关键词讲话:深耕、融合、赋能、深耕、创新、协同、坚守
- 2025届高三化学备考:山东高考模拟练习-工业流程61道
- 联营采购合同协议
- 少儿书画测试题及答案
- 挂靠法人免责协议书
评论
0/150
提交评论