MAC0438  Programação Concorrente

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.

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.

PRÉ-REQUISITO NÃO-OFICIAL:  MAC0122.

CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS:  4 horas, 4 créditos-aula.

CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM:  Provas e trabalhos.

BIBLIOGRAFIA BÁSICA: 

OBSERVAÇÃO:  Disciplina obrigatória no currículo do BCC.

 

[Veja dados da disciplina no JúpiterWeb]


Oferecimentos recentes da disciplina: 1998/1, 2001/1, 2002/1.
DCC | IME-USP | 1998