1.若系统采用最近最少使用算法目最多分配4个物理页面,初始时页表为空。当该进程的访问页面顺序是1、3、2、4、5、3、1、2,进程运行过程中会发生( )次缺页。
代码:
List=[1,3,2,4,5,3,1,2] #此列表中存放将要访问的页面
n = 4 #最多分配4个物理页面
a_list=[] #此列表用来模拟LRU算法中的主存 最多存放n个数
count=0 #记录缺页数
tag=1 #标记是否缺页
for i in List: #将要访问的列表元素进行循环
if i not in a_list: #如果要访问的元素不在a_list中 即为缺页
count+=1
tag=1
if len(a_list)<n: #如果a_list中没有放满
a_list[len(a_list)::]=[i] #等价于a_list.append(i)将元素i添加到a_list尾部
else: #如果列表满了
a_list[:n-1:]=a_list[1::] #利用切片
a_list[n-1::]=[i] #将i元素放移动后的到列表***
else: #i元素在列表中
tag=0
a_list[a_list.index(i)::]=a_list[a_list.index(i)+1::]
#将i开始和元素后面的元素替换为i元素后面的元素
a_list[len(a_list)::]=[