欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    操作系统课程设计--模拟实现可变分区存储管理

    • 资源ID:1417561       资源大小:120.50KB        全文页数:13页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    操作系统课程设计--模拟实现可变分区存储管理

    1、 电气信息系 操作系统操作系统 课程设计报告课程设计报告 模拟实现模拟实现可变分区存储管理可变分区存储管理 一、设计目的一、设计目的 在熟练掌握计算机分区存储管理方式的原理的基础上,利用 C 程序设计语 言在 windows 操作系统下模拟实现操作系统的可变分区存储管理的功能,一方 面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能 力,为进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。 二、各功能模块分析实现二、各功能模块分析实现 1 设计合理的数据结构来描述存储空间:设计合理的数据结构来描述存储空间: 1) 对于未分配出去的部分,用空闲分区链表来描对于未分配

    2、出去的部分,用空闲分区链表来描述。述。 struct freeList int startAddress; /* 分区起始地址 */ int size; /* 分区大小 */ struct freeList *next; /* 分区链表指针 */ 2) 对于已经分配出去的部分,由装入内存的作业占据。对于已经分配出去的部分,由装入内存的作业占据。 struct usedList int startAddress; /* 分区起始地址 */ int jobID; /* 分区中存放作业 ID */ struct usedList *next; /* 分区链表指针 */ 3) 将作业组织成链表。将作业

    3、组织成链表。 struct jobList int id; /* 作业 ID */ int size; /* 作业大小(需要的存储空间大小) */ int status; /* 作业状态作业状态 0 : new job ,1 : in the memory , 2 : finished . */ struct jobList *next; /* 作业链表指针 */ 以上将存储空间分为空闲可占用两部分, 在 usedlist 中设 jobID 而不设 size,可以在不增加空间复杂度(与 freelist 相比)的同时更方便的实现可 变分区存储管理(从后面的一些函数的实现上可以得出这个结论) 。

    4、 尽管设置 joblist 增加了空间复杂度,但它的存在,使得该程序可以方 便的直接利用 C 盘中的 Job.txt 文件。 该文件可以认为是一个和其他进程共 享的资源。通过这个文件,其他进程写入数据供读取。这中思想在操作系 统设计中体现的很多。 2 实现分区存储管理的内存分配功能,选择适应算法(首次适应算法,最佳适实现分区存储管理的内存分配功能,选择适应算法(首次适应算法,最佳适 应算法,最后适应算法,最坏适应算法) 。应算法,最后适应算法,最坏适应算法) 。 基本原理分析:基本原理分析: 1) Best fit :将空闲分区按大小从小到大排序,从头找到大小合适的分区。 2) Worst f

    5、it:将空闲分区按大小从大到小排序,从头找到大小合适的分区。 3) First fit :将空闲分区按起始地址大小从小到大排序, 4) Last fit :将空闲分区按起始地址大小从大到小排序, 由此,可将空闲分区先做合适的排序后用对应的适应算法给作业分配存 储空间。排序函数 order(bySize 为零则按分区大小排序,否则按分区起始地 址;inc 为零从小到大排序,否则从大到小排序;通过 empty指针返回结果) 。 void order(struct freeList *empty,int bySize,int inc) struct freeList *p,*q,*temp; int

    6、 startAddress,size; for(p = (*empty) - next;p;p = p - next) /* 按bySize和inc两个参数寻找合适的节点, 用temp指向它 */ for(temp = q = p;q;q = q - next) switch(bySize) case 0 : switch(inc) case 0:if(q-size size) temp = q;break; default:if(q-size temp-size) temp = q;break; break; default: switch(inc) case 0:if(q-startAddress startAddress) temp = q;break; default:if(q-startAddress temp-startAddress) tem


    注意事项

    本文(操作系统课程设计--模拟实现可变分区存储管理)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583