Informática, perguntado por ErickBonruque, 1 ano atrás

4) Quais tipos de ‘Threads’ existem e qual a diferença no modo de execução?

Soluções para a tarefa

Respondido por Eduqz
1

•Kernel Threads: baratos, não são associado com processos de utilizador, e têm a sua própria pilha.

Úteis para AIO e interrupts. Equivalente ao pagedaeomn e a nfsd em Unix.

Lightweight Process: kernel supported user-thread.

Podem fazer syscalls e bloquear.

Podem correr em CPUs diferentes.

Precisam de mais estado do que KT: pilha e contexto de registos. Precisam de syscalls para serem criados, sincronização (para blocking), context switching e escalonamento. Isso obriga a 2 mode switches atravessando protection boundary.

•User Threads: implementados por bibliotecas (C-threads ou pthreads).

Interação é rápida, escalonamento é feito pela aplicação. AIO permite não bloquear thread à custa de complexidade de programação. Ideais para window systems.

Perguntas interessantes