我尝试了一个与操作系统相关的问题。但我无法理解发生了什么。
问题是
操作系统为每个进程分配100个内存帧。该系统的页面sie是1000字节。内存是字节可寻址的。程序员注意到,在运行以下程序时,即使没有任何读取或写入文件的指令,计算机也会连续读取硬盘。他还注意到该计划需要很长时间才能完成。
int main()
{
int i,j;
char[1000][1000];
for(i = 0;i<1000;i++)
for(j=0;j<1000;j++)
x[j][i]=125;
return 0;
}
一个。如果二维数组的x [0] [0]存储在虚拟地址1000,那么x [1] [0]的虚拟地址
My ans was 2000
湾程序员注意到,通过修改上述程序的一行,他可以减少磁盘读取次数。修改该行。
任何人都可以向我解释这个问题
答案 0 :(得分:5)
我认为将内部声明更改为
x[i][j]=125;
会减少驱动器上的写入。你要按顺序设置内存而不是跳到那里。