计算机操作系统作者王之仓专题内存的分配与回收(附第5章)课件.pptVIP

  • 11
  • 0
  • 约3.26千字
  • 约 34页
  • 2016-12-25 发布于广东
  • 举报

计算机操作系统作者王之仓专题内存的分配与回收(附第5章)课件.ppt

模板来自于 * 专题:内存的分配与回收 王之仓 青海师范大学 3 动态分区时的分配与回收 1) 动态分区时的分配与回收主要解决三个问题: (1)对于请求表中的要求内存长度,分配程序从可用表或自由链中寻找出合适的空闲区。 (2)分配空闲区之后,更新可用表或自由链。 (3)进程或作业释放内存资源时,和相邻的空闲区进行链接合并,更新可用表或自由链。 分配和回收内存时的数据结构: Struct MyMemory { pid; 进程号 起始地址; 内存块长度; next指针; } 内存分配解析 考虑内存用户空间(以下简称内存)大小为N(64)块,以下以具体的64为例 开始时,所有内存均未分配 用双向循环链表实现对内存空间的管理(Linux的管理模式) 于是,需要空闲链表和已分配链表,分配用head1和head2作为头指针 每个结点包括起始地址、长度和进程pid等3个数据域,以及前趋结点指针prev和后继结点next 初始时,head1指向的空闲链表只有一个结点,长度为64,前趋指针和后继指针均指向自己。head2指向的已分配链为空。 内存分配解析 head1 head2 NULL 初始状态 0 64 - 前趋 指针 后继 指针 内存分配解析 请求:1号进程请求length(5块)内存 处理过程: 1)查找

文档评论(0)

1亿VIP精品文档

相关文档