ImageVerifierCode 换一换
格式:DOC , 页数:110 ,大小:292.02KB ,
资源ID:4572341      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(操作系统课程设计样本.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

操作系统课程设计样本.doc

1、操作系统课程设计班级 10计科班 学号 10510116 姓名 鞠智明 指引 汤教师 时间 .12.24.01.06 景德镇陶瓷学院实验报告一、进程管理设计2一、实验目:2二、实验内容:3实验报告二、单解决机系统进程调度7一、实验目:7二、实验内容:7三、实验实现:7实验报告三、基本存储器管理11一、实验目:12二、实验内容:12三、实验实现:12实验报告四、祈求分页存储管理(虚拟存储)17一、实验目:17二、实验内容:18三、实验实现:18实验报告五、死锁避免23一、实验目:23二、实验内容:24实验报告六、磁盘空间分派与回收28一、实验目:28二、实验内容:29三、实验实现:29实验报告七

2、、文献管理31一、实验目:32二、实验内容:32三、实验实现:32 实验报告一、进程管理设计实验者:鞠智明学号:10510116 班级:计科(1)班实验时间12月一、 实验目:1、执行通过进程创立和控制设计来达到如下目:2、加深对进程概念理解,明确进程和程序区别;3、进一步结识并发概念,区别顺序执行和并发执行;4、分析进程争用临界资源现象,学习解决进程互斥办法;二、实验内容:(二)在WINDOWS环境下模仿实验:1、 用C语言编写一程序,来模仿进程创立和撤除,规定通过终端键盘输入三、四作业名称、大小、优先级等。系统为它创立进程,并把进程控制块PCB内容送到终端显示屏上输出。2、 同步模仿内存空

3、间为作业分派内存空间,并把成果用图形形象地表达出来,同样通过终端输出。3、 按进程优先级顺序撤除进程,同步通过终端显示PCB撤除过程和内存释放过程。三、实验实现:#include#include#include#define OK 1#define EVERFLOW -1#define PCBSIZE 10#define NULL 0void main()InitPcb(nullPcb);/给就绪队列分派空间 readyPcbtail=(PCB*)malloc(sizeof(PCB);readyPcb=readyPcbtail;readyPcbtail-id=0;readyPcbtail-pr

4、iority=0;readyPcbtail-time=0;readyPcbtail-next=NULL;do/*创立程序控制界面*/printf(*n); printf(t1.创立一种PCB进程nt2.销毁运营PCB进程nt3.就绪队列打印输出nt4.退出系统n);printf(*n);scanf(%d,&on);/设立快关按钮switch(on)case 1:p=Create(nullPcb);InsertReadyPcb(readyPcb,p);break; /执行创立PCB进程case2:printf(请输入销毁进程id值n);scanf(%d,&deleteId);Delete(del

5、eteId,readyPcb,nullPcb);break;case 3:PrintPCB(readyPcb);break;case 4:exit(0);default:printf(请输入1-4之间序号n);while(on!=4);void InitPcb(PCBList &nullPcb)/初始化空闲队列nullPcb=&pcb0;for(int i=0;inext;printf(请输入创立PCB序号idn);scanf(%d,&pcbP-id);printf(请输入它创立名字n);scanf(%s,&pcbP-name);printf(请输入它优先级n);scanf(%d,&pcbP-

6、priority);printf(请输入它运营所需时间n);scanf(%d,&pcbP-time); pcbP-next=NULL;return pcbP;int Delete(int id,PCBList &readyPcb,PCBList &nullPcb)/销毁PCB进程 if(pcbT) while(pcbT) if(pcbT-id=id) pcbF-next=pcbT-next; pcbT-next=nullPcb; nullPcb=pcbT; printf(销毁成功n); return OK; pcbT=pcbT-next; pcbF=pcbF-next; if(!pcbT) p

7、rintf(没有要删除PCB进程n); else printf(没有要删除PCB进程n); return OK;void PrintPCB(PCBList &readyPcb)/打印PCB就绪队列 printf(就绪队列中进程,按照优先级排列序号:n); printf(tt序号t名字t优先级t运营时间n); PCBList pcbP=readyPcb-next; while(pcbP) printf(tt%dt%st%dt%dn,pcbP-id,pcbP-name,pcbP-priority,pcbP-time); pcbP=pcbP-next; void InsertReadyPcb(PCB

8、List &readyPcb,PCBList &pcb) PCBList pcbF=readyPcb; PCBList pcbT=readyPcb-next; if(pcbT) while(pcbT) if(pcbT-prioritypriority) pcb-next=pcbT; pcbF-next=pcb; printf(创立成功并将进程插入到就绪队列中了n); return; pcbT=pcbT-next; pcbF=pcbF-next; if(!pcbT) pcbF-next=pcb; else pcbF-next=pcb; printf(创立成功并将进程插入到就绪队列中了n); 实验

9、成果实验报告二、单解决机系统进程调度实验者:鞠智明 学号:10510116 班级:计科(1)班 实验时间12月一、实验目:通过进程创立和控制设计来达到如下目:1、加深对进程概念理解,明确进程和程序区别2、进一步理解系统如何组织进程,创立进程3、进一步结识如何实现解决机调度。二、实验内容:(二)在WINDOWS环境下模仿实验:1、先来先服务调度算法2、优先数调度算法;3、时间片轮法调度算法4、多级反馈队列轮转调度算法三、实验实现:#include stdio.h#include #include #define getpch(type) (type*)malloc(sizeof(type)#de

10、fine NULL 0struct pcb /* 定义进程控制块PCB */char name10;char state;int super;int ntime;int rtime;struct pcb* link;*ready=NULL,*p;typedef struct pcb PCB;sort() /* 建立对进程进行优先级排列函数*/PCB *first,*second;int insert=0;if(ready=NULL)|(p-super)(ready-super) /*优先级最大者,插入队首*/p-link=ready;ready=p;else /* 进程比较优先级,插入恰当位置

11、中*/first=ready;second=first-link;while(second!=NULL)if(p-super)(second-super) /*若插入进程比当迈进程优先数大,*/ /*插入到当迈进程前面*/p-link=second;first-link=p;second=NULL;insert=1;else /* 插入进程优先数最低,则插入到队尾*/first=first-link;second=second-link;if(insert=0) first-link=p;input() /* 建立进程控制块函数*/int i,num;clrscr();/*清屏*/printf

12、(n 请输入进程号?);scanf(%d,&num);for(i=0;iname);printf(n 输入进程优先数:);scanf(%d,&p-super);printf(n 输入进程运营时间:);scanf(%d,&p-ntime);printf(n);p-rtime=0;p-state=w;p-link=NULL;sort();/* 调用sort函数*/int space()int l=0;PCB* pr=ready;while(pr!=NULL)l+;pr=pr-link;return(l);disp(PCB * pr) /*建立进程显示函数,用于显示当迈进程*/printf(n qn

13、ame t state t super t ndtime t runtime n);printf(|%st,pr-name);printf(|%ct,pr-state);printf(|%dt,pr-super);printf(|%dt,pr-ntime);printf(|%dt,pr-rtime);printf(n);check() /* 建立进程查看函数 */PCB* pr;printf(n * 当前正在运营进程是:%s,p-name);/*显示当前运营进程*/disp(p);pr=ready;printf(n *当前就绪队列状态为:n);/*显示就绪队列状态*/while(pr!=NUL

14、L)disp(pr);pr=pr-link;destroy() /*建立进程撤除函数(进程运营结束,撤除进程)*/printf(n 进程 %s 已完毕.n,p-name);free(p);running() /* 建立进程就绪函数(进程运营时间到,置就绪状态*/(p-rtime)+;if(p-rtime=p-ntime)destroy();/* 调用destroy函数*/else(p-super)-;p-state=w;sort();/*调用sort函数*/void main() /*主函数*/int len,h=0;char ch;input();len=space();while(len!

15、=0)&(ready!=NULL)ch=getchar();h+;printf(n The execute number:%d n,h);p=ready;ready=p-link;p-link=NULL;p-state=R;check();running();printf(n 按任一键继续.);ch=getchar();printf(nn 进程已经完毕.n);ch=getchar();实验成果实验报告三、基本存储器管理实验者:鞠智明学号:10510116 班级:计科(1)班实验时间12月一、实验目:通过进程创立和控制设计来达到如下目:一种好计算机系统不但要有一种足够容量、存取速度高、稳定可靠主

16、存储器,并且要能合理地分派和使用这些存储空间。当顾客提出申请存储器空间时,存储管理必要依照申请者规定,按一定方略分析主存空间使用状况,找出足够空闲区域分派给申请者。当作业撤离或积极归还主存资源时,则存储管理要收回作业占用主存空间或归还某些主存空间。主存分派和回收实现与主存储器管理方式关于,通过本实验协助学生理解在不同存储管理方式下如何实现主存分派和回收。二、实验内容: 从下两种存储管理方式主存分派和回收中,选取一种管理方式来实现本次实验任务:1、在可变(动态)分区管理方式下,采用最先适应算法。2、在分页式管理方式下,采用位示图来表达主存分派状况和回收状况。三、实验实现:#include#inc

17、ludestruct linkkint size;int addr;struct linkk *next;struct jobtabint jno;int size;int addr;int flag;struct linkk *PL,*p,*q,*p1;struct jobtab tab20;int l,m,n,t,addr,length;void printlink()if (PL!=NULL)printf(n 进程内存大小 剩余内存n);printf(-n);q=PL;while(q!=NULL)printf( %d %dn,q-addr,q-size);q=q-next;printf(

18、-n);return;void printtab()int i;int flag=0;for (i=0;i20&flag=0;i+)if (tabi.flag=1)flag=1;if (flag=0)printf(n 无进程!);return;printf(n 进程编号 进程起始地址 进程内存大小n);printf(-n);for (i=0;isize=l)tabn.addr=q-addr;p1=q;if (p1=PL) PL=q-next;else p-next=q-next;free(p1);return;if (q-sizel)tabn.addr=q-addr;q-size=q-size

19、-l;q-addr=q-addr+l;return;p=q;q=q-next;tabn.flag=0;printf(n 没有内存剩余!n);return;void freem()printf(n 输入进程编号:);scanf(%d,&n);if(tabn.flag=0)printf(n 不是该进程!);return;addr=tabn.addr;length=tabn.size;tabn.flag=0;q=PL;if (q=NULL)|(addr+lengthaddr)p1=(struct linkk *)malloc(sizeof(struct linkk);p1-size=length;p

20、1-addr=addr;p1-next=q;PL=p1;return;if(addr+length=q-addr)q-addr=addr;q-size=q-size+length;return;p=q;q=q-next;while (q!=NULL)if(p-addr+p-size=addr)p-size=p-size+length;if (addr+length=q-addr)p-size=p-size+q-size;p1=q;p-next=q-next;free(p1);return;if(addr+length=q-addr)q-addr=addr;q-size=q-size+lengt

21、h;return;if(addr+lengthaddr)p1=(struct linkk *)malloc(sizeof(struct linkk);p1-size=length;p1-addr=addr;p1-next=q;p-next=p1;return;p=q;q=q-next;if(p-addr+p-size=addr)p-size=p-size+length;return;p1=(struct linkk *)malloc(sizeof(struct linkk);p1-addr=addr;p1-size=length;p1-next=NULL;p1-next=p1;return;m

22、ain()PL=(struct linkk *)malloc(sizeof(struct linkk);PL-addr=0;PL-next=NULL;printf(n输入内存大小:);scanf(%d,&n);PL-size=n;for(int i=0;i20;i+)tabi.jno=i;tabi.flag=0;t=0;doprintf(n-n);printf( 1-分派内存 2-释放内存n);printf( 3-链接进程号 4-输出_TAB n);printf( 5-Quitn);printf(n-n);printf( Select bb);scanf(%d,&m);switch(m)cas

23、e 1:allocm();break;case 2:freem();break;case 3:printlink();break;case 4:printtab();break;case 5:t=1;while (!t);实验成果实验报告四、祈求分页存储管理(虚拟存储)实验者:鞠智明 学号:10510116 班级:计科(1)班 实验时间12月一、实验目:通过祈求分页存储管理设计,让学生理解虚拟存储器概念和实现办法。进行运营时不需要将所有页面都调入内存,只需将某些调入内存,即可运营,在运营过程中若要访问页面不在内存时,则需求有祈求调入功能将其调入。如果此时若内存没有空白物理块,则通过页面置换功能

24、将一种老不用页面裁减出来,其中裁减算法有各种。二、实验内容:模仿仿真祈求分页调度算法,其中裁减算法可选下列其一1、先进先出算法2、近来最久算法3、CLOCK算法三、实验实现:#include #include using namespace std; const int MaxNum=320;/指令数 const int M=5;/内存容量 int PageOrderMaxNum;/页面祈求 int SimulateMaxNumM;/页面访问过程 int PageCountM,LackNum;/PageCount用来记录LRU算法中最久未使用时间,LackNum记录缺页数 float Page

25、Rate;/命中率 int PageCount132; bool IsExit(int i)/FIFO算法中判断新页面祈求与否在内存中 bool f=false; for(int j=0;jM;j+) if(Simulatei-1j=PageOrderi)/在前一次页面祈求过程中寻找与否存在新页面祈求 f=true; return f; int IsExitLRU(int i)/LRU算法中判断新页面祈求与否在内存中 int f=-1; for(int j=0;jM;j+) if(Simulatei-1j=PageOrderi) f=j; return f; int Compare()/LRU

26、算法找出内存中需要置换出来页面 int p,q;p=PageCount0; q=0; for(int i=1;iM;i+) if(pPageCounti) p=PageCounti; q=i; return q; void Init() /初始化页框 for(int k=0;kMaxNum;k+) int n=rand()%320;/随机数产生320次指令 PageOrderk=n/10;/依照指令产生320次页面祈求 for(int i=0;iMaxNum;i+)/初始化页面访问过程 for(int j=0;jM;j+) Simulateij=-1; for(int q=0;qM;q+)/初

27、始化最久未使用数组 PageCountq=0; void OutPut()/输出 int i,j; cout页面访问序列:endl; for(j=0;jMaxNum;j+) coutPageOrderj ; coutendl; cout页面访问过程(只显示前10个):endl; for(i=0;i10;i+) for(j=0;jM;j+) if(Simulateij=-1) cout ; else coutSimulateij ; coutendl; cout缺页数= LackNumendl; cout命中率= PageRateendl; cout-endl; void FIFO()/FIFO

28、算法 int j,x=0,y=0; LackNum=0, Init(); for(j=0;jM;j+)/将前五个页面祈求直接放入内存中 for(int k=0;k=j;k+) if(j=k) Simulatejk=PageOrderj; else Simulatejk=Simulatej-1k; /LackNum+; for(x=M;xMaxNum;x+) for(int t=0;tM;t+)/先将前一次页面访问过程赋值给新页面访问过程 Simulatext=Simulatex-1t; if(!IsExit(x)/依照新访问页面与否存在内存中来更新页面访问过程 LackNum+; Simula

29、texy%M=PageOrderx; y+; PageRate=1-(float)LackNum/(float)MaxNum);/算出命中率 OutPut(); void LRU()/LRU算法 int j,x=0,y=0; LackNum=0, Init(); for(j=0;jM;j+)/将前五个页面祈求直接放入内存中 for(int k=0;k=j;k+) PageCountk+; if(j=k) Simulatejk=PageOrderj; else Simulatejk=Simulatej-1k; LackNum+; for(x=M;xMaxNum;x+) for(int t=0;t

30、M;t+)/先将前一次页面访问过程赋值给新页面访问过程 Simulatext=Simulatex-1t; int p=IsExitLRU(x); if(p=-1)/依照反回p值来更新页面访问过程 int k; k=Compare(); for(int w=0;wM;w+) if(w!=k) PageCountw+; else PageCountk=1; Simulatexk=PageOrderx; LackNum+; else for(int w=0;wM;w+) if(w!=p) PageCountw+; else PageCountp=1; PageRate=1-(float)LackNu

31、m/(float)MaxNum);/算出命中率 OutPut(); /近来最不惯用调度算法(LFU) void LFU() void NUR() void YourChoice(int choice) switch(choice) case 1: cout-endl; coutFIFO算法成果如下:endl; FIFO() break; case 2: cout-endl; coutLRU算法成果如下:endl; LRU(); break; case 3: cout-endl; coutLFU算法成果如下:endl; /LFU(); break;case 4: cout-endl; coutN

32、UR算法成果如下:endl; /NUR(); break; case 5: break; default: cout重新选取算法:1-FIFO 2-LRU 3-LFU 4-NUR 5-退出 choice; YourChoice(choice); void main() int choice,i=1; while(i) cout请选取算法:1-FIFO 2-LRU 3-LFU 4-NUR 5-退出 choice; if(choice=5) i=0; else YourChoice(choice); 实验成果实验报告五、死锁避免实验者:鞠智明学号:10510116 班级:计科(1)班 实验时间12

33、月一、实验目:在多道程序系统中,各种进程并发执行来改进系统资源运用率,提高系统吞吐量,但也许发生一种危险死锁。所谓死锁(Deadlock),是指各种进程在运营过程中因争夺资源而导致一种僵局(DeadlyEmbrace),当进程处在这种状态时,若无外力作用,她们都无法在向前推动。咱们可以在分派资源时加上限制条件就可以防止死锁,但是,在每一种防止死锁办法之中,都施加了较强限制条件;而在避免死锁办法中,所施加限制条件较弱,有也许获得令人满意系统性能。二、实验内容:运用银行家算法来避免死锁发生三、实验实现:#include string.h #include iostream using namespace std; #define FALSE 0 #define TRUE 1 #define W 10 #define R 20 int M ;/总进程数 int N ;/资源种类 int ALL_RESOURCEW;/各种资源数目总和 int MAXWR;/M个进程对N类资源最大资源需求量 int AVAILABLER;/系统可用资源数 int ALLOCATIONWR;/M个进程已经得到N类资源资源量 int NEEDWR;/M个进程还需要N类资源资源量 int RequestR;/祈求资源个数 void showdata()

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服