The process abstraction allows multiple programs and multiple instances of a program to run on the same hardware with no (or, at least, well-defined) interactions among the program instances. The operating system kernel manages processes.
- Introduction to control flow and exceptions as mediated by an operating system kernel.
- How the kernel sets up handlers for exceptions, which ultimately allows the kernel to manage processes.
- A classification of different kinds of exceptions and how each is normally handled by a kernel.
- How the idea of a process allows multiple programs to run on a single machine, and how the kernel rotates among processes through a context switch.
- A brief aside on how context switches imply concurrency.
- Tools for inspecting the set of running process.
- Tools for controlling running processes.
- Process 8: getpid 2:35The getpid system call allows a process to get its system-wide identity, while getppid provides the identity of its creating process.
- How fork allows a process to create a new process (and how, eventually, execve, will let us run other programs as new processes).
- Using a process graph to summarize the sets of processes created by a program and to reason about the resulting concurrency.