内存管理之进程分配内存的策略和分配算法涉及的问题

在为多个进程分配内存空间时,由于内存的大小固定,所以如何分?分多少?量不够?等问题都会影响到内存的利用效率

涉及三个问题:

1)最小物理块的确定,一个进程有多个页组成,在内存中完全存储有可能需要很多个块,但是在CPU中一次执行一条指令,所以停留在内存中的很多页面都不是必要的,只需要在内存中保留最必要的几个页的内容就可以了,所以会出现最小物理块确定的问题。

最小物理块的确定是指能保证进程正常运行所需的最小物理块数,当系统为进程分配的物理块数少于此值时,进程无法运行。进程应该获得最小物理块数与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。单地址指令且直接寻址的话,最少物理块为2.一个用于存储指令,一个用来存储数据

2)物理块的分配策略

2.1 固定分配局部置换

      基于进程的类型,或根据程序员、程序管理员的建议,为每个进程分配一定数目的物理块,在整个运行期间都不再改变

      如果进程在运行中发现缺页,则只能从该进程的n个页面中选出一个页换出,然后再调入一页,以保证分配给该进程的内存空间不变

      困难在于应该为每个进程分配多少个物理块难以确定,若太少,会频繁地出现缺页中断,降低了系统的吞吐量,若太多,又必然使内存中驻留的进程数目减少,进而造成CPU      空闲或其他资源空闲的情况,而且在实际对换中,会花费更多的时间

2.2 可变分配全局置换

      先为系统中的每个进程分配一定数目的物理块,而OS本身也保持一个空闲物理块队列

      当某进程发现缺页时,由系统从空闲物理块队列中取出一个物理块分配给该进程,这样凡产生缺页终端的过程,都将获得新的物理块。仅当空闲物理块队列用完时,OS才能从内存中选择一页调出,该页可能是系统中的任意进程的页

2.3 可变分配局部置换

       基于进程的类型或根据程序员的要求,为每个进程分配一定数目的物理块,但当某进程发现缺页时,只允许从该进程在内存的页面中选出一页换出,这样就不会影响其他进程

       如果进程在运行中频繁发生缺页中断,则系统需再为该进程分配若干附加的物理块,直至该进程的缺页率减少到适当的程度为止

       反之,若一个进程在运行过程中的缺页率特别低,则此时可适当减少分配给进程的物理块数,但不引起缺页率的明显增加

3)物理块的分配算法

    平均分配算法

    按比例分配算法

   按优先级分配算法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值