版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE10操作系统总结报告学期2010-2011学年第一学期学院计算机科学技术学院学号20084001姓名周经辉2010年本学期开设了操作系统课程,。一.进程控制1.1目的利用简单的结构和控制方法模拟进程结构、进程状态转换和进程控制。1.2内容用PCB表示整个进程实体,利用键盘交互式命令控制方法模拟进程执行中产生的事件。1.3数据结构typedefstructnode{ chardata; structnode*next;}linklist;typedefstruct{ linklist*front,*rear;}linkqueue;linkqueue*k,*jx,*zx,*zs,k1,jx1,zx1,zs1;1.4算法设计及流程图算法:构造三个队列(就绪,执行,阻塞)和一个初值为十的PCB队列,分别运用各个队列的入队出队函数对其进行状态转换和控制,调用显示函数进行输出。输入进程,PCB-1输入进程,PCB-1阻塞进程终止进程,PCB+1进入就绪唤醒进程就绪进入执行执行是否为空时间片完图1.1实验一进程控制流程1.5小结实验一比较简单,就是对队列的基本操作,但对数据结构都快忘了,所以每次上操作系统上机课,都得带着数据结构这本书,当时数据结构学的糊里糊涂,但现在觉得真的很有用。通过本实验,对于队列,我有了更深一层的认识,当然,中间也有些编译错误,但经过不断的尝试和修改,感觉自己都有不同的收获,感觉很充实。二、请求分页存储器管理2.1目的实现分页式存储地址转换过程,在此基础上实现请求分页的地址转换。实现请求页式地址转换中出现的缺页现象中,用到的FIFO、LRU、OPT置换算法。2.2内容利用键盘输入本模拟系统的物理块的大小,作业的页表中的块号;完成逻辑地址转换成相应的物理地址的过程。利用键盘输入本模拟系统分配给作业的内存物理块个数,作业在执行过程中的页面调度次序。计算出三种算法的缺页次数和缺页率。2.3数据结构1.typedefstructnode{ chardata; structnode*next;}linklist;typedefstruct{ linklist*front,*rear;}linkqueue;linkqueue*p,p1,*q,q1;2.二维数组a[8][8](位示图)。2.4算法设计及流程图算法:构造两个算法(FIFO,LRU)栈队,随机初始化位示图,根据位示图空闲块号,将录入逻辑地址转换成相应的物理地址,利用队结构完成页面置换,显示页面调度次序,记录被换出的页面和新换入的页面,并计算缺页次数和缺页率。流程:输入页表长度,空闲块数,块大小输入页表长度,空闲块数,块大小输入逻辑地址是否越界FIFO处理LRU处理结果显示越界提示地址转化图1.2实验二请求分页流程2.5小结这个实验我也是用队列做的,做FIFO算法时,队列的思想很合适,但在做LRU算法时,需要有置顶的操作,对于队列,我不知道怎么处理,后面看了数据结构链表的任意i节点的删除操作,我才明白,队列是建立在链表的基础上的,所以完全可以按照底层链表的处理去处理,先在队列中找出需要置顶的节点,看成是链表节点将其删除,再重新将其入队,就完成了置顶操作。所以通过本实验,对链表和队列又有了新的认识。三、设备管理3.1目的模拟实现包括设备的添加和删除,设备的分配和回收,体现设备分配中的设备独立性。使学生掌握外围设备的体系结构和管理方法。3.2内容假定模拟系统中有K、M、T和P设备,采用安全分配方式。设备管理子系统涉及到系统设备表(SDT)、通道控制表(CHCT)、控制器控制表(COCT)和设备控制表(DCT)来体现输入输出系统的四级结构和三级控制。添加设备,删除设备,独占设备的分配与回收。3.3数据结构typedefstructnode{ chardata[3]; charname; structnode*next;}linklist;typedefstruct{ linklist*front,*rear;}linkqueue;//…………………阻塞队列typedefstructchct{ charname[3]; intzt; structchct*next; linkqueue*q;}linkch;typedefstruct{ linkch*front,*rear;}linkquech;//…………………chct队列typedefstructcoct{ charname[3]; intzt; structcoct*next; structchct*ch; linkqueue*q;}linkco;typedefstruct{ linkco*front,*rear;}linkqueco;//…………………coct队列typedefstructdct{ charname; intzt; charlx; structdct*next; structcoct*co; linkqueue*q;}linkd;typedefstruct{ linkd*front,*rear;}linkqued;//…………………dct队列typedefstructsdt{ charname; chara[3]; structsdt*next; structdct*p;}links;typedefstruct{ links*front,*rear;}linkques;//…………………sdt队列3.4算法设计及流程图算法:构造四个主要队列(chct,coct,dct,sdt),每个队节点都有一个上级队节点的指针,指向对应的上级节点,每个队都有自己独立的入队出对函数和其他处理函数,在处理不同队间节点时,调用不同的队处理函数,可以避免冲突。流程:添加设备添加设备删除设备输入设备名称是否新建coct?输入coct名称选择通道输入设备名称coct是否无关联?删除coct图1.3实验三设备添加与删除流程阻塞到相应队下阻塞到相应队下使用chct是否空闲coct是否空闲输入进程和调用设备名称dct是否空闲申请设备状态位置1状态位置1状态位置1回收设备输入设备名称相应dct,coct,chct状态位置0先来先服务回收调度图1.4实验三设备申请与回收流程3.5小结感觉这个实验最有成就感,差不多一千行的代码,想都不敢想,但不知不觉就编出来了,当然之前也有跟同学讨论过这个数据结构的设计,也得到事半功倍的效果,最后的调试,运行近乎完美,处理上没问题,但思想上出错了,回收算法没有理解好,导致回收结果出错,当时还觉得没错,还跟老师讲自己的思想,后来在老师和同学的帮助下,将算法重新纠正,这个实验才得以完成。这个实验,是本课程中收获最大的一个实验了,将所有的节点都相互关联,并且完成查找,删除,匹配等操作,每一步都有不同的突破,对节点,对链表,对队列,对指针,都有了超前的认识,每一步深入,你都将有质的提升,谢谢本课程的所有老师。四、文件管理4.1目的利用文件内容和命令实现树型目录结构。利用位示图表示外存的分配情况,新建文件时分配必要的空间,模拟文件分配表(FAT)记录文件在外存上的存储方式。4.2内容在文件中保存目录内容,创建文件或子目录可以用命令行命令:MD、CD、RD、MKNOD(创建文件)、DEL(删除文件)和DIR。目录项包括文件或目录名称、类型(文件、目录或空目录项)、创建日期以及下一个目录项指针、下一级目录项指针。建立目录文件所对应的位示图,并在目录项创建和删除过程中应用。目录文件长度可以固定(如最多256个目录项),并为该文件建立对应的位示图文件。4.3数据结构typedefstructnode{charname[30];time_tt;intvisit;intbiaoji;//…………………0:文件夹1:文件structnode*next,*link;}jiedian;jiedian*p,*nowP;typedefstruct{charname[10];intnum;}FCB;FCBfcb[20];4.4算法设计及流程图算法:通过对标记位的判别,来对文件,文件夹做不同的处理。通过位示图和FCB来记录文件的存储块号,并作相应操作。流程:创建目录创建目录进入目录创建文件文件名称大小分配地址空间FAT表记录删除目录进入目录删除文件文件名称回收地址空间清除FAT表记录显示输出图1.5实验四目录管理流程4.5小结这个实验老实说当时编的不怎么样,对很多东西都不怎么了解,也许是想的过于简单了,实现的时候还是遇到了很多问题,也请教了一些同学,感觉要学的还很多。通过本实验,感觉对FAT表有了更进一步的了解,回看老师讲过的那个关于计算FAT表的例子,很有感触。五、进程调度5.1目的在实验一的基础上实现FCFS、SJF以及时间片调度算法。5.2内容实现FCFS、SJF以及时间片调度算时,在进程创建时自动随机或手工指定到达时间和服务时间,并将该值保存到PCB中。根据该值对各个进程进行调度。实现时间片调度算法时,如果进程不阻塞,在指定的时间片q(如5秒)后调度下一个进程。5.3数据结构typedefstruct{charname[5];intddtime;//……到达intfwtime;//……服务intkstime;//……开始intwctime;//……完成floatzztime;//……周转floatdqtime;//……带权intend;//…………结束}ZYDD;ZYDDdd[10];5.4算法设计及流程图算法:到达时刻从零开始,依次加一,服务时间和时间片手动输入,根据三种算法思想对结构体进行处理并输出。流程:输入进程及服务时间输入进程及服务时间输入时间片大小SJF算法处理FCFS算法处理时间片轮转算法处理显示结果图1.6实验五进程调度流程5.5小结本实验通过结构体去记录每个元素及它们之间的运算,处理起来比较方便。通过本实验,是我进一步了解了三种调度算法的核心思想,FCFS调度算法是一种最简单的调度算法,只考虑到先来后到的次序;而SJF的考虑到作业的服务时间,在某种程度上,要比FCFS效率都要高些;而时间片轮转法则是FCFS的一种改进,当时间片无穷大的时候,其实就是FCFS。六、总结一学期的课程转眼就结束了,我学到了什么,我想有很多,但最让我欣慰的是,对数据结构,尤其是对链表和队列有了更进一步的认识,我很庆幸,这一路都坚持了下来,坚持着独立去思考,独立去完成,期间有过跟同学的讨论,尝试着去接纳他们的思想,也得到了很多帮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026西藏自治区第二人民医院招聘7人模拟试卷附参考答案详解【达标题】
- 乐山市五通桥区2026年增量政策性岗位招募(50人)模拟试卷(突破训练)附答案详解
- 2026江苏锡市教育局直属单位选聘事业单位工作人员7人考前冲刺密卷(完整版)附答案详解
- 峨眉山市公开招募社会工作服务岗人员的(26人)模拟试卷【学生专用】附答案详解
- 26秋二年级上册数学应用题考点专项练习
- 2026年非金属矿采选业绿色包装技术应用
- 传染病标本采集运输应急演练
- 外科学病例试题及答案解析
- 起搏器植入临床指南
- 2026中国智能建筑控制系统行业市场供需分析及投资发展前景规划报告
- 2026年佛山市顺德区(家电)知识产权快速维权中心公开招聘事业编制人员3人笔试备考试题及答案详解
- 2026年南京市中考语文试卷及答案
- 广东东莞市2025-2026年学年下学期七年级语文阶段学情自测(试卷+解析)
- 山东省职称申报评审系统操作手册
- 2024年03月广东汕头市澄海区卫健局下属事业单位招考聘用专业技术人员84人笔试上岸试题历年典型考题与考点剖析附带答案解析
- JT-T-331.4-1996港口码头劳动定员标准集装箱码头-PDF解密
- 安全生产组织施工方案
- 咪达唑仑说明书
- 三菱镭射钻机培训教材-方正Ver4
- 泰语版汉语900句
- GB/T 5155-2003镁合金热挤压棒材
评论
0/150
提交评论