Descripció
En aquesta assignatura s'amplien alguns dels temes estudiats en
assignatures anteriors, en particular la de Sistemes Operatius,
amb aspectes com la comunicació entre processos i els sistemes
operatius distribuïts. Com que aquesta assignatura inclou la implementació
de servidors per a serveis distribuïts, s'estudien també les característiques
d'arquitectures de hardware orientades a tipus concrets d'aplicació.
Objectius
Aquesta assignatura té com a principal objectiu estudiar els sistemes
distribuïts, en particular el desenvolupament de serveis distribuïts
que cada vegada són més importants pel nombre d'ordinadors involucrats
en la implementació d'algunes aplicacions. Al final d'aquesta
assignatura, l'estudiant haurà de ser capaç de:
1- Implementar programes que permetin la comunicació entre múltiples
processos;
2- Dissenyar i implementar aplicacions concurrents;
3- Implementar servidors (software) per a serveis distribuïts
Temari
Part 1. Arquitectures especialitzades
- Orientades a llenguatges: Java Virtual Machine
- Orientades a aplicacions: Extensions multimèdia
Part 2. Arquitectures distribuïdes
- Arquitectures de hardware
- Arquitectures de software
+Client/Servidor
+Peer-to-Peer (xarxes d'iguals)
Part 3. Mecanismes d'aplicacions distribuïdes
- Sistemes operatius distribuïts
+ Comunicació entre processos
+ Sincronització, consistència y replicació
+ Sistemes de fitxers distribuïts
+ Comunicació multimèdia
- Protocols multicast
- Protocols de temps real
- Aplicacions d'Internet
+ DNS (Domain Name System): sistema de nombres
+ CDNs (Content Delivery Networks): red de distribución de contenido
Organització
Durant l'assignatura, els estudiants desenvoluparan un projecte
de sistemes distribuïts. Aquest projecte utilitzarà conceptes
vistos durant les classes teòriques. No obstant això, el projecte
no cobrirà tots els tòpics vistos en la classe teòrica, i se centrarà
en el desenvolupament de serveis distribuïts utilitzant els paradigmes
Client-Servidor i Peer-to-Peer.
Pràctiques
Durant les hores de pràctiques, els estudiants treballaran en
un projecte en grups. El projecte serà organitzat en diferents
etapes i en cada etapa els estudiants treballaran en diferents
aspectes del desenvolupament de serveis distribuïts.
Mètode d’avaluació
L'avaluació de l'assignatura serà a través de les notes d'un examen
parcial, un examen final, i d'un projecte. La nota final serà
la suma ponderada de les dues notes amb els següents pesos:
1- Examen parcial (20%) * Primera i Segona parts
2- Projecte (40%) * Informe del projecte * Presentació
3- Examen final (40%)
Observacions
Es recomana haver cursat Programació II (12407), Computadors II
i III (12410, 12411), Sistemes Operatius (12414) i Introducció
a les Xarxes d'Ordinadors (12455).
Bibliografia Bàsica:
TANENBAUM, A. S. Distributed Operating Systems. Prentice-Hall,
1995.
TANENBAUM, A. Structured Computer Organization, Prentice
Hall
TANENBAUM, A. Distributed Systems: Principles and Paradigms,
Prentice Hall
STALLINGS, W. Computer Organization and Architecture, Prentice
Hall
COMER, D. Internetworking with TCP/IP, Prentice Hall
RICHARD STEVENS, W. UNIX Network Programming, Prentice
Hall
RICHARD STEVENS, W TCP/IP Illustrated, Prentice Hall