Sistemas Operacionais
Monografias: Sistemas Operacionais. Pesquise 862.000+ trabalhos acadêmicosPor: GabrielFelix • 17/3/2015 • 507 Palavras (3 Páginas) • 283 Visualizações
Threads: são linhas de execução em um mesmo processo (simultaneamente), atividades dispostas sequencialmente. São mais fáceis de criar e destruir do que um processo, ajudando no desempenho. Só não resulta um bom desempenho quando todos são CPU bounds. Quando há grande quantidade de computação e e/s, as atividades são sobrepostas e aceleram a aplicação. Compartilham as mesmas instruções e espaço de endereçamento.
Uma tabela de threads deve armazenar informações individuais do fluxo de execução (TCB)
1. O endereço da pilha
2. O contador de programa
3. Registrador de instruções
4. Registradores de dados, endereços, flags;
5. Endereços das threads filhas;
6. Estado de execução.
Multithread:
Economia
Responsividade: programa continua em execução mesmo com parte dele estando bloqueada.
Compartilhamento de recursos: compartilham memoria e recursos do processo a qual pertence, varias threads de atividades diferente dentro do mesmo espaço de endereços
Utilização de arquiteturas multi processadas: múltiplas threads em maquina de múltiplas CPU aumenta a concorrência
Modelo de thread clássico: agrupamento de recurso e execução
Espaço de endereçamento: quem contém código e os dados do programa
Recursos: podem ser arquivos abertos, processos filhos, manipuladores de sinal
Execução:
Contador de programa: controla quem será o próximo a executar
Registradores: mantem as variáveis de trabalho atuais
Histórico da execução
Processos agrupam recursos
Threads: entidade escalonada
Uma thread é uma unidade básica de utilização de CPU
É composta de:
• ID de thread
• Contador de programa
• Registradores
• Pilha
• Compartilha com outras thread pertencentes ao mesmo processo
• Seção de código
• Seção de dados
• E outros recursos do sistema operacionais como arquivos abertos e sinais
Modos em ambientes multithread
Modo usuário (biblioteca): kernel não é informado sobre os pacotes porque o thread está dentro do espaço do usuário. Vantagem: pode ser implementado em um SO que não suporta
...