The kernel allocates a task_struct for the child process. The task_struct contains all necessary information about the process such as PID, state, scheduling information, and pointers to the memory and file descriptor tables. The child process inherits the parent's open file descriptors. The kernel increases the reference count for each file descriptor to reflect that multiple processes now reflect these resources.