分配算法
在采用固定分配策略时,如何将系统中可供分配的所有内存块分配给各个进程,这就是分配算法需要做的事情
分配算法在采用固定分配
策略
时,如何将系统中可供分配的所有内存块分配给各个进程,这就是分配算法需要做的事情,可以采用下述几种算法。
平均分配
这种方法是将内存中所有可用的内存块平均分配给各个进程。例如,当系统中有100
个内存块,有5 个进程在运行时,每个进程可以分得20个内存块。这种方案看似公平,但
实际上是不公平的,因为其未考虑到各个进程本身的大小。如果一个进程大小为200 页,
只分配给其20个块,这样,必然会有很高的缺页率: 而另一进程只有10 页,却有10个物
理块为空闲状态。
按比例分配
这是根据进程的大小按比例分配内存块的
算法
。如果系统中共有n 个进程,每个进程
的页面数为Si,则系统中各进程页面数的总和为:
s=Zs
又假定系统中可用的内存块总数为m,则每个进程所能分到的内存块数为bi,则有:
bi=(si/s)*m
当然,必须调整bi以使之成为整数且大于指令集合所需要的最小物理块数,并使所有
物理块数不超过m.
优先权法
在实际应用中,为了照顾到重要的、紧迫的作业能尽可能快地完成,应该为其分配较
多的内存空间。通常采用的方法是把内存中可供分配的所有内存块分成两部分:一部分按
比例分配给各个进程,而另一部分则根据各进程的优先权,适当增加其相应的份额后,分
配给各个进程。在有的系统中,如重要的
实时控制系统
,则可能要完全按优先权为各个进
程分配内存块。
参考资料
最新修订时间:2023-05-29 23:52
条目作者
小编
资深百科编辑
目录
概述
平均分配
按比例分配
参考资料
Copyright©2024
闽ICP备2024072939号-1