ImageVerifierCode 换一换
格式:DOCX , 页数:90 ,大小:1.46MB ,
资源ID:20704639      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20704639.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机操作系统课程设计报告文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机操作系统课程设计报告文档格式.docx

1、(2).对给定的序列分别使用上面的几种算法进行调度,计算每种算法下的平均周转时间和平均带权周转时间。3. 实验代码:#includestring.hstdlib.h/*这是先来先服务的程序*/struct fcfs/定义先来先服务结构体、参数char name10;float daodatime;/到达时间float fuwutime;/服务时间float kaishitime;/开始时间float wanchengtime;/完成时间float zhouztime;/周转时间float daiquantime;/带权周转时间;fcfs a100;void input(fcfs *p,int

2、N) /构造一个输入进程的信息的函数,定义结构体指针 int i; for(i=0;i=N-1;i+) printf(输入第%d个进程的名字、到达时间、服务时间:n,i+1); scanf(%s%f%f,&pi.name,&pi.daodatime,&pi.fuwutime);/把输入的信息保存到结构体指针所对应的内存中 /构造一个输出函数void Print(fcfs *p,float daodatime,float fuwutime,float kaishitime,float wanchengtime,float zhouztime,float daiquantime,int N) in

3、t k;执行顺序:);%s,p0.name); for(k=1;k,pk.name);n进程的相关信息如下:n名字t到达t服务t开始t完成t周转t带权周转n for(k=0; %st%-.2ft%-.2ft%-.2ft%-.2ft%-.2ft%-.2ftn,pk.name,pk.daodatime,pk.fuwutime,pk.kaishitime,pk.wanchengtime,pk.zhouztime,pk.daiquantime); /题目中加入-.2是保留双精度的两位。一般f默认保留六位小数的。 void sort(fcfs *p,int N)/进程根据到达时间进行排序 for(int

4、 i=0; for(int j=0;j=i;j+) if(pi.daodatimename,&daodatime,&fuwutime); p-shengyutime=p-fuwutime;state=就绪; if(rear=NULL) /当输入结束时,把P的数据放到队首,以便执行下一步 head=p;next=NULL; rear=p; else /否则执行时间就为空,队首变成Q t=NULL; q=head; while(q&q-daodatimenext; if(q=head) /而当Q是队首时,则下一个队首变成P,以便每个进程都能够得到时间片 p-next=head; head=p; e

5、lse if(t=rear) /当执行时间片到达队尾时(执行完时),返回给队首P rear-next=p; else /否则给队首P占用执行时间,P执行完后到Q t-next=q; return head;/返回队首void output(struct shijian *head)/定义输出函数 struct shijian *p,*t,*r; int num;请输入时间片:num); while(head!=NULL) /当队首不为空时,把P给队首 r=p=head; while(p!=NULL) /把执行时间给队首 t=head;shengyutime-num; /P的剩余时间=剩余时间-

6、时间片运行 /状态变成运行态 if(p-shengyutimename,t-daodatime,t-fuwutime,t-shengyutime,t-state); t=t- getchar(); /按住回车键观看 if(p-shengyutime=0)/当队首的剩余时间为0时,先把队首改成P的下一个,然后释放内存,删除队首节点 if(p=head) head=p- free(p); p=head; else /否则返回执行,把队尾的下一个指针变成P的下一个指针,队尾的位置移动到队首 r-next=p- p=r- r=p; else /否则把队首的位置给队尾,把队首的状态显示为“就绪”状态 r

7、=p; p=p- /*这是优先服务调度算法的代码*/typedef struct PCB2 char name10;/进程名 int runtime;/要求运行时间 int frist;/定义优先数 char zhuangtai; /定义状态,R为就绪,F为完成struct PCB2 PCBcontrol4;/定义进程控制块数组 void youxian()/构造优先函数 int i,n;请输入进程的个数:n);请输入进程的名字、优先权、运行时间nn;请输入第%d个进程的信息: scanf(PCBcontroli.name,&PCBcontroli.frist,&PCBcontroli.runtime); PCBcontroli.zhuangtai=R/进程初始状态均为就绪 getchar();/等待回车进入下一次运行 int max_frist_process()/确定最大优先级进程子程序 int max=-10;/max为最大优先数,初始化为-10 int i,key;3;i+) if(PCBcontroli.zhuangtai=r)/r表示正在运行 return -1;/返回-1 else if(max/还需要资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1