操作技巧系统.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验 内存的分配与回收 实验报告 、实验题目:内存的分配与回收 、实验内容:利用可变分区的首次适应算法,模拟内存的分配与回收。 三、实验目的:掌握可变分区首次适应算法的原理以及其编程实现。 四、实验过程: 1、基本思想:可变分区分配是根据进程的实际需求,动态地为之分配内存空间。首次适应算法要求空闲 空间链以地址递增的次序链接。进行内存分配时,从链表头部开始依次检索,找到第一个不小于请求空间 大小的空闲空间进行分配。分配时需考虑碎片问题,若分配会导致碎片产生则将整块分区分配。内存的回 收需要考虑四种情况:⑴回收分区前后两个分区都空闲,则需要和前后两个分区合并;(2)回收分区只有 前一分区空闲,则与前一分区合并;(3)回收分区只有后一分区空闲,则和后一分区合并;(4)回收分区 独立,不考虑合并 2、主要数据结构: struct FreeArea( 链结点包含的数据:分区号、大小、起址、标记 int ID; int size; long address; int sign; }; struct Node { 双链表结点结构体:数据区、前向指针、后继指针 FreeArea data; struct Node *prior; struct Node *next; }*DLinkList; 3、输入、输出: 输入:I.内存分配时由键盘输入分区ID和大小; II.内存回收时由键盘输入需要回收的分区ID; 输出:输出内存的分配情况(按照地址从低到高) 4、程序流程图: 5、实验结果截屏: d;\vs201 Cl\ncfp2\Deljug\n cfp2 # -Jn- aa?a 请请ISF请诺苦 牛,■■r力舞什A动舞 L\l/\成IAIAIA成IA 二一:-1__._一上==土一__.工 也 也 也 也 区哉区铅区钏区钳 -R-L i- 十一j-n-lfr一,行起分匹 I d;\y52O10\ncfp2\Debu g\n cFp2, exe 1—1 1 0 分区大』h 10 KB 状 芭;空闲 2 10 分区大小;23 KB 状 念;已狞配 3 叫 分区大小如KH 状 态,已廿?配 Fvrr hM 分区,八小,七KK :伏 基宝 区 请输入操作:1. w内在 三存分鬼 分区大小, 分区大小, 分区大小: 分■区大小: 作:?分配内存 :7 2 . 情况 1 a kp KH 39 KB 452 KB 回收内茸 3 .另;F千仟 回收内亍 L昱7T工行 状 桦片已分阳 状 志,已分配 状 态:己咛配 状 芯宇IX 清辕人操作:「分酊为芹 Z ?回收灼寻 L昱示主存 0-^ii 区■退3 。■退出 请输入操作:,分配内存 分区大小: 分区大小: 分区大小: WSA1W 龙?E曲: 蚩输入操作:,分配内存 叵收内年 3.匠示工与 叵收内厅 自.赴小工亏 状 态;X |+1 域 态;匕分配 状、志X |+1 30 KB 空ffl 状 状 :1 :6 :16 :3 :36 :Free :C6 X: X ffl 态:已分配 态:已分配 芒、: 主存分配情机 :i区大小:16 KB 分区大小: 分区大小: 分区大小: 请输入操作:,分配内存 2 .回收内存 己-丘小工不 号址号址号址号址 区三区?区三区W -F^. -FK. -F^. -F^. 分翼R翼R普起 X- 4刷 44 主IFa 、T 3. 11孚2 工17普配 3.显王仔 1=1 ,回 。.史出 札退出 土退出 札退出 6、源程序代码: #includeiostream using namespace std; #define Free 0 〃空闲状态 #define Busy 1 〃己用状态 #define PBusy 2 //碎片已用状态 #define FINISH 1 〃完成 #define FINISH2 1 〃完成 #define ERROR 0 //出错 #define memory 512 //最大内存空间为(单位:KB) #define min 10 //碎片最小值(单位:KB) typedef struct FreeArea// 空闲链数据 { int ID; int size; long address; int sign; }; typedef struct Node 〃空闲连结构 { FreeArea data; struct Node *prior; struct Node *next; }*DLinkList; DLinkList head; 〃头结点 DLinkList tail; //尾结点 int Create()//初 始化 { head=(DLinkList)malloc(sizeof(Node));//分 配内存 tail=(DLinkList)ma

文档评论(0)

dajiede + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档