Multiprogramação. Multitarefa. Execução concorrente. Recursos compartilhados e exclusão mútua. Regiões críticas. Coordenação de processos e threads. Semáforos. Monitores. Troca de mensagem. Programação concorrente orientada a objeto. Deadlock. Modelos de computação concorrente.
3. Cursos Relacionados
CIÊNCIAS DA COMPUTAÇÃO (208) - Currículo: 2007-1 (Obrigatória)
4. Objetivos
4.1 Objetivo Geral:
Compreender os princípios gerais da programação concorrente.
4.2 Objetivos Específicos:
Entender a importância atual do conhecimento da computação concorrente.
Conhecer os principais conceitos, problemas e ferramentas da programação concorrente.
Exercitar a elaboração de programas concorrentes.
5. Conteúdo Programático
Introdução [08 horas-aula]
Fundamentos de Programação Concorrente [24 horas-aula]
Processos
Threads
Exclusão Mútua
Semáforos
Deadlocks
Tecnologias para Programação Concorrente [30 horas-aula]
APIs para o Desenvolvimento de Aplicações Paralelas
Concorrência em Linguagens Orientadas a Objetos
Modelagem de Programas Concorrentes [10 horas-aula]
6. Bibliografia Básica
TANENBAUM, Andrew S. Sistemas operacionais modernos. 3. ed. Rio de Janeiro: Pearson Prentice Hall, 2010. xiii, 653 p. ISBN 9788576052371.
RAUBER, Thomas; RÜNGER, Gudula. Parallel Programming for Multicore and Cluster Systems. 1st ed. Berlin: Springer Berlin Heidelberg, 2010. x, 456 p. ISBN 9783642048180.
RENÉ, David; ALLA, Hassane. Discrete, Continuous, and Hybrid Petri Nets. 2 ed. Berlin: Springer Berlin Heidelberg, 2010. xxii, 550 p. ISBN 9783642106699.
7. Bibliografia Complementar
OLIVEIRA, Rômulo Silva de; CARISSINI, Alexandre da Silva; TOSCANI, Simão Sirineo. Sistemas operacionais. 4. ed. Porto Alegre: Bookman, 2010. xii, 374 p. (Livros didáticos ; 11). ISBN 9788577805211.