THREADS SOLARIS
Solaris 2 é uma distribuição do UNIX com suporte: threads ao nível do usuário; threads ao nível do kernel*; threads ao nível Intermediário ou LWPs e; multiprocessamento simétrico ou SMP*. kernel* (É o grande responsável por fazer a interação entre as camadas de hardware e software do computador. Em outras palavras, é ele quem garante que todos os programas terão acesso aos recursos de que necessitam.)
SMP* (ocorre em um sistema computacional com vários processadores com memória compartilhada sob controle de um único sistema operacional.)
Threads no nível do usuário
Threads a nivel do usuario, são implementadas pela aplicação e não pelo sistema operacional, ou seja, são suportados por uma biblioteca de rotinas para a relalização de tarefas, como criação e eliminação de threads, na qual neste nivel o S.O. não sabe da existencia dessas threads sendo responsabilidade exclusiva da aplicação de gerenciar e sincronizar as threads existentes.
Threads de usuário podem ser vinculados ou desvinculados. Um segmento em nível de usuário em andamento é permanentemente ligado a um LWP. Só esse segmento é executado no LWP, e por solicitação do LWP pode ser dedicado a um único processador (veja a linha mais na figura abaixo).
Threads ao nível do kernel
Threads a nível do kernel são implementadas diretamente pelo núcleo do S.O., através das rotinas do sistema que oferecem todas as funções de gerenciamento e sincronização.
No Solaris 2 uma tarefa não deve ser bloqueada simplesmente, porque o processador (CPU) é livre para executar outros processos. Alternando entre si, threads do kernel não precisam trocar informações de acesso de memória e, portanto, threads de núcleo são relativamente rápidas e eficientes.
Threads ao nível Intermediário
Os processos leves ( LWPs ) estão localizados entre as threads de usuário e threads em nível de kernel. Estes LWPs servem como um "CPU Virtual", onde processos de usuário podem ser executados. Cada