操作系统课程设计-主存空间的分配与回收(编辑修改稿)内容摘要:
k].address==s) { if(fullblock[k].sizes==l) { fullblock[k].address=0。 fullblock[k].sizes=0。 break。 } else { fullblock[k].sizes=fullblock[k].sizesl。 break。 } } if(k==N1) { printf(\n 输入释放作业开始地址不存在,请重新输入 !)。 setfree()。 return。 } } for(i=0。 iN。 i++) { if(freeblock[i].startaddress+freeblock[i].size==samp。 amp。 freeblock[i].state==1) { for(j=i+1。 jN。 j++) 内蒙古工业大学 课设 13 { if(freeblock[j].startaddress==s+lamp。 amp。 freeblock[j].state==1) { freeblock[i].size=freeblock[i].size+l+freeblock[j].size。 freeblock[j].state=0。 return。 } freeblock[i].size=freeblock[i].size+l。 freeblock[i].state=1。 return。 } } else { for(j=0。 jN。 j++) { if(freeblock[j].startaddress==s+lamp。 amp。 freeblock[j].state==1) { freeblock[j].startaddress=s。 freeblock[j].size=freeblock[j].size+l。 return。 } else { if(freeblock[j].state==0) { freeblock[j].size=l。 freeblock[j].startaddress=s。 freeblock[j].state=1。 return。 } } } } } } 内蒙古工业大学 课设 14 第五章 程序运行 问题及解决办法 结果 程序运行出现的问题及解决办法问题 ( 1) 程序运行没有按预期完成任务,解决办法是每次在对内存的分配和会和回收之前和之后都要对空闲区按地址进行排序 ( 2)程序不能显示作业状况,解决办法是为作业作一个已分配表用来存储作业记录 ( 3)在进行排序时,采用冒泡法进行排序 运行结果截图 ( 1) 主菜单 ( 2) 载入作业结结果 内蒙古工业大学 课设 15 ( 1) ( 2) ( 3) 分配结果图 内蒙古工业大学 课设 16 ( 4) 模拟系统回收内存 ( 5) 回收结果显示 ( 1) ( 2) 内蒙古工业大学 课设 17 ( 6) 多 分配结果 ( 7) 多回收结果 退出系统 内蒙古工业大学 课设 18 六. 课程总结与 体会心得 课程设计心得 在这次课程设计中,我们的收获应该说是非常大的。 开始的时候我们在网上搜索了一些代码。 但是这个代码语法本身有问 题。 但是由于对 JAVA 的使用不够熟练,所以我们就用了比较熟悉的 c 语言。 整个过程的代码都是我们自己动脑筋写的,最终代码调试运行成功,但是我们还是面临一个很大的问题就是,源程序使用 C 编写的,我们如何用图形化界面表示出来呢。 我们查阅了相关资料并且动手实践,但仍未解决,最后决定不使用图形用户界面。 在这次实践中,我们充分的意识到,编程功底的薄弱,只是粗浅的了解了语言,只是会一些语法,在编程思想上,我们显的很弱。 在今后的学习中,一定要扩大自己的知识面,如:多从网上寻找可实现的项目,同学之间组成团队,多学习,自己用代码实 现;还有就是要精通一们语言,熟练掌握其数据结构,算法思想,以至于能够熟练运用。 应该说这是通过我们小组成员的共同努力和动脑完成的,虽然内容并不是很复杂,但是我们觉得设计的过程相当重要,学到了很多。 我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到以后毕业之后从学校转到踏上社会的一个过程。 小组人员的配合﹑相处,以及自身的动脑和努力,都是以后工作中需要的。 总结 在这次设计中遇到了很多实际性的问题,在实际设计中才发现,书本上理论性的东西与在实际运用中的还是有一定距离的。 一切问题必须要 靠自己一点一滴的解决,而在解决的过程当中你会发现自己在飞速的提升。 程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,是一个设计的灵魂所在。 通过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。 总之,通过这次课程设计,我真的在实践中学到的不仅是课本知识的巩固和提高,而且还有在实践中使我着手解决不少程序设计的细节问题。 而这些问题是我在从低级的程序员向高级程序设计师过度的过程必须要解决的。 而我个人认为,我越早接触, 越多接触,越快解决对我本人缩短此过程有重要的意义。 内蒙古工业大学 课设 19 致谢 首先感谢两位马老师在这次课程设计中给予我们的指导和建议,在他的指导下我们顺利的完成了本次课程设计。 其次,要感谢我们同学,在我们互相帮助之下,攻克了在课程设计中遇到的一个个难关。 内蒙古工业大学 课设 20 七.参考文献 1. 教材 [1] 张尧学主编.计算机操作系统教程(第三版).北京 :清华 大学出版社 , 2020 2. 主要参考书 [1] 张尧学编.计算机操作系统教程(第三版)习题解答与实验指导.北京 :清华 大学出版社 , 2020 [2] 汤子瀛主编.计算机操作系统(第三版 ).西安 :西安电子科技大学出版社 ,2020 [3] 张坤等编.操作系统实验教程.北京 :清华大学出版社, 2020 [4] 张丽芬等编.操作系统实验教程.北京 :清华大学出版社, 2020 [5] Andrew . Modern Operating Systems, Second Cliffs,Prentice Hall, 2020 [6] 屠祁等编 .操作系统基础(第三版).北京 :清华大学出版社, 2020 [7] 冯耀霖等编 .操作系统 .西安 :西安电 子科技大学出版社, 2020 [8] 左万历.计算机操作系统教程(第二版).北京:高等教育出版社, 2020 内蒙古工业大学 课设 21 源代码 include include define N 6 struct freearea /*定义一个空闲区说明表结构 ,并初始化变量 */ { int startaddress。 /* 空闲区始址 */ int size。 /* 空闲区大小 */ int state。 /* 空闲区状态: 0 为空表目 ,1 为可用空闲块 */ }freeblock[N]={{100,100,1},{10,10,1},{300,50,0},{20,35,1},{250,30,1},{600,200,0}}。 struct fullarea { int address。 int sizes。 }fullblock[N]。 void muen() { printf(\n **************************************************\n)。 printf( * *\n)。 printf( * \1 模拟的主存空间的分配与回收 \1 *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( * *\n)。 printf( **************************************************\n)。 } void order() 内蒙古工业大学 课设 22 { int j,i。 struct freearea m。 for(i=0。 iN。 i++) for(j=i。 jN。 j++) if(freeblock[i].startaddressfreeblock[j].startaddress) { =freeblock[j].startaddress。 =freeblock[j].size。 =freeblock[j].state。 freeblock[j].startaddress=freeblock[i].startaddress。 freeblock[j].size=freeblock[i].size。 freeblock[j].state=freeblock[i].state。 freeblock[i].startaddress=。 freeblock[i].size=。 freeblock[i].state=。 } for(i=0。 iN。 i++) for(j=0。 jN。 j++) if(freeblock[j].state==0 amp。 amp。 freeblock[j+1].state==1) { =freeblock[j].startaddress。 =freeblock[j].size。 =freeblock[j].state。 freeblock[j].startaddress=freeblock[j+1].startaddress。 freeblock[j].size=freeblock[j+1].size。 freeblock[j].state=freeblock[j+1].state。 freeblock[j+1].startaddress=。 freeblock[j+1].size=。 freeblock[j+1].state=。 } } void order1() { int j,i。 struct fullarea m。 for(i=0。 iN。 i++) for(j=i。 jN。 j++) if(fullblock[i].addressfullblock[j].address) { 内蒙古工业大学 课设 23 =fullblock[j].address。 =fullblock[j].sizes。 fullblock[j].address=fullblock[i].address。 fullblock[j].sizes=fullblock[i].sizes。 fullblock[i].address=。 fu。操作系统课程设计-主存空间的分配与回收(编辑修改稿)
相关推荐
地的气候条件,采用能效比较高的水源热泵、空气源热泵及电热、燃气、燃油等加热设备制备卫生热水。 5 做好热水管道的保温,以减少热损耗。 6 排水系统应采用重力自流排出,避免及减少水泵提升。 节水 1 建筑物的引入管、住宅的入户管上必须设置水表。 2 公共建筑物内需计量水量的水管上均应设置水表。 3 民用建筑必须采用节水型器具。 4 公共场所卫生间的洗手盆宜采用感应龙头及延时自闭龙头
零件的工艺分析 支座 有 2 个加工面他们 相互之间没 有 任何 位置度要求。 第 3 页 共 18 页 1: 以 下 端面为基准的加工面,这组加工面主要是 顶 端面 ,台阶面和 钻 2Φ 10 孔。 2: 以 2Φ 10 孔 为基准的加工面,这组加工面主要是 铣斜缺口面 ,保证与下端面距离 41mm。 二 . 工艺规程设计 确定毛坯的制造形式 零件材料为 HT200
活、可 达性好等优点。 (4)私人小汽车 私人小汽车在我国的起步缓慢,但发展速度惊人。 过多的使用私人小汽车出行会导致道路交通拥挤及环境污染,而使得出行效率低下,所以,私人小汽车的发展也应该适当控制,北京市先后出台“限号出行”、“摇号购车”等政策来调控私人小汽车出行。 (5)公交车、地铁 作为公共交通,公交车和地铁具有运载量大、能耗低、占地少、污染小的优点,可以解决我国大城市中人口拥挤、能源稀少
来说,网络信息资源的有效组织就是帮助用户决定是否选取该资源,为用户和用户所需的网络信息资源之间架起一座桥梁。 管理原则 由于网络是个高度自由的领域,网络资源并无统一的命名规则,利用网络的不同群体所采用的网络资源标识又是有差异的,因而给网络资源的识别、组织和整理带来了很大的难度和不便。 网络信息资源的位置经常变化,内容变动也是轻而易举的。 因此,网络信息资源的选择应遵循以下几条原则。 ⒈
生上述商务活动的可能性也更大。 结合假日酒店的实际情况,如果不对所有客房作无线网络覆盖,那么我们建议至少在套房提供无线网络服务。 注:由于假日酒店只提供了楼层图,并未到现场进行实地勘察,以下 部署点根 据经验得出。 1 层覆盖 假日酒店 1 层需要覆盖的区域主要为公共区域, 该公共区域为开放空间, 包括大堂,大堂吧, 以及 咖啡厅 ,共计 950 平米。 所有 AP 汇聚到本层的交换机, AP
的成形运动 —— 范成运动,用以形成渐开线齿廓。 插齿刀的上下往复运动 A 是一个简单的成形运动,用以形成轮齿齿面的导线 —— 直线。 这个运动是主运动。 插齿时,插齿刀和工件除作范成运动外,插齿刀 相对于工件还要作径向切入运动,直到全齿深时停止切入,这时工件和插齿刀继续对滚(即插齿刀以 B1,工件以 B2 的相对运动关系转动),当工件转过一圈,全部轮齿均切削完毕,然后插齿刀与工件分开,机床停机