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
2 years ago
|
/*
|
||
|
* 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;
|
||
|
}
|