- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实三项目名称:处理器调度.DOC
实三项目名称:处理器调度
计科-81 林振武 0807100141
实验题目:
设计一个按优先数调度算法实现处理器调度的程序。
使用的数据结构:
typedef struct pcb
{
char name [32];
struct pcb *next;
int run_time;
int pri;
char state;
}*pro;
流程图: 打印每次执行过程
初始化控制块 用creatlist按pri从大到小连接 每次运行都从新排序insert函数实现
源程序:
#includeiostream
using namespace std;
static int mc=5;//就绪进程数
typedef struct pcb
{
char name [32];
struct pcb *next;
int run_time;
int pri;
char state;
}*pro;
pro createList();
void insert( pro head, pro s);
pro search(pro head,int pri);//返回优先数=pri的最小优先数的进程指针
void del(pro head,pro p);//运行完进程之后从就绪队列删除
void run( pro head);
void printingln(pro head);
void insert(pro head,pro p)
{
pro pp=search(head,p-pri);
p-next=pp-next;
pp-next=p;
}
pro createList()
{
pro head=(pro)malloc(sizeof(pcb));
head-next=NULL;
pro p;
int MAX=5;
for(int i=0;iMAX;i++)
{
p=(pro)malloc(sizeof(pcb));
cout请输入进程名endl;
cinp-name;
cout请输入要求运行时间endl;
cinp-run_time;
cout请输入优先级endl;
cinp-pri;
char state=R;
p-state=state;
p-next=NULL;
insert(head,p);
}
return head;
}
pro search(pro head,int pri)
{
pro p=head-next;
pro q=head;
while (p(p-pri)pri)
{
q=p;
p=p-next;
}
return q;
}
void del(pro head,pro p)
{
head-next=p-next;
if(p-run_time=0)
{
p-state=E;
cout进程p-name已经结束----状态为p-stateendl;
free(p);
mc=mc-1;
}
else
{
insert(head,p);
}
}
void run(pro head)
{
pro p=head-next;
p-pri=p-pri-1;
p-run_time=p-run_time-1;
del(head,p);
}
void printingln(pro head)
{
cout-------------endl;
cout就绪队列中进程:endl;
pro p=head-next;
while(p)
{
cout进程名:p-name要求运行时间剩余:p-run_timeendl;
cout运行状态:p-state优先级为:p-priendl;
p=p-next;
}
}
void main()
{
pro head=createList();
//printingln(head);
int i=1;
while(mc0)
{
printingln(head);
run(head);
}
system(pause);
}
实验结果:
您可能关注的文档
最近下载
- 基于学科核心素养的高中语文大单元教学.docx VIP
- 网络货运平台整体设计方案.docx VIP
- 医学课件-第五章 血管内皮细胞功能不全与疾病.pptx VIP
- 妊娠合并贫血试题附有答案.docx VIP
- 2025年全国统一高考英语试卷(新课标Ⅰ卷)含答案 .pdf VIP
- 10X-Genomics单细胞转录组.pptx VIP
- 2024年中考生物复习:105个初中生物易错字汇总(全国通用).pdf VIP
- DB37_T5116-2018:装配式竖向部件临时斜支撑应用技术规程.pdf VIP
- 网络货运平台整体设计方案.pptx VIP
- 2025年高考历史新课标卷真题试卷及答案.docx VIP
文档评论(0)