PDF de programación - Bloque I: Principios de sistemas operativos

Imágen de pdf Bloque I: Principios de sistemas operativos

Bloque I: Principios de sistemas operativosgráfica de visualizaciones

Publicado el 14 de Enero del 2017
762 visualizaciones desde el 14 de Enero del 2017
170,0 KB
21 paginas
Creado hace 13a (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
  • Links de descarga
http://lwp-l.com/pdf944

Comentarios de: Bloque I: Principios de sistemas operativos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad