驻留集
驻留集:指请求分页存储管理中给进程分配的物理块(内存块)的集合,在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小
假设某进程共有100个页面,则该进程的驻留集大小为100时进程可以全部放入内存,运行期间不可能再发生缺页。若驻留集大小为1,则进程运行期间必定会极频繁的缺页
若驻留集太小,会导致缺页频繁,系统要花大量的时间来处理缺页,实际用于进程推进的时间很少
若驻留集太大,又会导致多道程序并发度下降,资源利用率降低。所以应该选择一个合适的驻留集大小
页面分配、置换策略
固定分配:操作系统为每个进程分配一组固定数目的物理块,在进程运行期间不再改变,即驻留集大小不变
可变分配:先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的增加或减少,即驻留集大小可变
局部置换:发生缺页时只能选进程自己的物理块进行置换
全局置换:可以将操作系统保留的空闲物理块分配给缺页进程,也可以将别的进程持有的物理块置换到外存,再分配给缺页进程
⭐️没有固定分配的全局置换:全局置换意味着一个进程拥有的物理块数量必然会改变,因此不可能是固定分配
固定分配局部置换
可变分配全局置换
系统会锁定一些页面,这些页面中的内容不能置换出外存(如重要的内核数据可以设为“锁定”)
可变分配局部置换(该策略最好)
可变分配全局置换:只要缺页就给分配新物理块
可变分配局部置换:要根据发生缺页的频率来动态的增加或减少进程的物理块
何时调入页面
从何处调入页面
系统拥有足够的对换区空间:页面的调入、调出都是在内存与对换区之间进行,这样可以保证页面的调入、调出速度很快。在进程运行前,需将进程相关的数据从文件区复制到对换区
系统缺少足够的对换区空间:凡是不会被修改的数据都直接从文件区调入,由于这些页面不会被修改,因此换出时不必写回磁盘,下次需要时再从文件区调入即可。对于可能被修改的部分,换出时需写回磁盘对换区,下次需要时再从对换区调入
UNIX方式:运行之前进程有关的数据全部放在文件区,故未使用过的页面,都可从文件区调入。若被使用过的页面需要换出,则写回对换区,下次需要时从对换区调入
抖动(颠簸)现象
工作集
根据工作集来分配驻留集: