Sunteți pe pagina 1din 5

Kernels apropiativos:

Los kernels no apropiativos no permiten desaloja un proceso que se este ejecutando en modo
kernel. Por el contrario, un kernel aproiativo permitir esalojar una tarea que se este ejecutando
en modo kernel. El diseo de un kernel apropiativo puede resultar bastante difcil y las a
plicaciones tradicionales aorientadas al usuario, no requieren esos rapidos tiempos de respuesta.
Sin embargo, para satisfaer los requisitos e temporizacin de los sistemas de tiempo real (en
particular de los sistemas de tiempo real estrictos) resulta obligatorio utilizar un kernel
apropiativo. En caso contrario una tarea de tiempo real podra tener que espera un perodo de
tiempo arbitrariamente largo, mientras hubiera otra tarea activa en el kernel.
Existen diversas estrategias para hacer que un kernel sea apropiativo. Una de ella consiste en
insertar puntos de desalojo en las llamadas al sistema de larga duracin. En cada punto de
desalojo se comprueba si existe la necesidad de ejecutar un proceso de alta prioridad. Cuando un
proceso e ata prioridad termine de ejecutarse, el proceso interrumpido continuara con su llamada
al sistema.
Una segunda estrategia para hacer que un kernel sea apropiativo consiste en utilizar mecanismos
de sincronizacin,.con este mtodo, el kernel siempre puede ser apropiativo, por que cualquier
dato del kernel que se este actualizando estar protegido frente a posibles modificaciones por
paret del proceso de alta prioridad.

Minimizacin de la latencia:
Denominamos latencia del suceso a la cantidad de tiempo que transcurre desde el momento que
tiene lugar el suceso hasta el momento en el que se le da servicio

Normalmente, los diferentes sucesos tienen distintos requisitos de latencia. Por ejemplo, el
requisito de latencia para un sistema antibloqueo de frenos puede ser entre 3 y 5 milisegundos, en
cambio, un sistema integrado que controle el radar en una aeronave puede tolerar un periodo de
latencia de varios segundos.
Existen dos tipos de latencia que afectan al rendimiento de los sistema de tiempo real:
1. Latencia de interrupcin; se refiere al periodo de tiempo que transcurre entre la llegada
de una interupcion a la cpu y el instante en que comienza la rutin de servicio de dicha
interrupcin. Cuando se produce una interrupcin, el sistema operativo debe primero
completar la instruccin que esa ejecutando y determinaa el tipo de interrupcin que ha
ocurrido. Luego, debe guardar el estado del proceso actual antes de dar servicio a la
interupcion utilizando la rutina de servicio servicio de interrupcin. El tiempo total
requerido para realizar estas tareas es la latencia de interrupcin
Un factor importante que contribuye a la latencia de interrupcin es la cantidad de tiempo
que las interrupciones pueden estar desactivadas mientras se actualizan las estructuras de
datos del kernel
En la imagen se muestra una latencia de interrupcin:



2. Latencia de despacho: la cantidad de tiempo requerida para que el despachador de
planificacin detenga un proceso e inicie otro. Es obligatorio que el sistema operativo de
tiempo real minimice esta latencia. La tcnica mas efectiva para tener una latencia de
despacho bajo consiste en proporcionar un kernel apropiativo.
En la figura se muestra un diagrama que ilustra el concepto de latencia de despacho.

La fase de conflicto de la latencia de despacho tiene dos componentes:
a) El desalojo de cualquier proceso que se este ejecutando en el kernel.
b) La liberacin por parte de los procesos de baja prioridad de los recursos necesarios
para el proceso de alta prioridad.
Una cuestin que puede afectar a la latencia de despacho es la que surge cuando un proceso de
mayor prioridad necesita leer o modificar datos del kernel a los que este actualmente accediendo
un proceso de menor prioridad. Puesto que los datos del kernel estn normalmente protegidos
mediante un cerrojo, el proceso de mayor prioridad tendr que esperar a que otro de menor
prioridad finalice con el recurso.
El problema conocido como inversin de prioridades, puede resolverse utilizando el denominado
protocolo de herencia de prioridades. De acuerdo con este protocolo, todos los procesos que
estn accediendo a recursos que necesite otro proceso de mayor prioridad heredaran esa mayor
prioridad hasta que hayan terminado con los recursos en cuestin. Una vez que han terminado, .
Planificacion de la cpu en tiempo real:
Nuestro tratamiento de la planificacin hasta ahora se ha centrado principalmente en los sistemas
de tiempos no estrictos. El mecanismo de planificacin para dichos sistemas no proporciona
ninguna garanta sobre cuando de planificara para ejecucin de un proceso critico. Los sistemas de
tiempo real estrictos tienen requisitos mas fuertes: es necesario dar servicios a una tarea de
acuerdo con el plazo prefijado.
Ay que considerar ahora el tema de la planificacin para los sistemas de tiempo real estrictos. Sin
embrago, antes de continuar con los detalles de los algoritmos de planificacin individuales,
debemos definir ciertas caractersticas de los procesos que hay que planificar. En primer lugar, los
procesos se consideran peridicos, es decir que esos procesos requierne a la pcu en intervalos
constantes (periodos). Cada proceso peridico tiene un tiempo de procesamiento fijo t una vez
que adquiere la cpu, un plazo d antes del cual debe ser servido por la cpu y un periodo p. la
relacin del tiempo de procesamiento, el plazo y el periodo puede expresarse como 0 t d p. la
tasa de una tarea peridica es de

.


Tarea periodica
Lo que resulta inusual acerca de esta forma de planificacin es que un proceso puede tener que
anunciar al planificador sus requisitos relativos al plazo de servicio. Entonces, utilizando una
tcnica conocida con el nombre de algoritmo de control de admisin, planificador puede, o bien
admitir el proceso, garantizando que se contemplara en el tiempo prefijado, o rechazar solicitud
como imposible, si no puede garantizar que se vaya a dar servicio a la tarea antes de alcanzar el
plazo.
Planificacion por prioridad montona en taza:
El algoritmo de planificacin por prioridad montona en tasa (rate-monotonic scheduling) planifica
las tareas peridicas utilizando una poltica de prioridad estatica con apropiacin. Si se esta
ejecutando un proceso de menor prioridad y otro proceso de mayor prioridad pasa a estar
disponible para ejecucin, este proceso desalojara al proceso de menor prioridad. Al entrar en el
sistema, a cada tarea peridica se le asignan una prioridad que esta en funcin inversa a su
periodo: cuanto mas sea el periodo, mayor ser la prioridad y cuanto mas sea el periodo, menor
ser la prioridad. La razn que subyace a esta poltica consiste en asignar una mayor prioridad a
aquellas tareas que requieren la CPU mas a menudo. Adems, la planificacin por prioridad
montona en tasa presupone que el tiempo de procesamiento de un proceso peridico es igual en
cada rfaga de la cpu, es decir, que cada vez que un proceso adquiere la cpu, la duracin de su
correspondiente rfaga de cpu es la misma.
La planificacin por prioridad montona en tasa se considera optima, en el sentido de que si un
conjunto de procesos no puede planificarse utilizando este algoritmo, no podr ser planificado por
ningn otro algoritmo que asigne prioridades estticas. A pesar de ser optimo, la prioridad
montona en tasa tiene una limitacin: la utilizacin de la cpu esta acotada y no siempre es
posible maximizar por completo los recursos de la cpu.


Planificacin por prioridad montona en tasa

S-ar putea să vă placă și