Sei sulla pagina 1di 9

UNIVERSIDADDEGUADALAJARA

CENTROUNIVERSITARIODELOSALTOS DIVISINDEESTUDIOSENFORMACIONESSOCIALES LICENCIATURA:


INGENIERAENCOMPUTACIN

UNIDAD DE APRENDIZAJE POR OBJETIVOS

PROGRAMACIN CONCURRENTE Y DISTRIBUIDA

LIC. ABRAHAM ANDRADE LPEZ Presidente de la Academia de Sistemas Digitales y de Informacin

DR. ROGELIO MARTNEZ CRDENAS Jefe del Departamento de Estudios Organizacionales

NOMBRE DE LA ASIGNATURA

PROGRAMACIN CONCURRENTE Y DISTRIBUIDA CC413

CODIGO DE LA MATERIA

DEPARTAMENTO

ESTUDIOS ORGANIZACIONALES

REA DE FORMACIN

OPTATIVA ABIERTA

CENTRO UNIVERSITARIO

CENTRO UNIVERSITARIO DE LOS ALTOS

CARGA HORARIA

80

CARGA HORARIA PRCTICA

CARGA HORARIA TOTAL

80

CRDITOS

11

TIPO DE CURSO

TERICO

NIVEL DE FORMACIN PROFESIONAL

LICENCIATURA LICENCIATURA EN INGENIERA EN COMPUTACIN SISTEMAS DIGITALES Y DE INFORMACIN

PARTICIPANTES

ELABOR

PRERREQUISITOS

250 CRDITOS

FECHA DE ACTUALIZACIN

SEPTIEMBRE DE 2011

OBJETIVO GENERAL Los estudiantes aprendern a programar sistemas concurrentes y distribuidos, adems de programas patrones de diseo con el Modelo C/S y punto a punto empleando Java como lenguaje de implementacin de Middleware OBJETIVOS ESPECFICOS En cada mdulo del contenido temtico principal.

CONTENIDO TEMTICO Mdulo 1: Introduccin a los sistemas en paralelo Objetivo particular: El alumno conocer los esquemas de procesamiento vectorial, solapado y paralelo con arquitecturas multicore. 1.1 Conceptos bsicos de tubera y procesamiento solapado 1.1.1 Mquina de Von Newman 1.1.2 Concepto de tubera 1.1.3 Procesamiento encauzado 1.1.4 Paralelismo VS procesamiento encauzado 1.2 Microprogramacin en sistemas multicore 1.2.1 CPU con HT 1.2.2 CPU Multicore 1.2.3 Programacin del problema de ordenamiento de vectores en multicore 1.2.4 Comparacin de rendimiento 1.3 CISC y RISC 1.3.1 Instrucciones complejas 1.3.2 Instrucciones reducidas 1.3.3 Comparacin de rendimiento (CISC vs RISC) 1.3.4 Sistemas R-OPS 1.4 Niveles de paralelismo 1.4.1 Clasificacin de Flynn 1.4.2 Esquema de erlanger (Handler) Mdulo 2: Introduccin a la programacin Concurrente Objetivo particular: el estudiante podr construir un sistema concurrente con los esquemas presentados en el mdulo, basados en el paradigma POO apoyados por el empleo de patrones; en la plataforma java. 2.1. Programacin Concurrente orientada a objetos 2.1.1. Primer lenguaje concurrente 2.1.2. Objetos y concurrencia 2.1.3. Modelos sustentables 2.1.4. Patrones de diseo La sincronizacin y la exclusin mutua 2.2.1. La clase inmutable 2.2.2. La clase object 2.2.3. El cerrojo de JAVA 2.2.4. La sincronizacin de JAVA 2.2.5. El patrn singleton 2.2.6. El patrn visitor El cofinamiento 2.3.1. Interbloqueo 2.3.2. Semaforo tipo Posix

2.2.

2.3.

2.4.

2.5.

2.3.3. Modelo de memoria en Java 2.3.4. Ordenamiento con mtodos 2.3.5. El contenedor Patrn adaptador 2.4.1. Interfaz, clase abstracta y adaptador 2.4.2. Adaptador de solo lectura 2.4.3. Anillos 2.4.4. Problemas de productor-consumidor Mutex, Lock y Executor 2.5.1. El mutex 2.5.2. La interfaz Lock 2.5.3. La interfaz Executor

Mdulo 3: Programacin de Hilos Objetivo particular: El alumno podr construir una aplicacin de Java basada en Hilos sustentando la concurrencia 3.1. Introduccin a los hilos 3.3.1. El concepto de proceso 3.3.2. El hilo como proceso ligero 3.3.3. Hilos Nativos Posix y Win32 3.3.4. Hilos Java e hilos Nativos de JVM 3.3.5. Uso de un Profiler para estudiar los hilos 3.3.6. Impacto de la tecnologa Multicore en sistemas basados en hilos 3.2. Creacin de hilos 3.2.1. Creacin y destruccin de hilos 3.2.2. Espera de hilos con Join 3.2.3. Priorizacin de hilos 3.2.4. Manejo de excepciones en hilos 3.2.5. Uso de la interfaz runnable 3.2.6. Uso de voltile en atributos de hilos 3.3. Comunicacin entre hilos 3.3.1. El objeto tubera 3.3.2. El patrn proxy 3.3.3. Objetos auto-hilo 3.3.4. Uso de Locks y executors con la interfaz Runnable 3.3.5. Programacin de un sistema de control de primer orden con hilos

Mdulo 4: Programacin distribuida Objetivo particular: El alumno implementar un sistema distribuido en middleware que resuelve el problema de acceso a los recursos distribuidos compartidos 4.1. Computacin distribuida 4.1.1 Introduccin a los sistemas distribuidos

4.1.2 Elementos de redes 4.1.3 Elementos de Sistemas operativos distribuidos 4.1.4 Cluster vs paralelismo puro 4.2 Modelos de objetos distribuidos 4.2.1 Socket TCP y UDP 4.2.2 Objetos en envolturas para sockets 4.2.3 Modelo de objetos distribuidos 4.2.4 Objetos distribuidos frente a paso de mensajes 4.3 Invocacin remota de mtodos 4.3.1 Metodos remotos 4.3.2 La interfaz RMI 4.3.3 El patrn proxy en RMI 4.3.4 Paso de referencias RMI 4.4 Paradigma de sistemas distribuidos 4.4.1 El paradigma C/S 4.4.2 Paradigma igualitario 4.4.3 El modelo repetidor de objetos CORBA 4.4.4 El modelo de agentes 4.5 Sistemas Cooperativos 4.5.1 Trabajo desde el servidor 4.5.2 Serverlets, JSP, ISAPI 4.5.3 Trabajo en los clientes 4.5.4 Descarga de applets como RMI 4.5.5 Descarga de objetos DCOM 4.5.6 Programacin de un sistema de vecindario

ESTRUCTURA CONCEPTUAL

PROGRAMACION CONCURRENTE Y DISTRIBUIDA

Paradigma JAVA

Programacin de hilos

Programacin concurrente

Programacin distribuida

BIBLIOGRAFA BSICA Froute, A. Q. (2006). Java 2, Manual de usuario y tutorial. Mxico: Alfaomega; RaMa.
Wu, C. T. (2008). Programacin en Java, Introduccin a la programacin orientada a objetos. Mxico: McGraw Hill.

BIBLIOGRAFA COMPLEMENTARIA Doug. Lea. (2001) Programacin concurrente en JAVA: principios y patrones de diseo. Madrid: Adisson Wesley Pea Snchez, Jos Mara. (2004). Computacin distribuida: fundamentos y aplicaciones. Madrid. Pearson educacin. MODALIDADES DEL PROCESO ENSEANZA APRENDIZAJE Los profesores orientarn a los alumnos al conocimiento de lenguaje de programacin orientada a objetos para que pueda aplicar lo aprendido en la clase y ponga en prctica este paradigma para la programacin de sistemas distribuidos y concurrentes. CONOCIMIENTOS, APTITUDES Y VALORES QUE EL ALUMNO DEBE ADQUIRIR CON BASE AL DESARROLLO DE LA UNIDAD Conocimiento de sistemas y tecnologas de informacin en la actualidad y gusto por manejar sistemas operativos va lnea de comandos. CAMPO DE APLICACIN PROFESIONAL El estudiante al concluir el curso tendr, adicionalmente a los contenidos recibidos en clase, una visin ms amplia acerca del paradigma de la Programacin Orientada a Objetos para la aplicacin en sistemas distribuidos y concurrentes MATERIAL DE APOYO ACADMICO Notas sobre el curso Programas educativos para computadoras Uso de plataforma Moodle Presentaciones Power Point Java JDK, NetBeans MODALIDADES DE EVALUACIN

CRITERIOS Examen departamental Exmenes parciales Producto de investigacin, tareas y participacin en moodle Elaboracin de proyecto final 20 % 40 % 20 % 20 %

PERFIL DOCENTE El docente de esta materia deber ser un profesionista con formacin en las reas de la computacin, comunicaciones o informtica; capaz de motivar a la investigacin y creacin de conocimiento, con habilidades para transmitir sus conocimientos y ensear de forma interactiva propiciando en los alumnos el autoaprendizaje.

Potrebbero piacerti anche