6. Introduction#

We already described the idea of a process, as a virtual computer that isolates running applications from each other, and discussed a bit how the OS implements that abstraction. We first review the abstraction of a process in more detail and then how the operating system allows multiple processes to execute on a computer while giving each the illusion it has the entire computer to itself. We then discuss the abstraction of threads, which implements the abstraction of a virtual processor. The processor needs to be multiplexed between different applications, we then describe the goals of scheduling and a variety of scheduling algorithms.