You are on page 1of 5

1.

Responder
a. Cuáles son las arquitecturas típicas de un SO. Explicar

Las arquitecturas típicas son:

- Arquitectura plana: Es la tradicional, integra todos los componentes en un mismo nivel o


espacio de direccionamiento. Requiere un conocimiento completo del sistema para el
diagnóstico de fallas y al incrementarse el tamaño del sistema, la probabilidad de falla
también se incrementa.
- Arquitectura monolítica: Es la primera mejora a la estructura tradicional. Los componentes
del sistema y los procesos de usuarios se ejecutan en niveles diferentes. Es más robusto ya
que asume que los únicos posibles causantes de fallas son los procesos de los usuarios.
Pero al crecer el sistema también se incrementa a probabilidad de falla al tener que crear
manejadores para cada proceso de usuario.
- Arquitectura micronucleo: Hace uso del modelo cliente servidor, ya que las partes del
sistema se separan del manejador por fronteras bien definidas, por lo que resultan más
comprensibles. Además, permite la creación de sistemas distribuidos en equipos distintos
y comunicados por red.

b. Por qué cree que el test respuesta rápida máxima (tiempo de respuesta) es mejor
que el test factor de utilización

Porque los test basados en el factor de utilización no son exactos y no son aplicables a procesos
más complejos donde se tengan recursos compartidos. Además, ofrecen una condición suficiente
pero no necesaria por lo que ante el incumplimiento no nos proporcionan mayor información. El
test de tiempo de respuesta considera el peor de los escenarios para calcular el tiempo máximo de
respuesta considerando que tareas de mayor prioridad interferirán en la ejecución de la primera
tarea.

c. En que consiste el enfoque de planificación de ejecutivo cíclico

Es una manera fácil de realizar tareas periódicas sin necesidad de concurrencia, ya que se utiliza
una lógica secuencial sin soporte del sistema operativo. El sistema es planificable desde su
construcción, pero es esta construcción la que se hace compleja ante la existencia de tareas no
rutinarias y ante el constante crecimiento del sistema.

d. Defina los conceptos de jitter y latencia


- Jitter: Tiempo promedio adicional al ideal que debería tomar cada tarea ejecutarse.
- Latencia: Tiempo desde que se produce la interrupción hasta que la tarea es ejecutada.
e. Porque cree que la planificación por prioridades es mejor que la planificación por
el ejecutivo cíclico

En la planificación por prioridades realiza las tareas como procesos concurrentes totalmente
interrumpibles, por lo que un proceso presenta estados, y suponiendo que no hay recursos
compartidos, un proceso de mayor prioridad siempre interrumpirá y desplazará a uno de menor
prioridad. Esto hace que su organización sea más sencilla para el programador y que presente un
mejor comportamiento en sistema de tiempo real crítico, sobre todo en casos con sobrecarga.

f. Definir los siguientes términos:


i. Tiempo de activación: Instante de tiempo en el que se da la interrupción o
la señal de inicio de una tarea. No implica que en este momento se
ejecute la tarea.
ii. Tiempo de computo: Lapso de tiempo o suma de lapsos de tiempo que
toma para que una tarea termine de ejecutarse.
iii. Plazo de ejecución: Intervalo de tiempo máximo en el que se debe
terminar de ejecutar una tarea.
iv. Periodo de ejecución: Intervalo de tiempo entre dos activaciones
consecutivas de una tarea.
v. Bloqueo: Situación indeseable (inversión de prioridad) causada por la
interrupción de una tarea de mayor prioridad por una de menor prioridad
que se encuentre utilizando un recurso compartido, obligando al sistema a
ejecutar primero la tarea de menor prioridad.
vi. Tiempo de respuesta: Intervalo de tiempo desde que se da la señal de
activación hasta que termina de ejecutarse la tarea.

2. Realice el cronograma durante 10 unidades de tiempo para las siguientes tareas:

Tarea T C P Ta
A 20 4 1 1
B 15 2 2 3
C 10 2 3 4
Teniendo en cuenta que las tareas A y C utilizan un recurso (A utiliza el recurso durante los 2
ut intermedios, y C utiliza el recurso durante su última ut)

a. Utilizar el protocolo de techo de prioridad

1 2 3 4 5 6 7 8 9 10
A x x

C x

En este caso no existe un segundo recurso compartido, por lo que esta representación es idéntica
a usar herencia de prioridad. La tarea B se ve bloqueada por la tarea A durante 1 ut.

b. Utilizar el protocolo de techo de prioridad inmediato

1 2 3 4 5 6 7 8 9 10
A x x

C x

En este caso la tarea A adquiere la máxima prioridad mientras use el recurso compartido y luego
sigue un comportamiento dominado solo por la prioridad fija. La tarea B se ve bloqueada por la
tarea A durante 1 ut.

3. Se tiene el siguiente conjunto de tareas:

Tarea P T C
A 4 6 1
B 3 8 3
C 2 8 2
D 1 12 2

a. Diga si es planificable mediante el test de respuesta máxima

Para utilizar este test debemos calcular los tiempos de respuesta de cada tarea y ver que sean
menores a sus plazos respectivos:

Tarea A:

y 1<6 Nadie tiene mayor prioridad por lo que ahí acaba el proceso de verificación.
Tarea B:

⌈ ⌉

⌈ ⌉

y 4<8 Nadie tiene mayor prioridad por lo que ahí acaba el proceso de verificación.

Tarea C:

⌈ ⌉ ⌈ ⌉

⌈ ⌉ ⌈ ⌉

y 6<8 Nadie tiene mayor prioridad por lo que ahí acaba el proceso de verificación.

Tarea D:

⌈ ⌉ ⌈ ⌉ ⌈ ⌉

⌈ ⌉ ⌈ ⌉ ⌈ ⌉

⌈ ⌉ ⌈ ⌉ ⌈ ⌉

y 14>12 entonces no se cumple el test.

b. Realice el cronograma de tiempo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A

Se produce la falla en el tiempo 12 ya que no se puede cumplir el plazo de la tarea D, el tiempo


mínimo requerido sería de 15 ut y eso se puede verificar si continuamos con el test:

⌈ ⌉ ⌈ ⌉ ⌈ ⌉
⌈ ⌉ ⌈ ⌉ ⌈ ⌉

Teniendo en cuenta que se está usando la planificación por prioridades no es posible realizar el
cronograma, pero si se utilizara ejecutivo cíclico si sería posible realizar estas tareas cumpliendo
los plazos.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
A

Se ve como claramente si se pueden realizar todas las tareas si se organizan de forma adecuada
(Sin incluir prioridades fijas).

4. Ejecutar la planificación por ejecutivo cíclico y decir si es planificable:

Tarea T C
A 4 0.5
B 4 2
C 8 1
D 16 4

A simple vista si las tareas no son interrumpibles, es imposible realizarlas, ya que la tarea D
requiere 4 ut y el periodo de A es de 4ut, por lo que no se podrían realizar ambas tareas.

Observación:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A

Como se puede ver, si la tarea D fuera posible dividirla en 4 tareas independientes, sería posible
planificar las tareas mediante el método de ejecutivo cíclico.

You might also like