Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sincronismo de Processos e Threads, MAPA MENTAL 6 Disciplina: SO 2025/1 …
Sincronismo de Processos e Threads
Conceitos Iniciais
Processo Cooperativo
Pode
Afetar
Outros processos em execução
Ser afetado
Compartilham diretamente espaço de endereços lógicos
Pode resultar em inconsistência de dados
Consistência dos Dados
Necessário
Mecanismos de controle
Garantem execução ordenada dos processos cooperativos
Evitam inconsistência nos dados
Antecedentes
Problema do Produtor/Consumidor
Paradigma para processos cooperativos
Produtor pode produzir enquanto consumidor está consumindo
Necessário sincronização
Condição de Corrida
Pode levar a comportamento inesperado
Problema da Seção Crítica
Trecho de código que altera dados compartilhados
Requer controle de acesso
Apenas 1 processo por vez pode estar na SC
Requisitos obrigatórios de uma boa solução
Exclusão Mútua
Apenas um processo por vez na RC
Outros processos são bloqueados
Progresso
Apenas processos interessados participam da decisão
Já passou pela RC
Não influencia nem bloqueia outros processos
Espera Limitada
Nenhum processo espera para sempre para entrar na RC
Garantia de "Justiça"
Kernel COM ou SEM Preempção?
Com preempção
Vantagens
Melhor capacidade de resposta
Adequado para programação em tempo real
Desvantagens
Maior risco de condições de corrida
Difícil de projetar em arquiteturas SMP
Sem preempção
Livre de condições de corrida
Pior tempo de resposta
Soluções para o Problema da Seção Crítica
Tipos de Soluções
Soluções de Hardware
Inibição de interrupções
Instrução TSL
Soluções de software com busy wait
Variável de bloqueio
Alternância estrita
Algoritmo de Decker
Algoritmo de Peterson
Soluções de software com bloqueio
Sleep/Wakeup
Semáforos
Monitores
Busy wait
Espera ativa ou espera ocupada
Desperdício de tempo de CPU
MAPA MENTAL 6
Disciplina: SO 2025/1
Aluno: Arthur de Moraes Andrade Corrêa