Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Matemática e Estatística
 
Ciência da Computação
 
Disciplina: MAC0438 - Programação Concorrente
Concurrent Programming

Créditos Aula: 4
Créditos Trabalho: 0
Carga Horária Total: 60 h
Tipo: Semestral
Ativação: 01/01/2021 Desativação:

Objetivos
Apresentar problemas clássicos de programação concorrente baseada no compartilhamento de variáveis e em troca de mensagens. Ensinar mecanismos de comunicação e sincronização entre processos/objetos concorrentes.
 
To present classic problems of concurrent programming based on the sharing of variables and in exchange of messages. To present communication and synchronization mechanisms between concurrent processes/objects.
 
 
Docente(s) Responsável(eis)
84710 - Alfredo Goldman Vel Lejbman
7410229 - Daniel Macedo Batista
 
Programa Resumido
Processos, concorrência, mecanismos de sincronização (conceitos e implementação) e problemas clássicos de programação concorrente.
 
Processes, concurrency, synchronization mechanisms (concepts and implementation) and classic problems of concurrent programming.
 
 
Programa
Conceitos básicos: processos, threads, interrupções, escalonamento. Aspectos de implementação e concorrência. Propriedades de segurança e imparcialidade. Modelos de concorrência. Semântica e implementação de mecanismos de sincronização. Problemas de programação concorrente: deadlock, alocação de recursos, leitura e escrita concorrente, exclusão mútua, consenso. Semântica e implementação de mecanismos de comunicação. Programação concorrente em UNIX. Algoritmos baseados em variáveis compartilhadas: Dijkstra, Peterson, consenso. Algoritmos baseados em envio de mensagens.
 
Basic concepts: processes, threads, interruptions, scheduling. Implementation and concurrency aspects. Safety and impartiality properties. Concurrency models. Semantics and implementation of synchronization mechanisms. Concurrent programming problems: deadlock, resource allocation, concurrent reading and writing, mutual exclusion, consensus. Semantics and implementation of communication mechanisms. UNIX concurrent programming. Algorithms based on shared variables: Dijkstra, Peterson, consensus. Algorithms based on messages exchange.
 
 
Avaliação
     
Método
Média ponderada de provas e exercícios.
Critério
A média geral deve ser maior ou igual a 5 para aprovação.
Norma de Recuperação
Em caso de média geral maior ou igual a 3 e menor que 5, a nova média geral consiste de uma média ponderada entre a média geral e uma prova de recuperação.
 
Bibliografia
     
Bibliografia Básica: G.R. Andrews, "CONCURRENT PROGRAMMING: PRINCIPLES AND PRACTICE", Benjamin Cummings, 1991. Bibliografia Complementar: W.R. Stevens, "UNIX NETWORK PROGRAMMING", Prentice Hall, 1990.
 

Clique para consultar os requisitos para MAC0438

Clique para consultar o oferecimento para MAC0438

Créditos | Fale conosco
© 1999 - 2021 - Superintendência de Tecnologia da Informação/USP