在请求分页管理系统中, 一个程序的页面走向为:1,2,3,4,1,3,4,2,5,2,4,1,设分配给该程序的存储块为4,分别采用FIFO算法和LRU页面置换算法,请计算缺页次数和缺页率。
时间: 2023-08-19 19:47:06 浏览: 68
好的,根据您提供的页面走向和存储块数,我们来分别计算FIFO算法和LRU算法的缺页次数和缺页率。
FIFO算法:
首先,初始化4个存储块为空。按照页面走向依次访问每个页面,如果该页面已经在存储块中,则不会发生缺页,否则就需要进行页面置换。
第1个页面1,存储块为空,发生缺页,缺页次数为1,将页面1放入第1个存储块中。
第2个页面2,存储块为空,发生缺页,缺页次数为2,将页面2放入第2个存储块中。
第3个页面3,存储块为空,发生缺页,缺页次数为3,将页面3放入第3个存储块中。
第4个页面4,存储块为空,发生缺页,缺页次数为4,将页面4放入第4个存储块中。
第5个页面1,页面1已经在存储块中,不发生缺页。
第6个页面3,页面3已经在存储块中,不发生缺页。
第7个页面4,页面4已经在存储块中,不发生缺页。
第8个页面2,页面2已经在存储块中,不发生缺页。
第9个页面5,存储块已满,发生缺页,缺页次数为5,按照FIFO算法,将第1个存储块中的页面1进行置换,将页面5放入第1个存储块中。
第10个页面2,页面2已经在存储块中,不发生缺页。
第11个页面4,页面4已经在存储块中,不发生缺页。
第12个页面1,页面1已经在存储块中,不发生缺页。
综上所述,FIFO算法的缺页次数为5,缺页率为5/12=41.67%。
LRU算法:
同样地,初始化4个存储块为空。按照页面走向依次访问每个页面,如果该页面已经在存储块中,则不会发生缺页,否则就需要进行页面置换。但是,LRU算法在置换页面时会优先选择最近最久未使用的页面进行置换。
第1个页面1,存储块为空,发生缺页,缺页次数为1,将页面1放入第1个存储块中。
第2个页面2,存储块为空,发生缺页,缺页次数为2,将页面2放入第2个存储块中。
第3个页面3,存储块为空,发生缺页,缺页次数为3,将页面3放入第3个存储块中。
第4个页面4,存储块为空,发生缺页,缺页次数为4,将页面4放入第4个存储块中。
第5个页面1,页面1已经在存储块中,不发生缺页。
第6个页面3,页面3已经在存储块中,不发生缺页。
第7个页面4,页面4已经在存储块中,不发生缺页。
第8个页面2,页面2已经在存储块中,不发生缺页。
第9个页面5,存储块已满,发生缺页,缺页次数为5,按照LRU算法,选择最近最久未使用的页面1进行置换,将页面5放入第1个存储块中。
第10个页面2,页面2已经在存储块中,不发生缺页。
第11个页面4,页面4已经在存储块中,不发生缺页。
第12个页面1,页面1已经在存储块中,不发生缺页。
综上所述,LRU算法的缺页次数为5,缺页率为5/12=41.67%。
因此,FIFO算法和LRU算法在该页面走向下的表现是一样的,都有相同的缺页次数和缺页率。