/* * Vários processos e muitas páginas. Major page faults? */ #include #include #include #include #include #define PAGESIZE 4096 #define N 100000 char mat[N][PAGESIZE]; void passeio(char c) { int i, j; for (i = 0; i < N; i++) for (j = 0; j < PAGESIZE; j++) mat[i][i%PAGESIZE] = c; } int main() { struct rusage uso0, uso1, uso2; fork(); fork(); fork(); getrusage(RUSAGE_SELF, &uso0); passeio('*'); getrusage(RUSAGE_SELF, &uso1); sleep(10); passeio('-'); getrusage(RUSAGE_SELF, &uso2); if (uso2.ru_majflt > 0) printf("Falhas de página com ida ao disco: %d\n", uso2.ru_majflt); return 0; }