![]()
Sistemas Informáticos en Tiempo Real
CURSO 2010-2011
Evaluación Objetivos Programa Bibliografía Horario Tutorías
Software Documentación Prácticas Exámenes Links Minirobots
ASIGNATURA EN EXTINCIÓN
Profesor Responsable: Luis Miguel Jiménez García Otros Profesores: Departamento: INGENIERÍA DE SISTEMAS INDUSTRIALES Área de Conocimiento: Ingeniería de Sistemas y Automática Titulación: Ingeniería Industrial Curso: Segundo Docencia: 1er cuatr. Tipo: Obligatoria Créditos: 6,0 ( 3,0 T + 3,0 P)
- Superar todas las sesiones de laboratorio (obligatorias)
- Un examen Teórico (100% de la nota final).
- Trabajos de programación optativos (complementan hasta un 5% la nota final)- Durante el curso se realizarán exámenes tipo Test de auto-evaluación (Web UMH identificado de la asignatura)
- El examen consta de dos partes:- Un examen parcial tipo Test liberatorio: (Apto -> 5)
- Examen de desarrollo con cuestiones y problemas: evalúa los 5 puntos restantes (test aprobado), o la totalidad de la asignatura
- 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. Programación de minirobots.
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.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. Estudio de la familia de protocolos de comunicación TCP/IP.
4.3. Direccionamiento IP.
4.4. Protocolo IP.
4.5. Protocolos TCP/UDP.
4.6. Comunicación entre procesos distribuidos. Sockets.[Biblio] "Sistemas Informáticos de Tiempo Real", L.M. Jiménez, R. Puerto, O. Reinoso Sec. Public. UMH, 2000
[Biblio] "Sistemas de Tiempo Real y Lenguajes de Programación ", A.Burns, A. Wellings, Addison-Wesley, 1997
[Biblio] "Introducción a UNIX: un enfoque práctico", A. Afzal, Prentice-Hall, 1997
[Biblio] "UNIX Programación Práctica", Robbins, Prentice-Hall, 1997
[Biblio] "Pthreads Programming", B. Nichols, D. Buttlar, O'Reilly
[Biblio] "Unix : programación avanzada", Márquez, Francisco Madrid RA-MA 1996.
[Biblio] "Unix sistema V versión 4. Manual de referencia", Stephen Coffin, McGraw-Hill 1997
[Biblio] "TCP/IP en Unix programación de aplicaciones distribuidas", Alonso, José Miguel, Madrid Ra-ma D.L. 1998
[Biblio] "TCP/IP Illustrated Vol.1", W. Stevens, Addison-Wesley, 1994
[Biblio] "Redes de Computadoras", A. Tannenbaum, Prentice-Hall, 1997
[Biblio] "Mobile Robots: Inspiration to Implementation", J. Jones, A. Flynn, Ed. A.K. Peters, 1999
[Biblio] "Robotic explorations a hands-on introduction to engineering" Fred G. Martin, Upper Saddle River, NJ Prentice Hall, 2001
[Biblio] "El lenguaje de programación C", Kernighan, Ritchie. Prentice Hall (2ª ed.)
[Biblio] "Practical C Programming", S. Oualline, O’Reilly
[Biblio] "Practical C++ Programming", S. Oualline, O’Reilly
[Biblio] "C Manual de Referencia", H. Schildt, MacGraw Hill
- Prácticas UNIX
![]()
- Práctica 0: Manual del Software para las Prácticas de S.O. Unix
- Práctica 1: Introducción al Sistema Operativo UNIX
- Práctica 2: Creación y manejo básico de procesos
Programas ejemplo (.c) zip
- Práctica 3: Sincronización de procesos:Semáforos
(OPTATIVA)
- Práctica 4: Simulación del control de un depósito mediante threads
. Fichero deposito.c
- Práctica 5: TCP/IP (1)
, TCP/IP (2)
![]()
- Práctica 6: Programación Sockets
; Programas ejemplo (.c) cliente-servidor: zip
- Entrega Prácticas:
- Atom Editor (x64)
: editor de texto para programación con edición remota SFTP (instalar paquete FTP-Remote-Edit). Versión x86
- Komodo Edit
: editor de texto para programación con edición remota SFTP.
- Cliente Telnet Putty
: permite conexiones seguras SSH
- Cliente SFTP Filezilla
: permite conexiones FTP y SFTP (cifradas)
- PDF Creator
: Permite convertir cualquier tipo de archivo a PDF. Crea una impresora virtual para imprimir el fichero a convertir.
- Monitor de Red WireShark
: Manual WireShark
, Manual TCPdump
- Socket Workbench
: (versión demo)
- NMAP
: herramienta para testear puertos y realizar conexiones TCP/UDP (Manual).
- iPerf
: herramienta para medida de ancho de banda (Manual). Interfaz java para iperf Jperf
(requiere una máquina virtual java instalada)
Programas MacOS X
:
- XCode
: compilador, editor y entorno de desarrollo para Mac. Disponible en el CD de instalación de MacOSX o en la pagina web de Apple. Es necesario para compilar los ejemplos en Mac y para instalar aplicaciones con MacPorts.
- Atom Editor (Intel)
: editor de texto para programación con edición remota SFTP (instalar paquete FTP-Remote-Edit).
- Komodo Edit (Intel)
: editor de texto para programación con edición remota SFTP.
- Cliente SSH iTerm
: permite conexiones seguras SSH (localización de menús en español)
- Cliente SFTP Filezilla (Intel)
: permite conexiones FTP y SFTP (cifradas).
- Monitor de Red WireShark (Intel)
, Manual WireShark
, Manual TCPdump
.
- NMAP
: herramienta para testear puertos y realizar conexiones TCP/UDP (Manual).
- iPerf
: herramienta para medida de ancho de banda (Manual)
Programas Linux
:
- Todas las distribuciones linux incorporan un gestor de paquetes para la instalación de programas, bien como una aplicación gráfica (synaptic, yast, ...) o en consola (apt, ipkg, rpm...) La mayoría de las distribuciones incluyen de serie las aplicaciones usadas en las prácticas (SSH), y siempre puedes encontrar versiones de los programas equivalentes en linux (Filezilla, Komodo Edit, NMAP, iperf) con la herramienta de búsqueda incluida en el gestor de paquetes.
Programas Java (Multiplataforma)
:
- Simulador de Redes KIVA : Portal Web (simulador Java de redes de computadores). Si no dispones de la máquina virtual Java puedes descargarla aquí.
Transparencias:
- Procesos
PDF file
- Threads :
PDF file
- Conceptos de Planificación:
PDF file
- Sincronización:
PDF file
- Comunicación:
PDF file
- POSIX I (procesos):
PDF file
- POSIX II (threads):
PDF file
- POSIX II (planificación):
PDF file
- POSIX III (semáforos):
PDF file
- POSIX III (mutex):
PDF file
- Programas ejemplo Procesos/Semáforos (.c) zip
- Programas ejemplo Threads/Mutex (.c) zip
- Relojes de Tiempo Real:
PDF file
- Relojes POSIX:
PDF file
- Señales POSIX:
PDF file
- Temporizadores POSIX:
PDF file
Test T1-T3 (incluye solución)
Test T4-T9 (incluye solución)
Test T10-T12 (incluye solución)
Curso Conv. Febrero Conv. Septiembre 98/99 Enunciado
Solución
Enunciado
Solución
99/00 Enunciado
Enunciado
00/01 Enunciado
Solución
Enunciado
Solución
01/02 Enunciado
Solución
Enunciado
02/03 Enunciado
Enunciado
03/04 Enunciado
Enunciado
04/05 Enunciado
Enunciado
05/06 Enunciado
Enunciado
06/07 Enunciado
Enunciado
07/08 Enunciado
Enunciado
08/09 Enunciado
Enunciado
09/10 Enunciado
Enunciado
- Links a Distribuciones Linux , documentación y publicaciones sobre el mismo
- Introducción a Tiempo Real y RTLinux (Linuxfocus) (Lectura recomendable)
- Página de RT-Linux
ISA-UMH © Ingeniería de Sistemas y Automática