操作系统基础43-帧分配

操作系统基础43-帧分配

2021-01-22 23:00·重学IT的老猫

如何在各个进程之间分配一定的空闲内存?
简单办法是将帧挂在空闲帧链表上,当发生页错误之时即进行分配。进程终止时帧再次放回空闲帧链表。
帧分配策略受到多方面限制。例如, 分配数不能超过可用帧数,也必须分配至少最少数量。保证最少量的原因之一是涉及性能缺页错误增加会减慢进程的执行。并且,在指令完成前出现缺页错误,该指令必须重新执行。所以有足够的帧至关重要。
每个进程最少帧数由体系结构决定,而最大帧数是由可用物理内存的数量决定。

分配算法

  • 平均分配:即最大帧除以进程总数得到的值,但是没有考虑到进程可能需要不同大小的内存空间。
  • 按进程大小比例分配:按照进程的页(地址空间)的大小,按比例给进程分配帧数
  • 按优先级分配:对于高优先级的进程,可以有更大的帧空间以便更快的执行。
  • 根据进程的大小和优先级的组合

全局分配和局部分配

全局置换允许进程从所有帧集合中选择一个进行置换,而不管该帧是否已分配给其他进程,即它可以从其他进程抢夺帧,比如高优先级抢夺低优先级的帧;局部分配则要求每个进程只能从自己的分配帧中分配。
全局置换通常有更好的吞吐量,且更为常用。

操作系统基础43-帧分配

虚拟内存

操作系统基础43-帧分配

处理缺页错误的步骤

了解更多

-------------本文结束 感谢阅读-------------