A program is the blueprint for running different processes, consisting of a set of instructions that are executed by the CPU.
When a program is loaded into memory, it becomes a process, which is a running instance of the program managed by the operating system.
A thread is the smallest unit of execution within a process, sharing the same memory with other threads and allowing parallel execution on different CPU cores.
Understanding the differences between programs, processes, and threads is crucial for understanding OS concepts and optimizing system performance.