-
Certo, considerando as threads em modo usuário.
Há dois tipos de threads
• Thread em nível de “usuário”:
– Uma biblioteca dá suporte a criação, escalonamento…, que executa em modo usuário;
– O núcleo não interfere nas threads e nem sabe de sua existência;
– Vantagens: muito rápidas de gerenciar, pois não necessitam do núcleo (chamada de sistema…);
– Exemplo: bibliotecas Pthreads (POSIX), threads de SOLARIS.
• Thread em nível de “núcleo” (kernel):
– O núcleo oferece suporte a threads;
– Mais lento em virtude de despender recursos para o seu gerenciamento;
– O SO pode escalonar mais eficientemente as threads, inclusive em máquinas multi-processadas;
– Exemplo: Windows, Solaris, Linux.
-
Assertiva CORRETA.
Complementando o comentário do Lucc:
- threads de usuário: o núcleo não as reconhece. Quem gerencia é o sistema supervisor;
- threads de núcleo: o núcleo as reconhece e pode escaloná-las.
-
Certo
Escalonador de Processos escolhe o processo que será executado pela CPU; O escalonamento é realizado com o auxílio do hardware; O escalonador deve se preocupar com a eficiência da CPU, pois o chaveamento de processos é complexo e custoso: Ele afeta desempenho do sistema e satisfação do usuário; O escalonador de processo é um processo que deve ser executado quando da mudança de contexto (troca de processo);
-
Certo, as threads podem ser em nível de usuário, kernel ou híbridas. Quando de usuário, fica a cargo do programa gerenciar as threads, o SO vê e escalona apenas o processo. De kernel o SO escalona as threads. Em híbrido, N threads de usuário são mapeadas em M threads de kernel, e assim o escalonamento acaba sendo feito de forma híbrida também