欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    固定分区存储管理Word下载.docx

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

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    固定分区存储管理Word下载.docx

    1、并模拟实现分区的分配和回收过程。 2. 必须建立分区表,记录空闲区与占用区的状况。3. 流程图按选定的算法自己完成。三、 算法设计的思想或流程图 本系统将存用户空间划分为五个大小不固定的分区,其分区大小由用户输入决定。在每个分区只装入一道作业,这样把用户空间划分为几个分区,便允许几道作业并发运行。当有一个空闲分区时,便可以从外存的后备队列中选择一个适当大小的作业装入该分区,当该作业结束时又可以从后备作业队列中找出另一作业调入该分区。每个存空间是一个Node型的对象。Node类有一个三个参数的构造函数。分别为:分区号、起始地址、大小。然后就是一些属性的get、set方法和一个打印其属性的函数。四

    2、个数据域分别为:属性m_No用来表示该存空间的序号。属性m_Addr用来表示存分区的起始地址。属性m_Size用来表示存空间的大小。属性m_State表示存空间的是否已分配的状态标志。若该存空间已分配,m_TaskNo表示占有该存空间的任务序号。否则没有实际意义。在用户申请任务的存空间时,提示用户输入任务号和其需要的存空间大小。流程图主程序: Y N N 检查该任务号是否已经存在,或该任务大小是否超过100提示用户输入作业名和作业占的内存大小该任务号已经存在或该任务大小否超过100temp2赋值为第i个内存空间大小与申请的内存空间大小只差开始初值为0的变量i,是否小于节点队列大小第i个内存空闲

    3、并且其大小大于作业申请的大小Temp1temp2?分配存空间算法:申请失败Temp1=temp2.保存内存空间号到No将内存空间No置为占有,并将作业分配给它No=-1?结束打印出内存空间信息i+ N Y释放存空间算法释放失败保存内存空间号到No将内存空间No置为空闲四、算法设计的实现1、类设计本程序设计了两个比较简单的类:Node类和MManage类。Node类主要是存放每个固定分区的一些信息。而MManage类则主要是对Node类的容器List进行一些操作来实现要求的存空间的的分配和释放。类设计的数据成员和接口如下:Node.h#ifndef NODE_H#define NODE_Hcla

    4、ss Nodepublic: Node(int No, int Addr, int Size); int getSize() const return m_Size; bool getState() const return m_State; int getTaskNo() const return m_TaskNo; void setState(bool State); void setTaskNo(int TaskNo); void print();private: int m_No; int m_Addr; int m_Size; bool m_State; int m_TaskNo;#

    5、endif /NODE_HMManage.h#ifndef MMANAGE_H#define MMANAGE_H#include class Node;class MManage /MManage(); MManage(int MLength); MManage(std:vector#include Node.hNode:Node(int No, int Addr, int Size) :m_No(No),m_Addr(Addr),m_Size(Size) m_State = true; m_TaskNo = 0;void Node:setTaskNo(int TaskNo) m_TaskNo

    6、 = TaskNo;setState(bool State) m_State = State;print()cout| m_No | m_Addrm_Size; if(m_State) std:Idle |std:endl; elseOccupy | m_TaskNo |MManage.cppMManag.h#define MAXSIZE 100/class Node;/*MManage:MManage() int sum;cout sum; MManage(sum);*/MManage:MManage(int MNo) int size; int addr = 0; char yesOrNo

    7、 = n while ( yesOrNo != y & yesOrNo !Y) m_Nodes.clear();Start to init the memory table for (int i=0; iMNo; +i) do std:Please input the size of i+1 = MAXSIZE); Node node(i+1, addr, size); m_Nodes.push_back(node); addr+=size; print();Is this correct? yesOrNo;MManage(std: Nodes) m_Nodes.assign(Nodes.be

    8、gin(), Nodes.end();void MManage:MAlloc() int taskNo, size; int No = -1; int temp1 = MAXSIZE; int temp2 = MAXSIZE; bool flag; do flag=false;Please input the task No. and size taskNo for(unsigned i=0;m_Nodes.size(); if(m_Nodesi.getTaskNo() = taskNo) This task areally exist,please change it flag = true

    9、; if(size MAXSIZE)The size is too big,please change it while(flag); for(unsigned i=0; if(m_Nodesi.getState()&m_Nodesi.getSize()=size) temp2 = m_Nodesi.getSize() - size; if(temp2swt; if(swt!=1&swt!=2)error iput,please put(1、2) switch(swt) case 1: m.MAlloc(); break; case 2: m.MFree(); default: printf(

    10、exception ouccern return 1; m.print();Do you like to continue? swt = 0;四、 运行结果与分析手工输入每个分区的大小来初始化分区表:分析:在手工输入每个存空间的大小后,立即调用打印的函数将存空间的情况打印出来。让用户确定自己输入是否正确。分配成功:申请存空间。首先得输入作业号与作业大小。在程序中是通过计算出最合适的空间(存空间与作业大小之差最小)分配给当前作业。如图,在作业,大小为4.在图中可以看出使用最佳适应算法,存空间2与之最为合适.故将存空间2分配给作业2.在存空间的分配图也可以看得出来存空间2被作业2占用。分配失败:由于申请的作业3其大小超过了每一个存空间的大小。故分配失败。存释放:存空间释放,先输入要释放的存空间对应的任务号。然后通过查找出对应的存空间,将其信息修改为空闲,作业号改为0.说明该存空间被释放。五、 总结体会通过此次试验加深了对操作系统存储管理功能中的固定分区管理方式、主存分配表等相应知识的理解。对操作系统怎样实现存储管理有了初步的认识。固定分区的优势是实现简单,只需要极少的操作系统开销。它也有很多的缺点,例如:有部碎片,对存的使用不充分、活动进程的最大数目是固定的等。


    注意事项

    本文(固定分区存储管理Word下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开