The kernel represents each thread running in the system by a structure of type task_struct
From a scheduling point of view, it makes no difference between the initial thread of a process and all additional threads created dynamically using pthread_create()