操作系统上答案(全.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HYPERLINK \l my11.进程调度HYPERLINK \l my22.可变分区存储管理方案中的内存分配 HYPERLINK \l my3 3.页式存储管理方案中的内存分配HYPERLINK \l my44.虚拟存储管理器的页面调度 HYPERLINK \l my5 5.磁盘存储空间的管理 HYPERLINK \l my7 7.磁盘调度 HYPERLINK \l my8 8.作业调度 HYPERLINK \l my9 9.银行家算法 HYPERLINK \l my10 10.死锁检测算法 HYPERLINK \l _top 返回首页/* 进程调度算法有FIFO,优先数调度算法,时间片轮转调度算法,分级调度算法,目前主要是考FIFO和优先数调度算法(静态优先级)。 输入:进程流文件,其中存储的是一系列要执行的进程,每个作业包括四个数据项: 进程名 进程状态(1就绪 2等待 3运行)??所需时间??优先数(0级最高) 输出: 进程执行流 和等待时间 平均等待时间 ??本程序包括:FIFO,优先数调度算法,时间片轮转调度算法 ??VC++调试通过 ??(C)copyright by Neo ??欢迎大家测试 请问题请Email:sony006@163.com ??*/ #includestdio.h #includestring.h #includeiostream.h const int block_time=10; //定义时间片的长度为10秒 const int MAXPCB=100; //定义最大进程数 //定义进程结构体 typedef struct node{ char name[20]; int status; int time; int privilege; int finished; int wait_time; }pcb; pcb pcbs[MAXPCB]; int quantity; //初始化函数 void initial(){ int i; for(i=0;iMAXPCB;i++){ ??strcpy(pcbs[i].name,); ??pcbs[i].status=0; ??pcbs[i].time=0; ??pcbs[i].privilege=0; ??pcbs[i].finished=0; ??pcbs[i].wait_time=0; } quantity=0; } //读数据函数 int readData(){ FILE *fp; char fname[20]; int i; cout请输入进程流文件名:; cinfname; if((fp=fopen(fname,r))==NULL){ ??cout错误,文件打不开,请检查文件名endl; } else{ ??while(!feof(fp)){ ?? fscanf(fp,%s %d %d %d,pcbs[quantity].name,pcbs[quantity].status,pcbs[quantity].time,pcbs[quantity].privilege); ?? quantity++; ??} ?? ??//输出所读入的数据 ??cout输出所读入的数据endl; ??cout进程名 进程状态??所需时间??优先数endl; ??for(i=0;iquantity;i++){ ?? cout??pcbs[i].name???? pcbs[i].status??????????pcbs[i].time????????pcbs[i].privilegeendl; ??} ??return(1); } return(0); } //重置数据,以供另一个算法使用 void init() { int i; for(i=0;iMAXPCB;i++){ ??pcbs[i].finished=0; ??pcbs[i].wait_time=0; } } //先进先出算法 void FIFO() { int i,j; int total; //输出FIFO算法执行流 coutendlendl; coutFIFO算法执行流:endl; cout进程名????等待时间endl; for(i=0;iquantity;i++){ ??cout??pcbs[i].name???????? pcbs[i].wait_timeendl; ?? ??for(j=i+1;jquantity;j++){ ?? pcbs[j].wait_time+=pcbs[i].time; ??} } total=0; for(i=0;iquantity;i++){ ??total+=pcbs[i].wait_time; } cout总等待时间:total??平

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档