动态存储管理 一.选择题 1C 二.判断题 1.错误 2.正确 三.填空题 1.(1)480+8=488(480 %23+1=0) (2)480-32=448 2.(1)011011110100 (2)011011100000 3.用户不再使用而系统没有回收的结构和变量。例如,p=malloc(size);…,p=null; 四.应用题 在伙伴系统中,无论占用块或空闲块,其大小均为2的k(k为≥0的正整数)次幂。若内存容量为2m,则空闲块大小只能是20,21,22,…,2m。由同一大块分裂而得的两个小块互称“伙伴空间”,如内存大小为210的块分裂成两个大小为29的块。只有两个“伙伴空间”才能合并成一个大空间。 起始地址为p,大小为2k的内存块,其伙伴的起始地址为: buddy(p,k)=p+2k (若p % 2k+1=0),或buddy(p,k)=p-2k (若p % 2k+1=2k) 2.首次拟合法;从链表头指针开始查找,找到第一个≥所需空间的结点即分配。 最佳拟合法:链表结点大小增序排列,找到第一个≥所需空间的结点即分配。 最差拟合法:链表结点大小逆序排列,总从第一个结点开始分配 [原文截取] 动态存储管理 一.选择题 1C 二.判断题 1.错误 2.正确 三.填空题 1.(1)480+8=488(480 %23+1=0) (2)480-32=448 2.(1)011011110100 (2)011011100000 3.用户不再使用而系统没有回收的结构和变量。例如,p=malloc(size);…,p=null; 四.应用题 在伙伴系统中,无论占用块或空闲块,其大小均为2的k(k为≥0的正整数)次幂。若内存容量为2m,则空闲块大小只能是20,21,22,…,2m。由同一大块分裂而得的两个小块互称“伙伴空间”,如内存大小为210的块分裂成两个大小为29的块。只有两个“伙伴空间”才能合并成一个大空间。 起始地址为p,大小为2k的内存块,其伙伴的起始地址为: buddy(p,k)=p+2k (若p % 2k+1=0),或buddy(p,k)=p-2k (若p % 2k+1=2k) 2.首次拟合法;从链表头指针开始查找,找到第一个≥所需空间的结点即分配。 最佳拟合法:链表结点大小增序排列,找到第一个≥所需空间的结点即分配。 最差拟合法:链表结点大小逆序排列,总从第一个结点开始分配..... |
动态存储管理答案
查看评论
已有0位网友发表了看法