UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

FORMULÁRIO DE IDENTIFICAÇÃO DA DISCIPLINA
 

UNIDADE: INSTITUTO POLITÉCNICO
DEPARTAMENTO: DEPARTAMENTO DE MODELAGEM COMPUTACIONAL
DISCIPLINA: Sistemas Distribuídos
CARGA HORÁRIA: 90 CRÉDITOS: 5 CÓDIGO: IPRJ01-10786
MODALIDADE DE ENSINO: Presencial TIPO DE APROVAÇÃO: Nota e Frequência
 
STATUSCURSO(S) / HABILITAÇÃO(ÕES) / ÊNFASE(S)
Eletiva RestritaIPRJ - Engenharia de Computação (versão 1)
Eletiva DefinidaIPRJ - Engenharia de Computação (versão 1)

TIPO DE AULA CRÉDITO CH SEMANAL CH TOTAL
Teórica4460
Prática/
Trabalho de Campo
1230
TOTAL 5 6 90

OBJETIVO(S):

Apresentar os conceitos e técnicas de programação concorrente, em especial as usadas em sistemas com memória compartilhada. Os mecanismos clássicos de sincronização serão estudados com ênfase no uso dos mesmos. Apresentar os conceitos básicos dos sistemas operacionais distribuídos e dos sistemas operacionais de redes. Estabelecer as tecnologias básicas que suportam este tipo de computação. Mostrar como os serviços básicos dos sistemas operacionais distribuídos podem ser construídos. Descrever os principais algoritmos distribuídos necessários na implementação de tais serviços. Estudar casos práticos de serviços computacionais distribuídos.
EMENTA:

Introdução à programação concorrente. Conceitos e técnicas de sincronização: condição de corrida, exclusão mútua, sincronização de condição, mutex (locks), semáforos, monitores. Problemas clássicos de sincronização: produtor/consumidor, leitores/escritores e filosófos. Introdução aos sistemas operacionais distribuídos. Modelo cliente-servidor. Troca de mensagens. Chamada remota de procedimento. Comunicação de grupo. Threads. Microkernel. Serviços Distribuídos: Sincronização de relógios e serviços de tempo. Alocação de processadores. Sistemas distribuídos de tempo real. Serviço de nomes. Sistemas de arquivos distribuídos. Transações distribuídas. Deadlocks em ambiente distribuído. Memória compartilhada distribuída. Tolerância a falhas em ambiente distribuído. Segurança em ambiente distribuído. Estudo de Casos: Amoeba, Mach, Chorus, DCE, CORBA, Jini, Windows NT, Linux, Outros.


BIBLIOGRAFIA:

1. ANDREW S. TANENBAUM . Modern Operating Systems. Prentice-Hall, 2nd edition, 2001.
2. COULORIS,G., DOLLIMORE, J., KINDBERG,T. Distributed Systems: Concepts and Design. Addison-Wesley, 3nd ed., 2000.
3. ANDREWS, G. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-wesley, 1o edition, 1999.
4. ANDREW S. TANENBAUM. Distributed Operating Systems. Prentice-Hall, 1nd edition, 1995.
5. ANDREW S. TANENBAUM, MARTIN STEEN VAN. Distributed Systems: Principles and Paradigms. 2001.