最小物理块数的确定
最小物理块数是确保进程能够正常运行所需的最少物理块数量。它是一个基础保障值,若分配的物理块数少于这个值,进程可能因无法完整加载必要页面而无法正常执行。例如,一个简单程序可能至少需要 3 个物理块来存放关键代码和数据页,少于 3 块就无法启动或运行出错 。
物理块的分配策略
- 固定分配 局部置换:给每个进程分配固定数量的物理块,在进程运行过程中,若需要调入新页而物理块已满,只能从该进程已分配的物理块中选择一页置换出去。这种策略简单,易于管理,但缺乏灵活性。比如给进程 A 分配了 5 个物理块,当它需要调入新页时,只能在这 5 个块中选择置换页 。
- 可变分配 全局置换:系统为进程动态分配物理块,当某进程发生缺页时,从整个系统的空闲物理块中分配,若系统无空闲物理块,则从所有进程的物理块中选择一页置换(全局范围 )。这种策略能更好地适应进程运行时的内存需求变化,但管理相对复杂,可能导致某些进程分配的物理块过多或过少 。
- 可变分配 局部置换:结合了前两者优点,给进程动态分配物理块,进程缺页时,仅在该进程已分配的物理块范围内进行置换。系统会根据进程的缺页情况动态调整其物理块数量,既能满足进程需求,又能较好地控制分配范围 。
物理块分配算法
- 平均分配算法:将系统中所有可用物理块平均分配给各个进程。但这种方法没有考虑进程实际需求差异,可能导致大进程资源不足,小进程资源浪费 。
- 按比例分配算法:根据各进程页面总数在所有进程页面总数中所占比例,来分配物理块。公式中,
计算所有进程页面总和,
用于计算每个进程能分到的物理块数(Si 是第i个进程页面数,m 是系统可用物理块总数 )。这样能相对合理地按需求分配物理块 。
- 考虑优先权的分配算法:在分配物理块时,除考虑进程页面需求,还结合进程的优先权。高优先权进程可获得更多物理块,保障其运行效率和响应速度,兼顾了系统资源分配的公平性与重要进程的优先性 。