When you start a program, the system creates a new process in memory. A process is the set of resources that comprise a running program. These include the virtual address space, file handles, and a host of other things required for the program to run.
Inside the process, the system creates a kernel object, called a thread, which represents the actual executing program. (Thread