页面分配策略
标签: 操作系统
学习人数: 15.8k

在请求分页存储管理系统中,可以采用两种页面分配策略,即固定分配和可变分配。在进行页面置换时,也可以采用两种策略,即全局置换和局部置换。

固定分配局部置换:为每一个进程分配一定数目的物理块,这个数目是确定的,进程运行期间都不会改变,若进程在运行中发生缺页,则只能从该进程在内存中的页面中选出一页换出,然后再调入需要的页面。实现这种策略难以确定每个进程应分配的物理块数目:太少会频繁出现缺页中断,太多又会使CPU和其他资源利用率下降。

可变分配全局置换:操作系统维护一个空闲物理块队列,每次有进程缺页时都从空闲物理块队列上取下一个分配给它,如果系统中已经没有空闲的物理块了,那么系统将有可能调出任何进程中的其中一页。这种方法比固定分配局部置换更加灵活,可以动态增加进程的物理块,但也存在弊端,它盲目地给进程增加物理块,将会导致系统多道程序并发能力下降。

可变分配局部置换:它为每个进程分配一定数目的物理块,当某进程发生缺页时,只允许该进程在内存的页面中选出一页换出,这样就不会影响其他进程的运行。如果进程在运行过程中频繁地缺页,系统再为该进程分配若干物理块,直至该进程缺页率趋于适当程度;反之,若进程运行中缺页率特别低,则可适当减少分配给该进程的物理块。它需要更复杂的实现,也需要更大的开销,但是比频繁地换入换出所浪费的计算机资源,这种牺牲是值得的。

 

2.调入页面的时机

预调页策略:该策略是指将预计不久之后会被用到的页面一并调入到内存,尽管暂时它们还没被用到。在程序启动时,如果程序员能指出哪些页面是首先应该被调入的,并把它们放一起,那么通过预调页策略就可以一次性把它们调入内存,从而可以节省不少时间。一次调入若干相邻的页可能会比一次调入一页更高效。

请求调页策略:一个页面只有在被用到时才被调入到内存中,否则就放在外存中。这种调页方式在一个进程刚启动时会频繁地出现缺页中断,这是因为一开始内存中没有该进程的任何页面。缺点在于每次只调入一页,调入调出页面数多时会花费过多的I/O开销。容易产生抖动现象。

预调页就是运行前调入,请求调页实际上就是运行期间调入。一般情况下,两种调页策略会同时使用。

 

3.从何处调入页面

请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区,对换区通常是采用连续分配方式,而文件区采用离散分配方式,故对换区的磁盘I/O速度比文件区的更快。每当发生缺页请求时,系统应从何处将缺页调入内存,可分成如下3种情况:

 

登录查看完整内容


课后作业


登录后开始许愿

暂无评论,来抢沙发