Publicado el 14 de Enero del 2017
932 visualizaciones desde el 14 de Enero del 2017
170,0 KB
21 paginas
Creado hace 14a (12/04/2011)
UNIVERSIDAD
DE CANTABRIA
Bloque I: Principios de sistemas
operativos
Tema 1. Principios básicos de los sistemas operativos
Tema 2. Concurrencia
Tema 3. Ficheros
Tema 4. Sincronización y programación dirigida por eventos
Tema 5. Planificación y despacho
Tema 6. Sistemas de tiempo real y sistemas empotrados
Tema 7. Gestión de memoria
Tema 8. Gestión de dispositivos de entrada-salida
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
6
© Michael González, J. Javier Gutiérrez
12/abr/11
1
Notas:
UNIVERSIDAD
DE CANTABRIA
Tema 6. Sistemas de tiempo real y sistemas empotrados
• Concepto de sistema de tiempo real
• Concepto y características de sistemas empotrados
• Políticas de planificación para tiempo real
• Protocolos de sincronización de tiempo real
• Análisis de sistemas de tiempo real
• Relojes y temporizadores POSIX
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
2
1. Concepto de sistema de tiempo real
Un sistema de tiempo real es una combinación de uno o varios
computadores, dispositivos hardware de entrada/salida, y
software de propósito especial, en la que:
• hay una fuerte interacción con el entorno
• el entorno cambia con el tiempo
• el sistema controla o reacciona de forma simultánea a diferentes
UNIVERSIDAD
DE CANTABRIA
aspectos del entorno
Como resultado:
• se imponen requerimientos temporales sobre el software
• el software es de naturaleza concurrente
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
3
Elementos de un sistema de tiempo
real
UNIVERSIDAD
DE CANTABRIA
Comuni-
caciones
Otros
Computadores
I/O
Digital
Computador
I/O
Analógica
Entorno Externo
Software de Real-Time
Task
Task
Task
OS
Task
Reloj
Otras
I/O
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
4
Definición de sistema de tiempo real
“En las aplicaciones de tiempo real, el funcionamiento correcto no
sólo depende de los resultados del cálculo, sino también del
instante en el que se generan estos resultados.”
Algunos requerimientos de tiempo real frecuentes:
• Realizar actividades periódicas:
UNIVERSIDAD
DE CANTABRIA
- solicitadas a intervalos periódicos
- deben completar un trabajo antes de un plazo
• Responder a eventos aperiódicos:
- solicitados a intervalos irregulares
- en algunos casos, completar el trabajo antes de un plazo
- alcanzar un requerimiento de tiempo de respuesta promedio
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
5
¿Qué es importante en sistemas de
tiempo real?
Los criterios para tiempo real difieren de los de sistemas de tiempo
compartido
UNIVERSIDAD
DE CANTABRIA
Tiempo Compartido
Sist. de Tiempo Real
Capacidad
Potencia de cálculo
Respuesta Temporal Rápida respuesta en pro-
Sobrecarga
medio
Reparto Equitativo
Planificabilidad
Respuesta de peor caso
garantizada
Estabilidad
• Planificabilidad: habilidad para cumplir todos los plazos
• Respuesta de peor caso: no basta el caso promedio
• Estabilidad: en una sobrecarga, se deben de cumplir al menos
los plazos de todas las tareas críticas
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
6
Sistemas operativos de tiempo real
En el pasado, muchos sistemas de tiempo real no necesitaban
sistema operativo.
Hoy en día, muchas aplicaciones requieren servicios de sistema
operativo tales como:
- programación concurrente, redes de comunicación, sistema de
UNIVERSIDAD
DE CANTABRIA
ficheros, etc.
El comportamiento temporal de un programa depende fuertemente
del comportamiento del sistema operativo.
Definición de tiempo real en sistemas operativos, según POSIX:
“La habilidad del sistema operativo para proporcionar el nivel de
servicio requerido con un tiempo de respuesta acotado.”
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
7
2. Concepto y características de
sistemas empotrados
Un computador (y su software) se considera empotrado si:
• es un componente integral de un sistema mayor,
• se usa para controlar, monitorizar o procesar la información de
UNIVERSIDAD
DE CANTABRIA
ese sistema,
• y usa dispositivos hardware especiales
La mayoría de los sistemas de tiempo real son empotrados
Al revés no; por ejemplo, en estos sistemas no importa el tiempo
de respuesta de peor caso:
• llave electrónica
• muñeco que reacciona al entorno con gestos y sonidos
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
8
3. Políticas de planificación para
tiempo real
Planificadores en tiempo de compilación:
UNIVERSIDAD
DE CANTABRIA
- conocidos como ejecutivos cíclicos (ver “la solución cíclica”, en el
capítulo 2)
- predecibilidad mediante un plan estático
-
- difícil de mantener
la estructura lógica depende de los requisitos temporales
Planificadores en tiempo de ejecución:
- Basados en prioridades
- Expulsores o no, prioridades fijas o dinámicas
- Predecibilidad mediante métodos analíticos
- Separan la estructura lógica de los requisitos temporales
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
9
Planificación por prioridades fijas
La planificación expulsora por prioridades fijas es la más popular:
• El comportamiento temporal es más fácil de entender y predecir
• El tratamiento ante sobrecargas es fácil de prever
• Existen técnicas analíticas completas
• Requerido por estándares de sistemas operativos y lenguajes
UNIVERSIDAD
DE CANTABRIA
concurrentes
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
10
4. Sincronización de tiempo real:
Inversión de prioridad
UNIVERSIDAD
DE CANTABRIA
:{...P(S1)...V(S1)...}
:{...P(S1)...V(S1)...}
intenta tomar S1 (se bloquea)
S1 tomado
S1 liberado
Leyenda
S1 tomado
Ejecutando
Bloqueado
B
(H)
(M)
(L)
B
S1 tomado
S1 liberado
Tiempo
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
11
UNIVERSIDAD
DE CANTABRIA
Protocolos de sincronización
Los protocolos de sincronización de tiempo real evitan la
inversión de prioridad no acotada
Los más importantes:
• Herencia de prioridad
• Techo de prioridad inmediato (o protección por prioridad)
Ambos hacen que la inversión de prioridad, o retraso que una
tarea sufre a causa de tareas de prioridad inferior:
• sea función de la duración de una o varias secciones críticas
• no sea función de la duración de tareas completas
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
12
Techo de prioridad inmediato
UNIVERSIDAD
DE CANTABRIA
:{...P(S1)...V(S1)...}
:{...P(S1)...V(S1)...}
(H)
(L)
Se activa
Se activa
S1 tomado
S1 liberado
Tiempo
Legend
S1 tomado
Ejecutando
Bloqueado
B
Techo de prioridad
de un recurso:
la mayor prioridad
de las tareas que lo
usan
Regla:
la sección crítica se
ejecuta al techo de
prioridad
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
13
Herencia de prioridad
UNIVERSIDAD
DE CANTABRIA
:{...P(S1)...V(S1)...}
:{...P(S1)...V(S1)...}
Intenta tomar S1
S1 tomado S1 liberado
Se activa
Se activa
S1 tomado
S1 liberado
(H)
(L)
Tiempo
Leyenda
S1 tomado
Ejecutando
Bloqueado
B
Regla:
las tareas heredan
las prioridades de
aquellas tareas que
bloquean
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
14
Protocolos de sincronización en POSIX
Atributos de inicialización de mutexes (adicionales a pshared):
• protocol: protocolo utilizado
- PTHREAD_PRIO_NONE: no hay herencia de prioridad
- PTHREAD_PRIO_INHERIT: herencia de prioridad
- PTHREAD_PRIO_PROTECT: protección de prioridad (techo de
UNIVERSIDAD
DE CANTABRIA
prioridad inmediato)
• prioceiling: techo de prioridad
- valor entero; se puede modificar en ejecución
- se usa para la protección de prioridad
Estos atributos se almacenan en el objeto de atributos
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
15
Atributos de planificación de los
mutex
UNIVERSIDAD
DE CANTABRIA
#include <pthread.h>
int pthread_mutexattr_getprotocol
(const pthread_mutexattr_t *attr,
int *protocol);
int pthread_mutexattr_setprotocol
(pthread_mutexattr_t *attr,
int protocol);
int pthread_mutexattr_getprioceiling
(const pthread_mutexattr_t *attr,
int *prioceiling);
int pthread_mutexattr_setprioceiling
(pthread_mutexattr_t *attr,
int prioceiling);
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
16
UNIVERSIDAD
DE CANTABRIA
5. Análisis de sistemas de tiempo real
El análisis “Rate Monotonic” (RMA) es una teoría para analizar el
comportamiento temporal de aplicaciones de tiempo real basadas
en prioridades fijas
Proporciona directrices para hacer asignación óptima de
prioridades
Aporta tests de utilización, que nos permiten hacernos una idea
aproximada sobre el cumplimiento de los plazos
Permite obtener los tiempos de respuesta exactos de las tareas
Ayuda a identificar “cuellos de botella”, para mejorar el diseño
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© Michael González, J. Javier Gutiérrez
12/abr/11
17
Principios básicos del RMA
Dos conceptos ayudan a construir la situación de peor caso en el
caso de tareas periódicas independientes:
• Instante crítico. El tiempo de respuesta de peor caso de todas
UNIVERSIDAD
DE CANTABRIA
las tareas se obtiene si las activamos todas a la vez
• Basta comprobar el
Comentarios de: Bloque I: Principios de sistemas operativos (0)
No hay comentarios