有一个请求分页式虚拟存储器系统,分配给某进程4个物理块,开始时内存中预装入第1,2,3,4个页面,该进程的页面访问序列为1,2,4,3,2,6,2,1,5,2,6,1。 (1)若采用最佳页面置换算法,则访问过程发生的缺页率为多少? (2)若采用LRU页面置换算法,则访问过程发生的缺页率为多少?
时间: 2023-06-11 08:08:08 浏览: 348
实现虚拟内存的分页系统, 模拟进程调度过中的内存管理
首先,需要知道每个页面在访问之前是否已经在内存中。如果已经在内存中,则不会发生缺页,如果不在内存中,则会发生缺页。
在该进程的页面访问序列中,第一个页面是1,它已经在内存中,不会发生缺页。接下来的页面2也已经在内存中,同样不会发生缺页。页面4也在内存中,不会发生缺页。页面3不在内存中,会发生缺页,此时内存中的页面为1、2、4、3。页面2已经在内存中,不会发生缺页。页面6不在内存中,又会发生缺页,此时内存中的页面为1、2、4、3、6。页面2已经在内存中,不会发生缺页。页面1已经在内存中,不会发生缺页。页面5不在内存中,会发生缺页,此时内存中的页面为2、4、3、6、1、5。页面2已经在内存中,不会发生缺页。页面6已经在内存中,不会发生缺页。页面1已经在内存中,不会发生缺页。
因此,在采用最佳页面置换算法的情况下,访问过程发生的缺页率为2/12=0.167。
接下来考虑采用LRU页面置换算法的情况。在开始时,内存中的页面为1、2、3、4。当访问页面1时,它是最近使用的页面,不会发生置换。当访问页面2时,它成为了最近使用的页面,不会发生置换。当访问页面4时,它成为了最近使用的页面,不会发生置换。当访问页面3时,内存中的页面变为1、2、4、3,此时最近使用的页面依次为3、4、2、1,因此页面1会被置换出去。当访问页面2时,它成为了最近使用的页面,不会发生置换。当访问页面6时,内存中的页面变为2、4、3、6,此时最近使用的页面依次为6、3、4、2,因此页面1会被置换出去。当访问页面2时,它成为了最近使用的页面,不会发生置换。当访问页面1时,内存中的页面变为4、3、6、2、1,此时最近使用的页面依次为1、2、6、3、4,因此页面4会被置换出去。当访问页面5时,内存中的页面变为3、6、2、1、5,此时最近使用的页面依次为5、1、2、6、3,因此页面4会被置换出去。
因此,在采用LRU页面置换算法的情况下,访问过程发生的缺页率为3/12=0.25。
因此,采用最佳页面置换算法时,发生的缺页率比采用LRU页面置换算法时要低。
阅读全文