Sistema operacional
Resposta: Ambiente multithread, 2- Como o usao de threads pode melhorar o desempenho de aplicações paralelas em ambientes com múltiplos processadores?
Resposta: As vantagens oferecidas em ambientes com múltiplos processadores podem ser aproveitadas em aplicações multithread, dispensando qualquer preocupação por parte dos desenvolvedores. O escalonamento é realizado com base na prioridade de cada thread, sendo selecionado aquele com maior prioridade. Dessa forma, o programador pode determinar níveis de prioridade das threads em função da importância de cada uma. Aplicações que podem ser naturalmente paralelizadas, como ordenação e pesquisa, obtém ganhos de desempenho por serem executadas em múltiplos processadores simultaneamente.
3- Como funciona o Scheduler Activations?
Resposta: Os problemas apresentados no pacote de threads híbrido existem devido a falta de comunicação entre os threads em modo usuário e modo kernel. O modelo ideal deveria utilizar as facilidades do pacote em modo kernel com o desempenho e flexibilidade do modo usuário.
Introduzido no início da década de 90, na Universidade de Washington, este pacote combina o melhor do dois mundos, mas ao contrário de multiplexar os threads em modo usuário entre os de modo kernel, o núcleo do sistema troca informações com a biblioteca de threads utilizando uma estrutura de dados chamada scheduler activation.
A maneira de alcançar um melhor desempenho é evitar a mudanças de acessos (usuário-kernel-usuário) desnecessárias. Caso um thread utilize uma chamada ao sistema que o coloque no estado de espera, não é necessário que o kernel seja ativado. Basta que a própria biblioteca em modo usuário possa escalonar outro thread. Isto é possível porque a biblioteca em modo usuário e o kernel se comunicam e trabalham de forma cooperativa. Cada camada implementa seu escalonamento de forma independente, porém trocando informações