操作系统实验一内容2——用C语言编写进程调度程序【游客加密代码】-创新互联-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

操作系统实验一内容2——用C语言编写进程调度程序【游客加密代码】-创新互联

实验说明:FZU的操作系统课程的实验一

创新互联专注于企业成都营销网站建设、网站重做改版、邹平网站定制设计、自适应品牌网站建设、H5场景定制商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为邹平等各大城市提供网站开发制作服务。

实验目的

在这里插入图片描述

实验内容

在这里插入图片描述

实验要求

在这里插入图片描述
在这里插入图片描述

流程图

在这里插入图片描述

下面是C语言代码(个人所做,不保证完美无漏洞,仅供参考,杜绝无脑照搬)【游客代码】,→点此处前往查看详解代码←

#include#includetypedef struct oo0o{int o0oo;
	int o0o0;
	char o000[20]; 
	int lll1;
}oo00;
typedef struct ll11 * ll1l;
typedef struct ll11{ll1l l1ll;
	oo00 * o00o;
}ll11;
int main(){int ooo0;
	int oooo;
	ll1l llll;
	printf("\n请输入进程总个数?");
	scanf("%d",&ooo0);
	oo00 l11l[ooo0];
	ll1l l1l1 =(ll1l)malloc (sizeof (ll11));
	l1l1->l1ll = NULL;
	l1l1->o00o = NULL; 
	printf("\n已创建进程数为%d信息的空间",ooo0);
	int l111=0;
	while(l111++printf("\n\n进程号No.%d:\n\n输入进程名(长度为20的字符内):",l111-1);
		scanf("%s",&l11l[l111-1].o000);
		printf("\n输入进程优先数(0~99):");
		scanf("%d",&l11l[l111-1].o0o0);
		printf("\n输入进程运行时间(自然数):");
		scanf("%d",&l11l[l111-1].o0oo);
		l11l[l111-1].lll1 = 0; 
		oooo+=l11l[l111-1].o0oo;
		ll1l gg9g = (ll1l)malloc (sizeof (ll11));
		llll = l1l1;
		gg9g->l1ll = NULL;
		gg9g->o00o = &l11l[l111-1];
		if(llll->o00o == NULL){	llll->l1ll = gg9g->l1ll;
			llll->o00o = gg9g->o00o;
		}
		else{	ll1l ggg9 = NULL;
			int gg99 = 0;
			for(llll= l1l1;llll;ggg9=llll,llll = llll->l1ll){		if(llll->o00o->o0o0 >= l11l[l111-1].o0o0)continue;
				if(ggg9 == NULL){gg9g->l1ll=l1l1;
					l1l1=gg9g;
				}
				else{gg9g->l1ll = ggg9->l1ll;
					ggg9->l1ll=gg9g;
				}
				gg99 = 1;
				break;
			}
			if(gg99 == 0){		gg9g->l1ll = ggg9->l1ll;
				ggg9->l1ll=gg9g;
			}
		}
	} 
	printf("\n");
	l111 = 0;
	llll=l1l1;
	while(l111++printf("\n输入任意按键继续...");
		getch();
		printf("\n *-*-*-*-*-*-*-* The execute number: %d *-*-*-*-*-*-*-\n",l111);
		printf("\n *-*-*-*-* 当前正在运行的进程是: %s *-*-*-*-*\n",llll->o00o->o000);
		printf("p_name\tstate\tsuper\tndtime\truntime\n");
		printf("%s\t%s\t%d\t%d\t%d\n",llll->o00o->o000,"R",llll->o00o->o0o0,llll->o00o->o0oo,llll->o00o->lll1);
		ll1l gggg = llll;
		printf("\n *-*-*-*-* 当前就绪队列状态为: *-*-*-*-*\n");
		for(gggg=gggg->l1ll;gggg;gggg=gggg->l1ll){	printf("\np_name\tstate\tsuper\tndtime\truntime\n");
			printf("%s\t%s\t%d\t%d\t%d\n",gggg->o00o->o000,"w",gggg->o00o->o0o0,gggg->o00o->o0oo,gggg->o00o->lll1);
		}
		if(llll->o00o->o0o0>0)llll->o00o->o0o0--;
		llll->o00o->lll1++; 
		if(llll->o00o->lll1 == llll->o00o->o0oo){	printf("\n时间片到期,此时进程 [%s] 已完成.",llll->o00o->o000);
			gggg=llll;
			llll=llll->l1ll;
			free(gggg);
		}
		else{	if(llll->l1ll){		gggg=llll;
				ll1l ggg9 = NULL;
				llll=llll->l1ll;
				ll1l ll;
				int gg99 = 0;
				for(ll=llll;ll;ggg9=ll,ll = ll->l1ll){if(ll->o00o->o0o0 >= gggg->o00o->o0o0)continue;
					if(ggg9 == NULL){gggg->l1ll=llll;
						llll=gggg;
					}
					else{gggg->l1ll = ggg9->l1ll;
						ggg9->l1ll=gggg;
					}
					gg99 = 1;
					break;
				}
				if(gg99 == 0){gggg->l1ll = ggg9->l1ll;
					ggg9->l1ll=gggg;
				}
			}
		}
	}
	if(ooo0>0){printf("\n\n\n进程已全部完成.\n");
		getch();
	}
	return 0;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:操作系统实验一内容2——用C语言编写进程调度程序【游客加密代码】-创新互联
转载源于:http://kswsj.cn/article/ccchpd.html

其他资讯