Processes and Threads
A full process includes numerous things:
- an address space (defining all the code and data pages)
- OS resources and accounting information
- a “thread of control”, which defines where the process is currently executing (basically, the PC and registers)
Creating a new process is costly, because of all of the structures (e.g., page tables) that must be allocated
Communicating between processes is costly, because most communication goes through the OS