Descrição: O objetivo deste curso é introduzir os problemas clássicos de programação concorrente baseados tanto no compartilhamento de variáveis quanto em troca de mensagens. Serão ensinados mecanismos de comunicação e sincronização entre processos/objetos concorrentes. Alunos desenvolverão experiência prática através da resolução de problemas de concorrência utilizando-se da linguagem C e bibliotecas de primitivas de sincronização.
Horário: terças (8:00-10:40) e sextas (10:00-11:40)
Local: Sala B-4
Pré-requisitos: Conhecimento da linguagem C e noções de implementação de sistemas operacionais.
Bibliografia:
- Gregory R. Andrews, Foundations of Multithreaded, Parallel, and Distributed Programming, Addison-Wesley, 1999.
- Doug Lea, Concurrent Programming in Java, Second Edition: Design Principles and Patterns (The Java Series), Addison-Wesley, 1999.
- M. Ben-Ari, Principles of Concurrent and Distributed Programming, Prentice-Hall International, 2nd Ed., 2006.
- Deitel e Choffness, Sistemas Operacionais, Prentice-Hall, 3a. Ed., 2005.
- A. S. Tanenbaum, Sistemas Operacionais Modernos, Prentice-Hall, 2a. Ed., 2003.
- Professor: Marcel Jackowski
- Professor: Rafael Sampaio