OS and Processes Prep
Overview
The last section of the course will be focused on how the various larger specialized software systems work. We’ll start with thinking a little bit about how your computer’s operating system manages all those programs that you are running.
Basic Learning Objectives
Before class, you should be able to:
- Explain the idea of an interrupt-driven system
- Explain what the
forkcall does
Advanced Learning Objectives
- Predict the behavior of a program with multiple fork calls
- Implement a simple process handling system
Resources
Read the following:
Checks
Submit your answer to the following on Moodle.
Given the following code, write out two of the possible orderings of the printed output.
#include <stdio.h>
#include <stdlib.h>
#include <sys/_types/_pid_t.h>
#include <unistd.h>
int main() {
printf("charmander\n");
pid_t pid = fork();
printf("squirtle\n");
if (pid != 0) {
printf("pikachu\n");
}
else {
printf("bulbasaur\n");
}
printf("pidgey\n");
return 0;
}