- Describir la arquitectura básica de un Sistema Operativo en Tiempo Real, justificando su importancia en las aplicaciones de ingeniería. - Emplear herramientas para el desarrollo aplicaciones de tiempo real (UNIX/POSIX). - Describir y analizar los elementos que conforman un sistema distribuido, justificando su importancia en aplicaciones industriales. - Desarrollar aplicaciones en las que se aprecie la necesidad de tiempo real.
Objetivos globales teoría
- Describir la arquitectura básica de un Sistema Operativo en Tiempo Real, justificando su importancia en las aplicaciones de ingeniería. - Describir y analizar los elementos que conforman un sistema distribuido, justificando su importancia en aplicaciones industriales.
Temas Teoría (Contenidos)
1. Introducción a los sistemas informáticos en tiempo real. 2. Arquitectura básica de un sistema operativo de tiempo real. 2.1. Procesos y Threads. 2.2. Métodos de planificación. 2.3. Sincronización entre procesos. 2.4. Recursos compartidos y bloqueos. 2.5. Utilización de relojes de tiempo real. 2.6. Señales 3. Programación en un sistema operativo de tiempo real (UNIX/POSIX) 3.1. Introducción al sistema operativo UNIX. 3.2. Comunicación y sincronización entre procesos en UNIX. 3.3. Métodos de planificación en UNIX/POSIX. 3.4. Extensiones POSIX para tiempo real. 3.5. Señales POSIX. 4. Sistemas distribuidos. 4.1. Introducción a los sistemas distribuidos. 4.2. Familia de protocolos de comunicación TCP/IP. 4.3. Direccionamiento IP. Protocolo de red IP. 4.5. Protocolos de transporteTCP y UDP. 4.6. Comunicación entre procesos distribuidos. Sockets. RPC.
Unidades Docentes
Unidad Docente I: Introducción a los sistemas informáticos en tiempo real Unidad Docente II: Arquitectura básica de un sistema operativo de tiempo real Unidad Docente III: Programación en un sistema operativo de tiempo real (UNIX/POSIX) Unidad Docente IV: Sistemas distribuidos
Objetivos globales práctica
- Emplear herramientas para el desarrollo aplicaciones de tiempo real (UNIX/POSIX). - Desarrollar aplicaciones en las que se aprecie la necesidad de tiempo real.
Prácticas
1. Introducción al S.O. UNIX 2. Programación de aplicaciones Multiproceso 3. Programación de aplicaciones Multi-Hilo. Sistema de control de un depósito. 4. Relojes de tiempo real 5. Protocos de red ARP/IP/ICMP 6. Protocolo de red TCP 7. Programación de aplicaciones distribuidas. Sockets
Objetivos Específicos
1. Introducir el concepto de Sistema Informático de Tiempo Real. 2. Analizar la arquitectura de un Sistema Operativo de Tiempo Real. 3. Explicar el concepto de proceso/thread. 4. Analizar las principales técnicas de planificación de procesos. 5. Definir los conceptos de sincronización, recurso compartido y bloqueo. 6. Utilizar los relojes en un Sistema Operativo de Tiempo Real. 7. Describir el estándar POSIX. 8. Programar en un Sistema Operativo de Tiempo Real (UNIX/POSIX) 9. Introducir el concepto de Sistema Distribuido. 10. Comprender la familia de protocolos TCP/IP de forma que el alumno sea capaz de programar una aplicación distribuida. 11. Desarrollar los contenidos teóricos en un marco práctico primero mediante la programación de un Sistema Operativo de Tiempo Real y posteriormente mediante la programación de minirobots educacionales.
Metodología Docente
Clase magistral, prácticas en grupo, prácticas individualizadas
Sistema de Evaluación
- Un exámen Teórico (100% de la nota final).
Comentarios
En la página web de la asignatura se puede encontrar documentación sobre apuntes, transparencias, prácticas, horarios, etc. http://isa.umh.es/asignaturas/sitr/