PublicouMarcela Cabana Alterado mais de 4 anos atrás
Implementação em espaço de usuário: Problemas: Como permitir chamadas bloqueantes se as chamadas ao sistema são bloqueantes e essa chamada irá bloquear todas as threads? Mudar a chamada ao sistema para não bloqueante, mas isso implica em alterar o SO -> não aconselhável Verificar antes se uma determinada chamada irá bloquear a thread e, se for bloquear, não a executar, simplesmente mudando de thread
17 Page fault Se uma thread causa uma page fault, o kernel, não sabendo da existência da thread, bloqueia o processo todo até que a página que está em falta seja buscada Se uma thread não liberar a CPU voluntariamente, ela executa o quanto quiser Uma thread pode não permitir que o processo escalonador do processo tenha sua vez
18 Tipos de Threads Tipos de threads:
19 Threads em modo kernel
20 Threads em modo Usuário x Threads em modo Kernel
21 Threads em modo kernel Vantagem: Desvantagem:
24 Threads Modelos Multithreading Threads em modo usuário
25 Questionário O que é threading e quais os seus principais beneficios?
Como funciona as threads em modo usuário ? Como funciona as threads em modo kernell ? Como funciona em um modelo multithreading ?