Um encadeamento do kernel, às vezes chamado de LWP (Lightweight Process), é criado e agendado pelo kernel. Os threads do kernel geralmente são mais caros de criar do que os threads do usuário e as chamadas do sistema para criar diretamente os threads do kernel são muito específicas da plataforma.
Um encadeamento do usuário é normalmente criado por uma biblioteca de encadeamento e o planejamento é gerenciado pela própria biblioteca de encadeamento (que é executada no modo de usuário). Todos os threads do usuário pertencem ao processo que os criou. A vantagem dos threads do usuário é que eles são portáteis. A principal diferença pode ser vista ao usar sistemas multiprocessadores, os threads do usuário gerenciados completamente pela biblioteca de threading não podem ser executados em paralelo nas diferentes CPUs, embora isso signifique que eles funcionem bem em sistemas uniprocessadores. Como os threads do kernel usam o agendador do kernel, diferentes threads do kernel podem ser executados em diferentes CPUs. Muitos sistemas implementam threading de maneira diferente,
Um modelo de encadeamento muitos para um mapeia muitos processos do usuário diretamente para um encadeamento do kernel, o encadeamento do kernel pode ser considerado o processo principal. Um modelo de encadeamento um a um mapeia cada encadeamento do usuário diretamente em um encadeamento do kernel; esse modelo permite o processamento paralelo nos sistemas multiprocessadores. Cada encadeamento do kernel pode ser pensado como um VP (processo virtual), gerenciado pelo planejador.
Além disso, você pode encontrar informações na wikipedia, capítulo 3 - 3 Processos, threads do kernel, threads do usuário e fibras: