You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
652 B
33 lines
652 B
/*
|
|
* The application of lab3_2.
|
|
* parent and child processes intermittently give up their processors.
|
|
*/
|
|
|
|
#include "user/user_lib.h"
|
|
#include "util/types.h"
|
|
|
|
int main(void) {
|
|
uint64 pid = fork();
|
|
uint64 rounds = 0xffff;
|
|
if (pid == 0) {
|
|
printu("Child: Hello world! \n");
|
|
for (uint64 i = 0; i < rounds; ++i) {
|
|
if (i % 10000 == 0) {
|
|
printu("Child running %ld \n", i);
|
|
yield();
|
|
}
|
|
}
|
|
} else {
|
|
printu("Parent: Hello world! \n");
|
|
for (uint64 i = 0; i < rounds; ++i) {
|
|
if (i % 10000 == 0) {
|
|
printu("Parent running %ld \n", i);
|
|
yield();
|
|
}
|
|
}
|
|
}
|
|
|
|
exit(0);
|
|
return 0;
|
|
}
|