Tema 4 - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Tema 4

Description:

4.8 Linux y el tiempo real. Linux es un sistema operativo de prop sito general. ... la latencia de planificador pod a durar entre decenas y cientos de milisegundos, ... – PowerPoint PPT presentation

Number of Views:16
Avg rating:3.0/5.0
Slides: 19
Provided by: Mart741
Category:
Tags: durar | tema

less

Transcript and Presenter's Notes

Title: Tema 4


1
Tema 4 Programación de tiempo real en Linux
(parte II)
Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
2
Tema 4 Programación de tiempo real en Linux
(parte II)
  • Linux y el tiempo real
  • Identificación de latencias
  • Latencia de planificación
  • Duración del planificador
  • Tiempo real en espacio de usuario

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
3
4.8 Linux y el tiempo real
  • Linux es un sistema operativo de propósito
    general.
  • Cuando se fue introduciendo en los sistemas
    empotrados, surgió la necesidad de dotarle de
    tiempo real.
  • La diferencia clave entre un sistema operativo de
    propósito general como Linux y uno de tiempo real
    (RTOS) es el comportamiento temporal
    determinístico de los servicios del RTOS.
  • La temporalidad deteminista significa que toda
    latencia (tiempo empleado por estos servicios)
    está acotada.
  • Surge el patch de Montavista, que reduce las
    latencias de algunos servicios, de modo que Linux
    se comporta ahora como un sistema operativo de
    tiempo real acrítico (soft real-time)

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
4
4.8 Linux y el tiempo real
  • La naturaleza sin tiempo real de Linux se basa
    en los siguientes aspectos
  • Alta latencia de interrupción
  • Alta latencia del planificador, debida a su
    naturaleza no expulsora.
  • Servicios como los mecanismos IPC, asignación de
    memoria, etc, no tienen un comportamiento
    determinista
  • Otras caraterísticas como la memoria virtual
    hacen de Linux no determinista en su tiempo de
    respuesta
  • Surge el patch de Montavista, que reduce las
    latencias de algunos servicios, de modo que Linux
    se comporta ahora como un sistema operativo de
    tiempo real acrítico (soft real-time)

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
5
4.9 Identificación de latencias
  • Discutamos los aspectos de este patch. El mejor
    método es trazar el flujo de una interrupción e
    identificar las latencias.
  • Supongamos que
  • El núcleo está ejecutando un servicio
  • La tarea del disco espera bloqueada a que la
    operación de E/S termine.
  • Se produce entonces la interrupción del disco
  • Ejecuta la rutina de interrupción
  • Esta despierta a la tarea y la pone en la cola de
    ready
  • El núcleo llega a un punto donde puede invocar al
    planificador (la función schedule).
  • schedule concede el procesador a la tarea del
    disco

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
6
4.9 Identificación de latencias
  • El tiempo de respuesta es el tiempo entre el
    instante en que la controladora del disco eleva
    la interrupción y el instante que la tarea del
    disco toma el procesador.
  • Este tiempo de respuesta en Linux es la suma de
    cuatro
  • Latencia de la interrupción
  • Duración de la rutina de interrupción
  • Latencia del planificador. Es el tiempo que pasa
    desde que termina la rutina de interrupción hasta
    que se invoca al planificador.
  • Duración del planificador
  • Discutimos ahora las causas de estas latencias y
    qué se ha hecho en Linux para mejorarlas

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
7
4.9 Identificación de latencias
Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
8
4.10 Latencia de planificación
  • Es la más importante. Ha sido reducida en el
    núcleo 2.6 por el patch de Montavista
  • En el núcleo 2.4 las contribuciones principales a
    esta latencia eran
  • La naturaleza no expulsora del núcleo

El planificador se invocaba tras servir las
interrupciones y las llamadas al sistema
  • Deshabilitacion de interrupciones

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
9
4.10 Latencia de planificación
Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
10
4.10 Latencia de planificación
  • Debido a la naturaleza no expulsora del núcleo.
    Si un proceso está en el núcleo ejecutando una
    llamada al sistema, el planificador no se invoca
    hasta que ésta termina.
  • Así, un proceso de alta prioridad no podía
    explusar a uno de baja prioridad procesador
    mientras durase su llamada al sistema.
  • Por lo tanto, la latencia de planificador podía
    durar entre decenas y cientos de milisegundos,
    según la duración de la llamada al sistema.
  • También se invoca al planificador cuando a un
    proceso se le acaba su cuantum. Si las
    interrupciones estaban deshabilidadas durante
    mucho tiempo, la planificación se dilataba.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
11
4.10 Latencia de planificación
  • El patch de Montavista posibilita la expulsión de
    un proceso mientras ejecuta en el núcleo.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
12
4.11 Duración del planificador
  • El mayor problema del planificador original era
    su comportamiento no determinista.
  • Todas las tareas se mantenían en un cola única,
    de modo que encontrar la de mayor prioridad
    (bucle de bondad)
  • Cuando expiraban los cuanta de todas las tareas
    ejecutables, estos se recalculaban de nuevo
    (bucle de recálculo)
  • El costo de ambos bucles aumentaba linealmente
    con el número de tareas ejecutables.
  • El nuevo planificador O(1) frente al antiguo
    O(n)- se introdujo en el núcleo 2.4.20. Es
    determinista.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
13
4.11 Duración del planificador
Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
14
4.11 Duración del planificador
El tiempo del cambio de contexto
  • Medir el tiempo de contexto de Linux ha sido uno
    de los pasatiempos favoritos de los entusiastas
    de Linux Cómo escala este tiempo comparado con
    los sistemas comerciales?

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
15
4.11 Duración del planificador
  • Las entidades planificables en Linux son
  • Hilos del núcleo. Ejecutan en modo núcleo
    solamente
  • Procesos e hilos de usuario. Los hilos de usuario
    comparten un mismo espacio de direccionamiento y
    tienen pilas separadas. Comparten manejadores de
    señal, sockets, etc.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
16
4.11 Duración del planificador
  • El planificador no distingue entre ninguna de los
    tres
  • El tiempo de cambio de contexto, sí varía entre
    procesos e hilos, porque implica los siguiente
  • Conmutar a un nuevo conjunto de registros y pila,
    algo común entre procesos e hilos.
  • Conmutar de un área de memoria virtual a otra,
    requerido sólo por los procesos. Causa que la
    table de páginas (TLB) sea recargada con los
    valores de nuevo proceso, una operación que
    consume tiempo.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
17
4.11 Tiempo real en espacio de usuario
  • El patch expulsor de Montavista y el planificador
    O(1) hacen de Linux un sistema de tiempo real
    acrítico pero, que hay de las aplicaciones de
    usuario sobre Linux?
  • El estándar IEEE 1003.1b define una interfaz que
    soporta la portabilidad de aplicaciones con
    requisitos de tiempo real
  • Planificación con prioridades fijas y clases de
    planificación
  • Bloqueo de memoria
  • Memoria compartida
  • Señales de tiempo real
  • Colas de mensajes
  • Semáforos
  • Relojes y temporizadores
  • Entrada-salida asíncrona

Soportado por Linux desde el comienzo
Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
18
4.11 Tiempo real en espacio de usuario
  • La responsabilidad del desarrollador de
    aplicaciones de tiempo real sobre Linux es sacar
    partido a su característica de sistema de tiempo
    real acrítico, por ejemplo, para construir
    aplicaciones multimedia de rendimiento
    satisfacotrio.
  • Para ello debe comprender la interfaz de tiempo
    real y utilizar de forma correcta la
    implementación que de ella hace Linux.

Master Paralelismo y computación Grid. Sistemas
Empotrados Distribuidos
Write a Comment
User Comments (0)
About PowerShow.com