Four common events that lead to the creation of a process are:
1) A new batch job
2) An interactive logon
3) Being created by the operating system to provide a service
4) Being spawned by an existing process.
When context switching between processes, the kernel saves the state of the current process, determines the next process to run using the scheduler, and then restores the state of the next process.
A thread is a single sequential flow of control within a process. It shares the process's resources but has its own stack and registers. When a thread is created, a context including a register set and local stack is created.