请求分页系统中的内存分配策略

2020年7月22日 8点热度 0条评论 来源: Caramel_biscuit
  1. 固定分配局部置换
    固定分配:为每个进程分配一组固定数目的物理块,进程运行期间不再改变。
    局部置换:如果进程在运行期间发现缺页,则只能从分配给该进程的n个页面中选出一页换出,再调如一页,以保证分配给该进程的内存空间不变。
    缺点:为每个进程分配多少个物理块难以确定。太少,会频繁出现缺页中断,降低了系统的吞吐量。太多,必然使内存中驻留的进程数目减少,进而可能造成CPU空闲或其他资源空闲。

  2. 可变分配全局变换
    可变分配:先为进程分配一定数目的物理块,在运行期间,可根据情况做适当的增加或减少。
    全局置换:如果进程在运行期间发生缺页,则将OS保留的空闲物理块取出一块分配给该进程,或者以所有的进程的全部物理块为标的,选择一块换出,然后将该页调入。
    分配给该进程的内存空间会随之增加
    在采用这种策略时,凡是发生缺页中断的进程,都将获得新的物理块,仅当空闲物理块队列中的物理块用完,OS才能从内存中选出一页调出。选出的一页可能是系统中任何一个进程中的页,因此被选中的进程拥有的物理块数会减少,会导致缺页率增加

  3. 可变分配局部变量
    为每个进程分配一定数目的物理块,但当某进程发现缺页时,只允许从该进程在内存的页面选择一页换出,这样就不会影响其他进程的运行。如果进程在运行中发生频繁的缺页中断,则系统再为该进程分配若干附加的物理块,直至该进程的缺页率减少到适当程度为止。反之,若一个进程在运行期间缺页率特别低,可适当减少为该进程分配的物理块。

    原文作者:Caramel_biscuit
    原文地址: https://blog.csdn.net/Caramel_biscuit/article/details/107503731
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。