-
- o escalonador de processos do sistema operacional...
-
- Acho que o erro consiste de não haver esse escalonamento pelo SO
-
- Linha de execução ao nível do usuário
As ULT são escalonadas pelo programador, tendo a grande vantagem de cada processo usar um algoritmo de escalonamento que melhor se adapte a situação, o sistema operacional neste tipo de thread não faz o escalonamento, em geral ele não sabe que elas existem. Neste modo o programador é responsável por criar, executar, escalonar e destruir a thread. Um exemplo prático de processo chamado P1 que contém tais threads: P1T1, P1T2 e P1T3, quando o sistema operacinal da a CPU para o processo P1 cabe a ele destinar qual thread será executada, caso esta thread use todo processo do quantum, o sistema operacional chamará outro processo, e quando o processo P1 voltar a executar, P1T1 voltará a ser executada e continuará executando até seu término ou intervenção de P1, este comportamento não afetará outros processos pois o sistema continua escalonando os processos normalmente. http://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o)#Escalonamento
-
Acredito que seja exatamente o que o colega João falou, o sistema operacional não sabe da existência de threads a nível de usuário, somente a nível de kernel.
Fonte: http://homepages.dcc.ufmg.br/~humberto/unifal/aulas/so/aula16_Escalonamento2.pdf
-
user level thread - gerenciamento por meio de biblioteca de thread, a aplicação faz o escalonamento
kernel level thread- gerenciamento feito pelo kernel por meio de uma API, aqui o escalonamento é exclusivo do S.O
-
Quando as várias threads em um processo possuem sua linha de execução no nível de usuário, o escalonador de processos do sistema operacional NÃO trata cada thread separadamente, já que o escalonador aloca o mesmo tempo ao processo em execução, independentemente de quantas threads ele possua.
-
Apenas complementando: Quem faz o escalonamento de threads é o próprio escalonador de threads e não o escalonador de processos.
-
Questão errada.
Existem as threads de usuário e suas caracaterísticas são:
- núcleo só conhece os processos. desconhece as threads.
- o quantum é do processo e não existe preempção das threads
- Núcleo trata os processos como se fossem monothread.
Threads de núcleo:
- nucleo conhece a existência das threads e as gerencia (quantum é da thread)
- nucleo possui tabela de processos e de threads
-
Prezados,
O kernel só "enxerga" threads de nível de núcleo. Essa threads tem o escalonamento feito pelo kernel. As threads de usuário não são "enxergadas" pelo kernel , quem faz o escalonamento delas é a aplicação.
Portanto a questão está errada.
-
e-
Em implementação de thread nivel usuario, o processador é monothread. EM nivel kernel, ha multithreading, o qual é mais rapido alternar entre threads do que entre processos