Isolation separates program execution or resources so that activity in one task cannot directly interfere with another. Interference includes corrupting memory, saturating the network, or causing disk congestion. section 10.5
Isolated tasks generally have three protections:
- They cannot access another task’s data without permission. Threads in one process share an address space, while processes are prohibited from inspecting one another’s memory. section 10.5
- They cannot easily cause another task to crash. Virtual machines can allow work to continue when another task becomes unstable. section 10.5
- They reduce interference from shared resources, including network capacity, disk saving, and blocked output. section 10.5
Isolation is a spectrum rather than an absolute property. Complete isolation would prevent input and output, while stronger isolation usually requires more software and runtime overhead. Processes share a filesystem; containers add operating-system isolation with separate filesystems and resource namespaces. section 10.5 section 10.5.5
Figure 10.5 Trade-offs relating to different forms of task isolation in computing. In general terms, increasing the isolation level increases the overhead.
Compare forms of task isolation: increasing isolation generally increases overhead. section 10.5







