O termo "threads do kernel" pode ser usado para se referir a threads reais que são executados inteiramente no espaço do kernel ou a threads do espaço do usuário agendados pelo kernel. O termo encadeamentos "suportados pelo kernel" significa os últimos, que são executados no espaço do usuário, mas são facilitados pelo kernel, o que geralmente significa que o kernel os agenda.
"Encadeamentos no nível do usuário" geralmente significa encadeamentos visíveis ao espaço do usuário. Ou seja, o que você cria quando chama a função "create thread" do seu padrão de segmentação. Geralmente, o termo "encadeamento no nível do usuário" é usado para significar um encadeamento criado pelo código do aplicativo, independentemente de como ele é implementado pelo sistema. Pode ser um thread puro do espaço do usuário com pouco ou nenhum suporte ao kernel ou pode ser um thread agendado pelo kernel.
O padrão pthreads pode ser implementado como threads do espaço do usuário puro (onde o kernel agenda o processo e o processo agenda os threads), threads suportados pelo kernel (onde o kernel agenda os threads diretamente) ou uma abordagem híbrida (onde o kernel agenda um encadeamento no nível do kernel que, no espaço do usuário, agenda um encadeamento no nível do usuário). O padrão não exige nenhum meio específico de implementação. A implementação mais comum é o mapeamento 1 para 1, onde cada encadeamento no nível do usuário tem um encadeamento correspondente agendado pelo kernel.