Problem
I. Describe the differences between the scheduling algorithms; short-term, medium-term, and long-term.
II. Describe the actions a kernel must perform to context-switch between processes.
III. How many processes will be created when the following code is executed?
int main() {
fork();
fork();
fork();
}
IV. Explain why a multi-threaded application would work well for a producer/consumer problem.
V. Which of the following components of program state are shared across threads in a multi-threaded process?
i. Register values
ii. Heap memory
iii. Global variables
iv. Stack memory