操作系统学习笔记(15) 存储管理-内存的划分

  1 ====================================
  2 内存划分:
  3
  4 静态划分:
  5     1。一旦划分完毕,分区的大小和数目将不再改变。
  6     2。固定分区:当进程申请空间时,系统为之分配大小适合的分区。
  7     3。分页:特殊的静态分区,页框(帧),可以为进程分配多个帧。
  8
  9     分页:数据结构,
 10         位示图:表征页框占用情况。
 11         空闲页框表:也是表征页框的使用情况。
 12         空闲页框链表:
 13 动态划分:
 14     首次适应算法(FFA):
 15     从表头开始查找,第一个适合的空闲空间。然后将该区划
 16     分为两个分区:进程需要的内存大小+子分区(将被链接到空闲分区链表中)
 17     优点:高地址空间保留有较大的空闲空间分区。
 18     缺点:将较大的内存空间,划分为较小的内存空间。
 19     可以采用“紧凑技术”解决“外零头”的问题。可能会降低系统效率。
 20
 21     下次适应算法(NFA):
 22     记住上次分配分区的位置,下一次实施分配时,从上一次的分配位置之后开始查找
 23     ,选择一个大小足够的空闲分区。
 24     缺点:缺乏大分区。
 25
 26     最佳适应算法(BFA):
 27     总是选择满足要求且长度最小的空闲分区。
 28     缺点:可能会形成大量较小的外零头。
 29
 30     最差适应算法(WFA):
 31     选择最大的适合进程需求的分区。
 32     有点:避免形成大量外零头。
 33
 34
 35 伙伴系统(Buddy System):
 36     int i = 0;
 37     int flag = 0;
 38     while(true) {
 39         i += 1;
 40         if(2^(i-1) < k < 2^i)
 41             break;
 42     }
 43     while(OS has no 2^i P){
 44         i += 1;
 45         ++flag;
 46     }
 47     for(; flag >0; --flag){
 48         P /= 2;
 49     }
 50     k = P;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值