Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Concorrência e Paralelismo: Uma Introdução aos Conceitos Essenciais, Slides de Sistemas Operacionais

Uma introdução clara e concisa aos conceitos de concorrência e paralelismo em sistemas computacionais. Explica a diferença entre os dois, aborda a importância do gerenciamento de threads e destaca a necessidade de mecanismos de sincronização para evitar problemas como race conditions e deadlocks. Ideal para estudantes que estão iniciando seus estudos em ciência da computação e desejam entender os fundamentos da execução simultânea de tarefas.

Tipologia: Slides

2024

Compartilhado em 07/03/2025

Misael_Lopes
Misael_Lopes 🇦🇴

4.3

(3)

8 documentos

1 / 13

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Pré-visualização parcial do texto

Baixe Concorrência e Paralelismo: Uma Introdução aos Conceitos Essenciais e outras Slides em PDF para Sistemas Operacionais, somente na Docsity!

  • Uma race condition ocorre em sistemas concorrentes quando a saída de um programa depende da ordem de execução de instruções por múltiplos threads ou processos.
  • Se dois ou mais threads acessam e manipulam dados compartilhados sem mecanismos adequados de sincronização

Race Condition

  • (^) Um deadlock ocorre quando dois ou mais processos não conseguem progredir porque cada um está esperando que o outro libere um recurso.
  • (^) É uma situação em que um grupo de processos fica impedido de continuar devido à dependência circular de recursos.

Deadlocks

  • Execução simultânea de várias tarefas em um sistema.
  • Diferentes partes de um programa podem ser executadas em paralelo, aumentando a eficiência e a capacidade de resposta do sistema.

Concorrência

  • execução simultânea real de várias tarefas, geralmente em hardware que suporta múltiplos processadores ou núcleos.
  • Em um sistema paralelo, diferentes partes de um programa são executadas ao mesmo tempo, proporcionando um aumento significativo no desempenho.

Paralelismo

Paralelismo

  • (^) Agora, quando falamos de paralelismo, é como se tivéssemos mais de uma pessoa executando tarefas ao mesmo tempo. Se você tem duas ou mais cores na CPU, isso representa a capacidade real de realizar operações simultâneas. Com paralelismo, duas tarefas concorrentes, como threads, podem ser executadas verdadeiramente ao mesmo tempo. Isso é especialmente evidente em CPUs com capacidade para múltiplas threads.

Concorrência vs

Paralelismo

  • Independentemente de ter uma CPU com apenas uma thread ou várias, ainda precisamos de um scheduler. Isso ocorre porque o número de threads concorrentes gerenciadas pelo seu programa pode exceder o número de cores físicas disponíveis para executá-las.
  • O scheduler, como já vimos, decide qual thread deve ser executada em qual momento, otimizando o uso dos recursos disponíveis.

Concorrência vs

Paralelismo

Obrigado!