下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统原理实验——进程调度实验报告1目的与要求:1)本实验目的是通过对进程调度算法的实现和实验模拟,加深对操作系统进程调度操作功能和进程调度算法的完整理解,培养和提高学生对操作系统开发的兴趣,以及进程调度程序的开发与应用能力;2)理论上必须深刻理解优先权调度算法和时间片轮转调度算法的基本思想和原理;3)独立使用C或VC++编程语言编写优先权调度或时间片轮转算算法调度模拟程序;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果)5)于2009年10月15日以前提交本次实验报告(含电子和纸质报告,由学习委员以班为单位统一打包提交)。2实验内容或题目1)设计有5个进程并发执行的模拟调度程序,每个程序由一个PCB表示。2)模拟调度程序可任选两种调度算法之一实现(有能力的同学可同时实现两个调度算法)。3)程序执行中应能在屏幕上显示出各进程的状态变化,以便于观察调度的整个过程。4)本次实验内容(项目)的详细说明以及要求请参见实验指导书。3实验步骤与源程序#include<stdio.h>#include<stdlib.h>#include<string.h>voidCheck();typedefstructnode{ charname[10]; intspan;//轮转时间 inttake;//占用时间 intused;//已用的时间 intneed;//还需要的时间 charstatus;//状态 structnode*next;}PCB;PCB*ready,*finish,*tail,*rear;voidPrint(PCB*p){ while(p!=NULL) { printf("%3s%5d%5d%5d%5d%5c\n",p->name,p->used,p->need,p->take,p->span,p->status); p=p->next; }}voidCreat(intN){ PCB*p; inttime; charna[10]; ready=NULL;/*就绪队列头指针*/ finish=NULL;/*完成队列头指针*/ tail=NULL; rear=NULL; printf("Enternameandtimeofroundprocess\n"); for(inti=1;i<=N;i++)//创建就绪队列 { p=(PCB*)malloc(sizeof(PCB)); scanf("%s",na); scanf("%d",&time); strcpy(p->name,na); p->span=2; p->take=0; p->used=0; p->need=time; p->status='J'; p->next=NULL; if(ready==NULL){ready=p;tail=p;} else{tail->next=p;tail=p;} } printf("……运行结果……\n");}voidPrint1(){//输出ready与finish队列 PCB*p; p=ready; printf("name,used,need,take,span,state\n"); Print(p); p=finish; Print(p); }voidRun(){ Print1(); ready->used+=1; ready->need-=1; ready->take+=1; ready->status='R'; if(ready->need!=0)//进程时间need片是否为0 { if(ready->take<ready->span)/*占用时间是否到轮转时间,没到就继续,到了就排到就绪队列尾*/ {Run();} else{tail->next=ready;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本身递归,此句也会被多调用,产生在结束时的冗余结果;}voidCheck(){ if(ready!=NULL){Run();} els
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030服装定制行业防静电面料需求生产数字化平台布局市场营销规划发展分析
- 2025-2030服装制造行业市场现状时尚分析及投资品牌营销规划
- 2025-2030星际飞船推进系统行业市场需求机理及投资标准规划咨询报告
- 2025-2030新闻媒体融合发展资金投入标准创新与版权保护联盟
- 2025-2030新西兰畜牧业食品安全监管与出口市场拓展方案
- 2026校招:广西农村信用社联合社笔试题及答案
- 2026校招:广西机场管理集团试题及答案
- 2026校招:供应链管理题目及答案
- 四川省成都市重点中学2026届高考适应性考试数学试题试卷含解析
- 四川省西昌市2026年高三第一次诊断考试生物试题文试题含解析
- 2026年新广西安全员a证考试试题及答案
- 合同法讲座课件
- 2026年及未来5年市场数据中国多旋翼无人机行业市场全景调研及投资规划建议报告
- 扁鹊凹凸脉法课件
- 足浴店入股合同协议书
- JJF(石化) 001-2023 漆膜耐洗刷试验仪校准规范
- 【百思特】华为手机品牌变革历程研究白皮书
- 2025年湖南铁路科技职业技术学院单招职业技能测试题库及答案1套
- 加气站气瓶充装质量保证体系手册2024版
- Rexroth (博世力士乐)VFC 3610系列变频器使用说明书
- 住宅安装工程质量通病防治监理实施细则
评论
0/150
提交评论