Open Solaris
Essa arquitetura é um importante ponto de partida a partir do modelo tradicional de programação UNIX. No Solaris, as threads do kernel ou kernel threads, é a unidade fundamental de processos já efetuados ou que irá ser realizado. As múltiplas threads permitem que múltiplos fluxo de execução sejam executados dentro de um único ambiente de memória virtual e consequentemente a execução das trocas entre as threads é menos custosa porque nenhuma memória virtual é exigida.
● as threads são usadas para relatar tarefas, para processos em execução e para interrupções de tratamento. Dentro do ambiente do kernel, múltiplas threads estão em execução. Processos também contêm uma ou mais threads, também compartilhando o ambiente de processo de memória virtual. O kernel do OpenSolaris permite dois modos de execução no processador. O modo não-privilegiado, no qual são executados os processos de usuário, e o modo privilegiado, no qual somente os processos do kernel são executados.
● no modo não-privilegiado o processo tem acesso somente a sua parcela de memória de sistema, enquanto que no modo privilegiado o processo têm-se acesso à todas as estruturas de dados do kernel, assim como a todo o hardware do sistema.
● existem três formas de entrar em modo privilegiado:
a. Através de uma system call;
b. Através de uma interrupção;
c. Através de traps.
● os processos são criados pela primitiva de sistema fork. Essa função, ao ser chamada por um processo em execução (processo-pai), cria uma cópia igual desse processo (processo-filho) - um processo-pai pode ter vários processosfilhos e estes também podem ter seus processos-filhos. A partir daí, tanto o processo-pai quanto o processo-filho têm seu próprio espaço de endereçamento. Dessa forma, as variáveis de um não são visíveis ao outro e vice-versa.
● os