合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc

1课程设计动态分区分配存储管理设计题目学号专业班级学生姓名号指导教师22010年12月合肥工业大学课程设计任务书设计题目动态分区分配存储管理成绩主要内容动态分区分配存储管理建立描述内存分配状况的数据结构;建立描述进程的数据结构;使用两种方式产生进程(A)自动产生,(B)手工输入;在屏幕上显示内存的分配状况、每个进程的执行情况;建立分区的分配与回收算法,支持紧凑算法;时间的流逝可用下面几种方法模拟(A)按键盘,每按一次可认为过一个时间单位;B响应WM_TIMER;将一批进程的执行情况存入磁盘文件,以后可以读出并重放;支持算法首次适应算法、循环首次适应算法、最佳适应算法最坏适应算法。指导教师意见该生能按时完成课程设计任务书所规定的程序设计,综合运用所学知识独立分析和解决问题的能力。程序设计方案。论文论述,文理,格式。程序运行结果。程序验收时回答问题。签名4第一章课程设计概述11设计任务动态分区分配存储管理12设计要求建立描述内存分配状况的数据结构;建立描述进程的数据结构;使用两种方式产生进程(A)自动产生,(B)手工输入;在屏幕上显示内存的分配状况、每个进程的执行情况;建立分区的分配与回收算法,支持紧凑算法;时间的流逝可用下面几种方法模拟(A)按键盘,每按一次可认为过一个时间单位;B响应WM_TIMER;将一批进程的执行情况存入磁盘文件,以后可以读出并重放;支持算法首次适应算法、循环首次适应算法、最佳适应算法最坏适应算法。13设计目的旨在让我们更好的了解动态分区管理方面的知识第二章原理及算法描述21动态分区分配算法原理首次适应算法算法概述分配内存时,从链首开始顺序查找,找到满足的空闲分区则划出空间分配,余下的空闲空间仍保留在空闲链表中实现方法分配时从数组第一个元素开始比较,若符合条件则将该元素减去对应作业的值循环首次适应算法算法概述由首次适应算法演变,只是每次分配改为由上一次找到的空闲分区开始查找实现方法在首次适应算法的基础上增加一个值用于记录找到的空闲分区的位置最佳适应算法算法概述每次为作业分配内存时,总是把能满足要求、又是最小的空闲分区分配给作业实现方法我们决定每次分配先把空闲分区按从小到大的顺序排列,然后将第一个匹配分区分配给作业5最坏适应算法算法概述每次为作业分配内存时,总是挑选一个最大的空闲分区分割给作业使用实现方法算法与最佳适应算法几乎相同,仅在排序时把空闲分区表按从大到小的顺序排列,所以未作详细注释回收分区当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链表中找到相应的插入点,此时可能出现以下四种情况之一1回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收区分配新表项,而只需修改其前一分区F1的大小2回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和3回收区同时与插入点的前,后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和4回收区既不与F1相邻接,又不与F2邻接这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置紧凑算法通过移动内存中的作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法第三章开发环境此程序是本人利用JAVA语言在一种JCREATOR的开发环境中实现的6第四章重要算法和设计思路描述41设计首次适应算法首先从内存分区的状态中找到空闲分区,若无空闲分区则不进行后面的运算,直接弹出对话框“内存中无空闲分区“把作业所需空间的大小与按始址大小,与各个空闲分区进行比较,如果某分区大小合适,把该分区一分为二,前部为已经分配出去的分区,后者为剩余的分区,然后对内存情况进行更新,每次分区小于作业,将指示不符合次数的N加一,如果不符合次数为空闲分区数组长度,说明找遍空闲分区都无符合项,最后对作业数组进行更新,把已运行的作业去除42设计循环首次适应算法同样根据内存分区的状态中找到空闲分区数组,令X指向上次找到空闲分区的下一个空闲分区,比较方法与首次适应算法相比,仅在此改为用X指示空闲分区在数组中的位置,每次查找空闲分区,都是从X后面那个分区开始查询,如果某分区大小合适,把该分区一分为二,前部为已经分配出去的分区,后者为剩余的分区,然后对内存情况进行更新,每次分区小于作业,将指示不符合次数的N加一,到了数组末尾后再次进行循环回到数组头,一直寻找到上次所分配的位置,转为从首位开始查找后只比较到上一次找到的匹配分区,以保证循环可结束如果不符合次数为空闲分区数组长度,说明找遍空闲分区都无符合项,最后对作业数组进行更新,把已运行的作业去除43设计最佳适应算法和最坏适应算法最佳适应算法的实质就是对内存分区数组进行排序后,利用首次适应算法最坏适应算法的实质也是对内存分区数组排序后,进行首次适应算法,只不过它与最佳适应算法排序的方向刚好相反44设计分区回收算法对内存分区状态进行查找,若回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收区分配新表项,而只需修改其前一分区F1的大小若回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和若回收区同时与插入点的前,后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和若回收区既不与F1相邻接,又不与F2邻接这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置45设计紧凑算法同样对内存分区状态进行查找,若存在空闲分区,对分区数组,把已分配的数组的位置进行移动,使已分配的分区全部相邻,这样得到的最后剩下的一个大分区就是可以分配的分区啦7第五章程序实现数据结构CLASSMEMORY{PRIVATEINTM1//分区的序号PRIVATEINTM2//分区的大小PRIVATEINTM3//分区的起始地址PRIVATEINTM4//是否已分配的标志}这是定义的内存分区的结构CLASSPROCESS{PRIVATEINTXUHAO//作业序号PRIVATEINTKONGJIAN//作业运行所需的空间}这是定义的作业的结构8第六章程序实现程序清单IMPORTJAVAAWTEVENTIMPORTJAVAXSWINGIMPORTJAVAAWTIMPORTJAVAIOIMPORTJAVAUTILPUBLICCLASSALGORITHM{PRIVATEJFRAMEFRAMEPRIVATEJTEXTPANEMEMORYPRIVATEJTEXTPANEPROCESSPRIVATEMEMORYDATAMDPRIVATEPROCESSDATAPDPRIVATEINTFITINDEX1PRIVATEINTSELECTPRIVATEJTEXTFIELDFIELDPRIVATEJFRAMEFRAMEPUBLICVOIDGO{FRAMENEWJFRAME“动态分区“JPANELMAINPANELNEWJPANELJPANELPRINTP

操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...相关推荐

  1. python网络爬虫课程设计题目_山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》...

    山东建筑大学计算机网络课程设计<基于Python的网络爬虫设计> 山东建筑大学 课 程 设 计 成 果 报 告 题 目: 基于Python的网络爬虫设计 课 程: 计算机网络A 院 (部) ...

  2. 在设计四人抢答器中灯全亮_数字电子技术课程设计报告(四人抢答器).doc

    Word格式 完美整理 数字逻辑电路 课程设计报告 系 (部): 三 系 专 业: 通 信 工 程 班 级: 12 通 信 2 班 姓 名: 杨 超 学 号: 20120306201 成 绩: 指导老 ...

  3. 梁昌勇 软件工程_梁昌勇简介_研究领域_学术成果_合肥工业大学管理学院教授-教师点评 - 人大经济论坛...

    梁昌勇 代表性学术成果 (1)RFID技术在汽车制造过程控制与质量跟踪系统中的应用 国家"863"项目 2007.01-2010.06, 主持 (2)隐性目标决策问题的智能决策模型 ...

  4. java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...

    一.前言 知道的越多不知道的就越多 编程开发这条路上的知识是无穷无尽的,就像以前你敢说精通Java,到后来学到越来越多只想写了解Java,过了几年现在可能想说懂一点点Java.当视野和格局的扩大,会让 ...

  5. 学生机房管理服务器系统设计,广东工业大学数据库课程设计机房管理系统设计...

    <广东工业大学数据库课程设计机房管理系统设计>由会员分享,可在线阅读,更多相关<广东工业大学数据库课程设计机房管理系统设计(27页珍藏版)>请在人人文库网上搜索. 1.课程设计 ...

  6. 河南理工大学c语言报告封面,河南理工大学图书信息管理系统设计_纯c语言课程设计.doc...

    河南理工大学图书信息管理系统设计_纯c语言课程设计 C语言课程设计报告 题 目:图书信息管理系统设计 河南理工大学计算机学院 目 录 第一章 题目与要求 1.1 问题提出1 1.2 本系统涉及的知识点 ...

  7. 基于U-Net系列算法的医学图像分割(课程设计)

    基于U-Net系列算法的医学图像分割(课程设计) 参考论文:包括U_Net/R2U_Net/AttU_Net/R2AttU_Net,如下图所示: 基于Pytorch的代码和数据集下载地址:下载地址 运 ...

  8. 微型计算机课设电梯控制8255,东南大学吴健雄学微机课程设计电梯控制器.doc

    东南大学吴健雄学微机课程设计电梯控制器 东南大学吴健雄学院 <微机实验及课程设计> 课程设计报告 FBI Warning: 汇编代码是好几届之前的一个学姐的只是修改了一下后完美运行是我自己 ...

  9. 计算机网络报告书,河北工业大学计算机网络课程设计报告书

    河北工业大学计算机网络课程设计报告书 学院河北工业大学 设计人 于涵 某市电业局网络规划 一.规划背景问题描述.计算机网络规划需求分析 背景问题: 某市电业局新办公楼高16层,共计有160个房间.主楼 ...

最新文章

  1. 其实,我是一名程序员!
  2. php -- PDO事务处理
  3. VUE—从入门到飞起(五)
  4. 关于SQL Server的若干注意事项
  5. 去年的今天我做了些什么?
  6. 数据结构与算法--再来聊聊数组
  7. 原博客文章(Apache初配2008/4/8)
  8. [Linux]Ubuntu下用apt-get安装的应用程序位置
  9. 关于使用Aptana+Pydev构建Python开发环境(Django)
  10. 饥荒机器人怎么用避雷针充电_饥荒避雷针有什么用
  11. 【Java与智能设备】Ch0402 Activity的生命周期
  12. CAD图纸查看器 CADViewer V9.0
  13. Android经典的大牛博客推荐(排名不分先后)!!
  14. RT-Thread libmodbus RS485 RTU主机调试 - STM32F107VCT6
  15. js打开新窗口 window.open() 隐藏菜单栏、工具栏,配置窗口大小、滚动条等
  16. php龙之战争游戏搭建教程,龙之战争1.02正式版下载
  17. MySQL基础学习第十三课(视图的创建)
  18. 在linux中安装google拼音输入法
  19. SQL开发技巧-MySQL
  20. MySQL 连接挂死了!该如何排查?

热门文章

  1. 编译后没有taget文件夹_maven资源文件的相关配置才会在编译后的target里面有
  2. h5禁用浏览器下载视频_Flash正式被全球禁用,只有中国版还活着
  3. efi分区咋移动到c盘里_如何移动的EFI系统分区
  4. c语言error ld returned,[Error] ld returned 1的错误
  5. linux安装dev命令,Linux安装与基础命令
  6. win7系统临时文件夹的打开方法
  7. Windows平台下如何实现Unity3D下的RTMP推送
  8. js数字转中文大写支持负数
  9. struts2升级jar包遇到无法正常访问action的方法的问题
  10. Spring 自定义注解,配置简单日志注解