Concorrente - Linguagens Concorrentes Linguagens...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Linguagens Concorrentes Linguagens Concorrentes Antonio Francisco do Prado [email protected] Concorrência Concorrência Multiprogramação: usada por um sistema "time-sharing". Um processador compartilhado por diversos processos; Multiprocessamento: vários processadores. Possibilita que múltiplos processos sejam executados em processadores distintos. Memória comum compartilhada para comunicação entre os processos. Processamento Distribuído: também requer processadores separados, mas cada um com sua memória. Processadores conectados via linhas de comunicação. A concorrência é naturalmente dividida em nível de: • instrução (executando duas ou mais instruções de máquina simultaneamente); • comando (executando dois ou mais comandos simultaneamente); e • unidade (executando dois ou mais programas simultaneamente). Concorrência Concorrência Os métodos concorrentes aumentam a flexibilidade de programação e foram criados originalmente para serem usados em problemas particulares dos em sistemas operacionais. Concorrência relaciona-se com fluxo de controle de um programa. Tem-se mais de um fluxo de controle ativo. É diferente da execução seqüencial de programas, onde se tem apenas um fluxo de controle, ou seja, em um determinado momento, existe uma única instrução candidata à execução. Unidades concorrentes podem ser executadas em: • Um único processador ; • Vários processadores que compartilham uma memória; • Vários processadores independentes, sem compartilhamento de memória. Concorrência Concorrência • Reduz o tempo total de processamento através de execução concorrente de diversas unidades; • Aumenta a confiabilidade para aplicações críticas, onde não se torna confiável a execução em um único processador; • Modela soluções que exploram a capacidade de máquinas com múltiplos processadores; • Implementa aplicações distribuídas. Concorrência Concorrência Seção crítica Quando processos concorrentes interagem com variáveis compartilhadas, a integridade destas variáveis pode ser violada se o acesso não for coordenado. Uma seção crítica é um segmento de código de um processo que acessa um recurso compartilhado. Conceitos básicos Conceitos básicos Deadlock É uma situação onde um processo ou um conjunto de processos estão bloqueados, a espera de um evento que nunca irá acontecer. Deadlock • Um deadlock é caracterizado por uma espera circular • Exemplo: o processo P1 está de posse do recurso r1 , e precisa do recurso r2 ; o processo P2 está de posse de r2 e precisa de r1 ; Nesse caso, nenhum dos processos pode prosseguir, pois ambos dependem de recursos que não serão liberados....
View Full Document

This note was uploaded on 04/02/2012 for the course DC 11 taught by Professor Milton during the Spring '12 term at Alaska Pacific University.

Page1 / 128

Concorrente - Linguagens Concorrentes Linguagens...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online