4) Quais tipos de ‘Threads’ existem e qual a diferença no modo de execução?
Soluções para a tarefa
Respondido por
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
Matemática,
8 meses atrás
Português,
8 meses atrás
Matemática,
8 meses atrás
Ed. Física,
1 ano atrás
Física,
1 ano atrás
Matemática,
1 ano atrás
Matemática,
1 ano atrás