Resumo prova
RESUMO
CONCORRÊNCIA
O conceito de concorrência é o princípio básico para o projeto e a implementação de sistemas multiprogramáveis.
PROCESSOS
Nos sistemas multiprogramaveis os processos são executados concorrentemente, compartilhando o uso do processador, memória principal e dispositivos de E/S, dentre outros recursos.
O conceito de processo pode ser definido como sendo o conjunto necessário de informações para que o sistema operacional implemente a concorrência de programas.
THREADS
É uma forma de um processo dividir em duas ou mais tarefas simultâneas.
Significado: Linha de execução.
Thread foi introduzido na tentativa de reduzir o tempo gasto na criação, eliminação e troca de contexto de processos nas aplicações concorrentes, bem como economizar recursos do sistema.
Threads compartilham o processador da mesma maneira de um processo.
Minimiza alocação de recursos do sistema e diminui o overhead.
Existem dois tipos de thread:
Monothread: Para ambiente que permita somente uma thread.
Multithread: Usada em ambiente que permite várias threads, cada processo pode responder a várias solicitações. Existindo mais de um processador as threads podem operar simultaneamente.
O OBJETIVO DA APLICAÇÃO CONCORRENTE Execução cooperativa de múltiplos processos ou threads, que trabalham em uma mesma tarefa na busca do mesmo resultado.
Os mecanismos que garantem a comunicação entre processos concorrentes e o acesso a recursos compartilhados são chamados mecanismos de sincronização.
EXCLUSÃO MÚTUA
Impede que dois ou mais processos acessem um mesmo recurso simultaneamente.
REGIÃO CRÍTICA
Se for garantida a execução mutuamente exclusiva das regiões críticas, os problemas decorrentes do compartilhamento serão evitados.
SINCRONIZAÇÃO CONDICIONAL
É uma situação em que o acesso ao recurso compartilhado exige a sincronização de processos vinculada a uma