您的位置:首页 > 其它

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

2011-01-05 15:03 274 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: