Assume the following behaviors in the virtual memory system. Reading or writing physical memory requires 25 nanoseconds. Reading or writing disk writing 25 milliseconds. Page size is 8 kilobytes. Presume that the program has 1 megabyte of physical memory available. You may consider everything except the array access itself to take no time. You should also assume that the first 1 megabyte of the array is in physical memory initially. You may ignore any memory used by the program or stack to execute these functions.
How long does each of the two following functions take to execute?
Both use the same array declared as:
static int data[256*256*8];
void function1()
{
int i;
int j;
for (i = 0; i < 32; i++)
for (j = 0; j < 256; j++)
data[j] = i;
}
void function2()
{
int i;
int j;
for (i = 0; i < 32; i++)
for (j = 0; j < 256; j++)
data[j*2048] = i;
}
Edited by WingedPanther, 11 March 2009 - 11:41 AM.
add code tags (the # button)


Sign In
Create Account

Back to top









