存储管理功能.pptVIP

  • 0
  • 0
  • 约5.09千字
  • 约 57页
  • 2021-09-04 发布于江苏
  • 举报
第六章 存储管理;6.1 存储管理功能;6.1 存储管理功能(Cont.);6.2 内存资源管理;;字位映象图(bit map);空闲页面表;空闲页面链;动态异长分区的分配;最先适应算法(First Fit);最佳适应算法(Best Fit);最坏适应算法(Worst Fit);UNIX存储分配--FF;malloc(mp,size) struct map, *mp; { register int a; register struct map *bp; for(bp = mp; bp-m_size; bp++){ if (bp-m_size = size) { a=bp-m_addr; bp-m_addr =+ size; if ((bp-m_size =- size) == 0) do { bp++; (bp-1)-m_addr = bp-m_addr; }while((bp-1)-m_size = bp-m_size); return(a); } } return(0); };mfree(mp,size,aa) struct map *map; { register struct map bp; register int t,a; a = aa; for(bp=mp; bp-m_addr=a bp-m_size !=0; bp++); if(bpmp (bp-1)-m_addr+(bp-1)-m_size == a) { //与前合并 (bp-1)-m_size =+ size; if (a+size == bp-m_addr){ //前后合并 (bp-1)-m_size =+ bp-m_size; while (bp-m_size) { bp++; (bp-1)-m_addr = bp-m_addr; (bp-1)-m_size = bp-m_size; } } }; }else{ if (a+size == bp-m_addr bp-m_size) { //与后合并 bp-m_addr =- size; bp-m_size =+ size; } else if (size) do { //无合并 t = bp-m_addr; bp-m_addr = a; a = t; t = bp-m_size; bp-m_size = size; bp++; }while (size = t); } };6.2.3 碎片处理;6.3 存储管理方式;6.3.1 界地址管理方式;6.3.1 界地址管理方式;6.3.1 界地址管理方式;6.3.1 界地址管理方式;6.3.2 分页式存储管理(paging);6.3.2 分页式存储管理;3. 进程空间与内存空间对应关系;4. 所需表目:;逻辑地址(p,d

文档评论(0)

1亿VIP精品文档

相关文档