The concept of a process is fundamental to any multiprogramming operating system. A process is usually defined as an instance of a program in execution. They are often called tasks or threads in Linux source code.
struct task_struct
To manage processes, the kernel must have a clear picture of what each process is doing. It must know, for instance, the process’s priority, whether it is running on a CPU or blocked on an event, what address space has been assigned to it, which files it is allowed to address, and so on. This is the role of the process descriptor, a task_struct type structure whose fields contain all the information related to a single process.