操作系统虚拟存储器的一道经典练习题 int a[100][100]

本文通过分析两种不同遍历方式的程序A和B,探讨了它们在特定虚拟存储系统中的缺页次数。程序A按行遍历,而程序B按列遍历。在相同条件下,程序A发生缺页50次,程序B则高达4901次。文章进一步讨论了不同的页面置换机制如何影响缺页次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个矩阵 int a[100][100],以行为先进行存储。假设有一个虚拟存储系统,物理内存有3页,其中1页用来存放程序,其余2页用于存放数据。

程序A
for (i=0;i<=99;i++)
for(j=0;j<=99;j++)
a[i][j]=0;
程序B
for(j=0;j<=99;j++) 
for (i=0;i<=99;i++) 
a[i][j]=0;
若每页可存放200个整数,程序A和程序B的执行过程各会发生多少次缺页?



答案:程序A缺页50次,程序B缺页4901次。


只讲B.  看下图:


这个程序还和调度算法有关。 上面讲的是缺页最少的情况。

如果采用FIFO页面置换机制,则缺页数为5000

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值