#include #include #include #define N 1100000000 void do_float() { int i, n = N; double k = 0; for(i = 0; i < n; i++) { k++; } } void do_io() { int i; for(i = 0; i < 7000000; i++) inb(0x378); } main() { int status; struct timeval a, b; gettimeofday(&a, 0); iopl(3); if(fork() == 0) { run_on_cpu(0); do_float(); printf("do_float over...\n"); } else { run_on_cpu(1); do_io(); printf("do_io over...\n"); wait(&status); printf("coming out of wait...\n"); gettimeofday(&b, 0); printf("%u, %u\n", a.tv_sec, a.tv_usec); printf("%u, %u\n", b.tv_sec, b.tv_usec); } }