Container
Problem
VMs provide isolation, but every VM includes an entire operating system.
For many applications that's unnecessarily heavy.
Solution — Container
Containers isolate processes while sharing the host kernel.
The kernel is the core of an operating system: it manages CPU time, memory, and hardware access for applications. For example, when an app reads a file, the kernel checks permissions and retrieves the data through the storage driver.
App A container ─┐ App B container ─┼→ Host kernel App C container ─┘
Core idea: containers provide lightweight application isolation without a separate kernel per application.