我尝试了一个与操作系统相关的问题。但我不明白这是怎么回事。
问题是
操作系统为每个进程分配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;
}a.如果二维数组中的x存储在虚拟地址1000处,那么x1的虚拟地址是什么
My ans was 2000b.程序员注意到,通过修改上述程序的一行,他可以减少磁盘读取次数。修改这一行。
有人能给我解释一下这个问题吗
发布于 2013-06-15 13:08:09
我认为将内部语句更改为
x[i][j]=125;将减少驱动器上的写入。您将按顺序设置内存,而不是到处跳来跳去。
https://stackoverflow.com/questions/17120347
复制相似问题