2022年编写并调试一个多道程序系统的作业调度模拟 2.pdf





《2022年编写并调试一个多道程序系统的作业调度模拟 2.pdf》由会员分享,可在线阅读,更多相关《2022年编写并调试一个多道程序系统的作业调度模拟 2.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编写并调试一个多道程序系统的作业调度模拟程序五编写并调试一个多道程序系统的作业调度模拟程序。作业调度算法:采用基于优先级的作业调度。可以参考课本中的例子自行设计。#include <stdio.h> #include <stdlib.h> #define getjch(type) (type*)malloc(sizeof(type) #define N 10 struct jcb /* 定义作业控制块PCB */ char name10; float needtime; /* 运行时间 */ float arrivetime;/* 提交时刻 */ float stora
2、geN;/* 系统资源 */ struct jcb* link; *ready=NULL,*pb=NULL,*p; typedef struct jcb JCB; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - float Tc,Ti,Wi,T=0;/*完成时刻 ,周转时间 ,带权周转时间 ,时间量 */ float TiSum=0,WiSum=0;/*平均周转时间 ,带权 a 平均周转时间 */ float sourceN;
3、 int n; void input(); /* 输入作业信息 */ int space(); /* 返回就绪队列中作业的数目*/ void fcfs(); /* 先来先服务算法 */ void disp(JCB *pr); /* 显示相应的作业 */ void running(); /* 运行作业组 */ void destroy(); /* 撤销作业 */ void input() /* 建立作业控制块函数*/ int i,k,num; printf(" 请输入所拥有的资源种类:"); scanf("%d",&n); printf("
4、; 输入系统所拥有资源数:n"); for(i=0;i<n;i+) printf(" 资源%d:",i); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - scanf("%f",&sourcei); printf("n 输入作业数量 :"); scanf("%d",&num); for(i=0;i<num;i+
5、) printf("n 作业号 %d:n",i); p=getjch(JCB); printf(" 输入作业名 :"); scanf("%s",p->name); printf(" 输入提交时间 :"); scanf("%f",&p->arrivetime); printf(" 输入运行时间 :"); scanf("%f",&p->needtime); printf(" 输入所需资源数 :n"); fo
6、r(k=0;k<n;k+) printf(" 资源%d:",i); scanf("%f",&p->storagek); printf("n"); p->link=NULL; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - fcfs(); int space() int l=0; JCB* pr=ready; while(pr!=NULL) l
7、+; pr=pr->link; return(l); void disp(JCB * pr) /*建立作业显示函数 ,用于显示当前作业 */ int i; printf("n%6st%6st%6st","作业名"," 运行时间 "," 提交时刻 "); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - for(i=0;i<n;i+) pr
8、intf(" 资源%dt",i); printf("n%6st%6.2ftt%6.2ft",pr->name,pr->needtime,pr->arrivetime); for(i=0;i<n;i+) printf("t%6.2f",pr->storagei); printf("n"); void destroy() /* 建立作业撤消函数 (作业运行结束 ,撤消作业 )*/ free(p); void check() JCB *first,*fir,*p; int flag=0,i,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年编写并调试一个多道程序系统的作业调度模拟 2022 编写 调试 一个 多道 程序 系统 作业 调度 模拟

限制150内