操作系统课程设计总结报告(白雪娇20103823)

上传人:j****9 文档编号:45500184 上传时间:2018-06-17 格式:DOC 页数:21 大小:126KB
返回 下载 相关 举报
操作系统课程设计总结报告(白雪娇20103823)_第1页
第1页 / 共21页
操作系统课程设计总结报告(白雪娇20103823)_第2页
第2页 / 共21页
操作系统课程设计总结报告(白雪娇20103823)_第3页
第3页 / 共21页
操作系统课程设计总结报告(白雪娇20103823)_第4页
第4页 / 共21页
操作系统课程设计总结报告(白雪娇20103823)_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《操作系统课程设计总结报告(白雪娇20103823)》由会员分享,可在线阅读,更多相关《操作系统课程设计总结报告(白雪娇20103823)(21页珍藏版)》请在金锄头文库上搜索。

1、 操作系统课程设计操作系统课程设计 总结报告总结报告学期学期 2011-20122011-2012 学年第二学期学年第二学期 学院学院 软件学院软件学院 学号学号 2010382320103823 姓名姓名 白雪娇白雪娇 20122012 年年 7 7 月月 1 1 日日本学期开设了操作系统课程设计。一、进程控制1.1 目的:利用简单的结构和控制方法模拟进程结构、进程状态和进程控制。1.2 内容:用 PCB 表示整个进程实体,利用随机数方法或键盘控制方法模拟进程执行中产生的事件。或者利用鼠标或者键盘中断的基于图形接口方式的进程控制管理。1.3 数据结构:typedef struct LNode

2、int data;struct LNode *next;LNode;1.4 算法设计及流程图:算法:创建进程:输入进程的名称,先判断进程名是否已存在,若已存在,则创建进程失败,需重新操作,创建进程成功后,新进程进入就绪队列。若执行态为空,将进程插入执行态。阻塞进程:若当前有执行进程,则将其阻塞,并将进程加入阻塞态,若就绪队列不为空,则就绪队列第一个进程插入执行态;若当前无执行进程 ,则阻塞失败。唤醒进程:若当前阻塞态不为空,则将阻塞队列第一个进程插入就绪态;若当前阻塞态为空,则唤醒失败。时间片到:若当前有执行态进程,则插入就绪队态,并将就绪态第一个进程进入执行态;若当前无执行进程,则无执行进程

3、。结束进程:若当前有执行进程,则结束进程,若当前就绪态不为空,则就绪态第一个进程进入执行态;若当前无执行进程 ,则结束进程失败。流程图: N N NY Y YNYY NY N N Y开始输入执行命令输入 C输入进程名将进程插入就绪态执行态为空将进程插入执行态显示进程信息输入 t执行态插 入就绪态就绪态第一个结 点插入执行态显示进程信息输入 b执行态转为 阻塞态就绪态第一个 结点插入执行 态显示进程信息输入 w阻塞态 为空阻塞态插入就绪 态执行态 为空结束进程1.5 小结:通过命令的选择,来执行不同的功能,但是没有做到内存的分配与回收。通过本实验,对进程的执行过程有了深刻的了解。二、请求分页存储

4、区管理2.1 目的:实现分页式存储地址转换过程,在此基础上实现请求分页的地址转换。分页式存储管理系统是内存非连续存储管理中基本的方法,可以通过把一个作业分成多个页面分配到不连续的内存块中去。实验可以通过位示图的方式来模拟内存的使用情况,为每个作业建立页表用于完成正确的地址转换。2.2 内容:利用键盘输入本模拟系统的物理块的大小,作业的页表中的块号;完成逻辑地址转换成相应的物理地址的过程。2.3 数据结构int Length; /页表长度int Size; /内存栈的大小int Memory; /内存的大小int Map100; /FIFO 位视图int yebiao1002; /FIFO 页表

5、显示进程信息就绪态第一 个结点插入 执行态显示进程信息结束int Mat=0; /FIFO 计数器int Ming=0; /FIFO 命中次数int Que=0; /FIFO 缺页次数int Stack100; /FIFO 内存栈int Head=0; /FIFO 头指针int Map1100; /LRU 位视图int yebiao11002; /LRU 页表int Mat1=0; /LRU 计数器int Ming1=0; /LRU 命中次数int Que1=0; /LRU 缺页次数int Stack1100; /LRU 内存栈int Head1=0; /LRU 头指针int date15;i

6、nt dat=0;int Map2100; /OPT 位视图int yebiao21002; /OPT 页表int Mat2=0; /OPT 计数器int Ming2=0; /OPT 命中次数int Que2=0; /OPT 缺页次数int Stack2100; /OPT 内存栈int Head2=0; /OPT 头指针int t,w;2.4 算法设计及流程图:算法:建立位示图,显示内存的分配,产生一组 0 和 1 的随机数。输入块的大小,通过位示图分配内存空间建立相应的页表;输入逻辑地址,计算出页号和逻辑地址转换成相应的物理地址。然后检查状态位,判断页号是否在内存,若是,则命中,若不是,则产

7、生缺页中断,分别用 FIFO 算法和 LRU 算法请求调页,并计算缺页率。流程图:YNYN开始输入页表长度 length 输入栈的大小 size 输入内存大小 memory输入逻辑地址 logical随机生成位示图根据页块计算出物理地址根据页表号入栈(内存)命中?栈满?块号入栈改变栈顶指针改变栈顶指针 置换2.5 小结:通过实验进一步了解相应的算法。但是由于对实验的理解不是很正确,导致在分配页表时出现了错误。三、设备管理3.1 目的:设备管理主要包括设备的分配和回收、同时实现设备独立性。3.2 内容:假定模拟系统中有 A(3 台) 、B(2 台) 、C 三种设备,采用安全分配方式。1、设备管理

8、子系统涉及到系统设备表(SDT) 、通道控制表(CHCT) 、控制器控制表(COCT)和设备控制表(DCT)来体现输入输出系统的四级结构和三级控制。我们模拟这样的数据结构来完成对外围设备的管理。(1)添加设备:增加对应的设备控制表和系统设备表中的表项,如果需要新建对应的控制器控制表。(2)删除设备:删除对应的设备控制表和系统设备表中的表项,如果需要删除对应的控制器控制表。2、设备分配必须满足设备的独立性要求。为了实现设备独立性,计算置换次数 计算缺页数 计算缺页率输出数据结束要求在驱动程序之上设计一层设备无关软件,其主要功能可分为:(1)执行所有设备的公有操作,主要包括:(a)独占设备的分配与

9、回收;(b)将逻辑设备名映射为物理设备(LUT) ,进一步可以找到相应物理设备的驱动程序。(2)向用户层(或文件层)软件提供统一的接口。例如,对各种设备的读操作,在应用程序中都用 read; 而对各种设备的写操作,则都使用 write。3.3 数据结构:typedef struct LNodechar name20;/进程名称char shebei20; /所需设备名称LNode *next;LNode;typedef struct CHCTchar name20;int zhuangtai;LNode *next1;CHCT *rear;CHCT *next2;CHCT;typedef st

10、ruct COCTchar name20;int zhuangtai;LNode *next1;CHCT *rear;COCT *next2;COCT;typedef struct DCTchar name20;char type20;int zhuangtai;LNode *next1;COCT *rear;DCT;typedef struct SDTchar name20;char type20;DCT *rear;SDT *next1;SDT;SDT *head=new SDT();SDT *heads=head-next1;COCT *headc=new COCT();CHCT *he

11、adh=new CHCT();SDT *sd1,*sd2,*sd3,*sd4;DCT *dc1,*dc2,*dc3,*dc4;COCT *co1,*co2,*co3;CHCT *ch1,*ch2;void zhunbei()sd1=new SDT();strcpy(sd1-name,“K“);strcpy(sd1-type,“I“);sd2=new SDT();strcpy(sd2-name,“M“);strcpy(sd2-type,“I“);sd3=new SDT();strcpy(sd3-name,“P“);strcpy(sd3-type,“O“);sd4=new SDT();strcpy

12、(sd4-name,“T“);strcpy(sd4-type,“O“);dc1=new DCT();strcpy(dc1-name,“K“);strcpy(dc1-type,“I“);dc1-zhuangtai=0;dc2=new DCT();strcpy(dc2-name,“M“);strcpy(dc2-type,“I“);dc2-zhuangtai=0;dc3=new DCT();strcpy(dc3-name,“P“);strcpy(dc3-type,“O“);dc3-zhuangtai=0;dc4=new DCT();strcpy(dc4-name,“T“);strcpy(dc4-ty

13、pe,“O“);dc4-zhuangtai=0;co1=new COCT();strcpy(co1-name,“COCT1“);co1-zhuangtai=0;co2=new COCT();strcpy(co2-name,“COCT2“);co2-zhuangtai=0;co3=new COCT();strcpy(co3-name,“COCT3“);co3-zhuangtai=0;ch1=new CHCT();strcpy(ch1-name,“CHCT1“);ch1-zhuangtai=0;ch2=new CHCT();strcpy(ch2-name,“CHCT2“);ch2-zhuangta

14、i=0;sd1-rear=dc1;sd1-next1=sd2;sd2-rear=dc2;sd2-next1=sd3;sd3-rear=dc3;sd3-next1=sd4;sd4-rear=dc4;sd4-next1=NULL;head-next1=sd1;dc1-next1=new LNode();dc1-next1-next=NULL;dc1-rear=co1;dc2-next1=new LNode();dc2-next1-next=NULL;dc2-rear=co1;dc3-next1=new LNode();dc3-next1-next=NULL;dc3-rear=co2;dc4-nex

15、t1=new LNode();dc4-next1-next=NULL;dc4-rear=co3;co1-next1=new LNode();co1-next1-next=NULL;co1-rear=ch1;co1-next2=co2;co2-next1=new LNode();co2-next1-next=NULL;co2-rear=ch2;co2-next2=co3;co3-next1=new LNode();co3-next1-next=NULL;co3-rear=ch2;co3-next2=NULL;headc-next2=co1;ch1-next1=new LNode();ch1-next1-next=NULL;ch1-next2=ch2;ch2-next1=new LNode();ch2-next1-next=NULL;ch2-next2=NULL;headh-next2=ch1;3.4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号