Está en la página 1de 6

Sistemas Digitales II

Trabajo Autónomo 3 (Para Ingeniería en Electrónica y


Automatización)
Ing. Marcelo Flores Mst. Mgt.
Desarrollado por: José David Abril Vera

1) ¿Qué es un sistema de tiempo real?

Un sistema de tiempo real es un sistema informático en el que, a respuesta de eventos o


solicitudes de ejecución externas, el tiempo de servicio está delimitado y siempre por
debajo del tiempo especificado por los requerimientos de la aplicación.Describa
brevemente cada uno de los 6 tipos de sistemas de tiempo real clasificados de acuerdo a las
propiedades del sistema controlado.

2) Describa brevemente cada uno de los 6 tipos de sistemas de tiempo real clasificados de acuerdo a
las propiedades del sistema controlado.

1. Críticos (Hard)
No se puede admitir que se sobrepase el plazo de respuesta especificado ni una sola
vez

2. Acrítica (Soft)
Es admisible que se sobrepase el plazo ocasionalmente

3. Firme (Firm)
El plazo no es crítico, pero una respuesta tardía no sirve para nada

4. Interactiva
No se especifican plazos de respuesta, sino tiempos de respuesta medios

5. Parada Segura (fail-safe)


El sistema mantiene su integridad, aceptando una parada temporal, requieren una
elevada probabilidad de detección de fallos, Ej: parada de una célula de fabricación

6. Degradación Aceptable (fail-soft)


Pérdida parcial de funcionalidad o prestaciones, Ej: Sistema automático de control de
tráfico aéreo de EEUU

3) Mencione 8 características de los lenguajes para sistemas de tiempo real.


1) Concurrentes.
2) Fiables.
3) Modelo de datos orientado a objetos.
4) Acceso a bajo nivel.
5) Drivers de dispositivos.
6) Tratamiento de excepciones.
7) Código transportable y eficiente.
8) Permiten Gestión del tiempo.

4) Mencione los 3 tipos de lenguajes que son de interés para los sistemas de tiempo real y señale 2
ejemplos de cada uno.

1) Lenguajes ensambladores
2) Lenguajes secuenciales (Fortran, Pascal, C, ...)
3) Lenguajes concurrentes (Modula, Ada, ...)

5) ¿Qué es un sistema operativo de tiempo real?

Los Sistemas Operativos de tiempo real son aquellos en los cuales no tiene importancia el usuario,
sino los procesos. Por lo general, están subutilizados sus recursos con la finalidad de prestar atención
a los procesos en el momento que lo requieran. se utilizan en entornos donde son procesados un
gran número de sucesos o eventos.

6) Mencione 7 sistemas operativos de tiempo real.

7) Mencione 2 características del sistema operativo QNX y 4 plataformas admitidas.

• Características
1) Es un sistema operativo de tiempo real de tipo Unix que cumple con la norma POSIX
2) Es desarrollado principalmente para su uso en sistemas embebidos.
• Plataformas admitidas:
Intel 8088, x86, MIPS, PowerPC, SH-4, ARM, StrongARM, Xscale

8) Mencione 2 características del sistema operativo VxWorks y 4 plataformas admitidas.

• Características
1) Es utilizado para sistemas embebidos que habitualmente necesitan una respuesta rápida del
orden de ms o microsegundos ante interrupciones en su funcionamiento.
2) Una reconocida estabilidad y una seguridad certificada.
• Plataformas admitidas:
Intel x86, x86-64, MIPS, ARM, PowerPC, SuperH.
9) Mencione 4 características del sistema operativo FreeRTOS y 8 plataformas admitidas.

• Características
1) Fue desarrollado en asociación con las principales compañías de chips del mundo durante un
período de 15 años, es el estándar de facto para uC y uP pequeños.
2) Es gratuito incluso cuando se utiliza en aplicaciones comerciales.
3) FreeRTOS está diseñado para ser pequeño y simple. El núcleo en sí consta de sólo tres
archivos implementados en C, pero hay un par de funciones en assembler que están
incluidas.
4) Ocupa típicamente entre 6KB a 12KB.
• Plataformas admitidas:
ARM, 8051, AVR, AVR32, PIC32, PIC24, dsPIC, x86, Microblaze, RISC-V, APS3, V850, IA32, etc.

10) Mencione 4 características del sistema operativo SAFERTOS y 8 plataformas admitidas.


• Características
1) Ofrece un rendimiento superior y una fiabilidad precertificada, a la vez que utiliza recursos
mínimos.
2) Desarrollado por los sistemas de alta integridad WITTENSTEIN (WHIS), un socio de FreeRTOS
que se especializa en seguridad.
3) Tanto SafeRTOS como FreeRTOS comparten el mismo algoritmo de programación, tienen API
similares y, por lo demás, son muy similares y por lo tanto de fácil migración.
4) SafeRTOS se desarrolló únicamente en el lenguaje C para cumplir con los requisitos de
certificación IEC61508.
• Plataformas admitidas:
Nios II, AVR32, Tricore, dsPIC DSC, ARM Cortex-(M3, M4, M0+), C28x, Microblaze, ARC EM

11) ¿Qué es el planificador?

El planificador es la parte del kernel responsable de decidir qué tarea se debe ejecutar en un
momento determinado.El kernel puede suspender y luego reanudar una tarea muchas veces durante
la vida útil de la tarea.

12) ¿Qué es la política de planificación?

La política de planificación es el algoritmo utilizado por el planificador para decidir qué tarea ejecutar
en cualquier momento. La política de un sistema multiusuario (no en tiempo real) probablemente
permitirá a cada tarea una proporción "justa" del tiempo del procesador.

13) ¿Qué es la programación concurrente?

La programación concurrente es la ejecución simultánea de múltiples tareas interactivamente. Estas


tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las
tareas se pueden ejecutar en una sola CPU (multiprogramación), en varios procesadores, o en una
red de computadores distribuidos.

14) ¿Qué es una tarea?

Una tarea es un trabajo por ejecutarse en el CPU. Estas tareas pueden ser procesos, es decir, ordenes
secuenciales o hilos de ejecución.
15) ¿En qué se diferencia una co-rutina de una tarea?

Una corrutina es un proceso que se lleva a cabo y puede ser suspendido para continuar
posteriormente, sin embargo, se debe tener cuidado dado que las corrutinas no se pueden bloquear
a diferencia de las tareas.

16) ¿Qué es la sección crítica?

La sección crítica es el estado en el que un proceso está usando un recurso compartido, de modo que
se prohíbe a otros procesos que se lean o escriban datos compartidos en dicho recurso.

17) ¿Qué es la condición de carrera?

La condición de la carrera se refiere a un escenario en el que dos o más subprocesos intentan


acceder a un recurso compartido, como una variable o un código, y cambiarlo al mismo tiempo
debido a una ejecución indeterminada del subproceso en el algoritmo de programación de
subprocesos.

18) Mencione los cuatro posibles estados de una Tarea.

Los cuatro posibles estados de una tarea son:


1. Running
2. Ready
3. Bloked
4. Suspended

19) Describa el estado “Running” de una tarea.

En el estado “Running” la tarea tiene asignada un procesador y está ejecutando sus instrucciones.

20) Describa el estado “Ready” de una tarea.

En el estado “Ready” la tarea está lista para ejecutar, solo necesita del recurso procesador.

21) Describa el estado “Bloked” de una tarea.

En el estado “Bloked” la tarea está esperando por un evento (que se complete un pedido de E/S o
una señal).

22) Describa el estado “Suspended” de una tarea.

En el estado “Suspended” la tarea ha sido suspendida (retirada del disco a otra área) para evitar un
consumo de memoria.

23) Mencione 7 recursos utilizados para la sincronicación y-o comunicación entre tareas

1. Task Notifications (Notificaciones de tareas)


2. Stream and Message Buffers (Búferes de stream y mensajes)
3. Queues (Colas)
4. Binary Semaphores (Semáforos Binarios)
5. Counting Semaphores (Semáforos de Conteo)
6. Mutexes (Candados)
7. Recursive Mutexes (Candados Recursivos)

24) ¿Qué es y cómo funcionan las “Task Notifications”?

Una notificación de tarea RTOS puede desbloquear a la tarea receptora y opcionalmente, actualizar
el valor de notificación de la tarea receptora.
La flexibilidad de las notificaciones de tareas ha permitido que estas sean usadas en lugares donde
antes habría sido necesario usar colas o semáforos.

25) ¿Qué es y cómo funcionan los “Stream and Message Buffers”?

Los “Stream and Message Buffers” permiten pasar un stream de bytes de una rutina de servicio de
interrupción a una tarea, o de una tarea a otra. Un stream de bytes puede tener una longitud
arbitraria y no necesariamente tiene un comienzo o un final.

Los datos se pasan por copia: los datos se copian en el búfer por el remitente y fuera del búfer por la
lectura. Los buffers de flujo están optimizados para escenarios de un solo lector y un solo escritor,
como pasar datos de una rutina de servicio de interrupción a una tarea, o de un núcleo de
microcontrolador a otro, en una CPU de doble núcleo.

26) ¿Qué es y cómo funcionan las “Queues”?

Las colas son la principal forma de comunicación entre tareas.

Se pueden usar para enviar mensajes entre tareas y entre interrupciones y tareas. En la mayoría de
los casos, se utilizan como búferes FIFO (Primero en entrar, primero en salir).

27) ¿Qué es y cómo funcionan los “Binary Semaphores”?

Los semáforos binarios se utilizan para fines de exclusión mutua y sincronización.

Funcionan como una cola que solo puede contener un elemento. Por lo tanto, la cola solo puede
estar vacía o llena, es decir, binaria. Las tareas e interrupciones al usar la cola no les importa lo que
contenga la cola, solo quieren saber si la cola está vacía o llena.

28) ¿Qué es y cómo funcionan los “Counting Semaphores”?

Los semáforos de conteo pueden considerarse como colas de longitud mayor que uno.

Los usuarios del semáforo no están interesados en los datos almacenados en la cola, solo si la cola
está vacía o no.

Los semáforos de conteo se usan típicamente para dos cosas: conteo de eventos y administración de
recursos.
29) ¿Qué es y cómo funcionan los “Mutexes”?

Los mutexes son semáforos binarios que incluyen un mecanismo de herencia prioritario, y son la
mejor opción para implementar la exclusión mutua simple.

Cuando se usa para exclusión mutua, el mutex actúa como un token que se usa para proteger un
recurso. Cuando una tarea desea acceder al recurso, primero debe obtener el token, y cuando haya
terminado con el recurso, debe "devolver" el token, permitiendo que otras tareas tengan la
oportunidad de acceder al mismo recurso.

30) ¿Qué es y cómo funcionan los “Recursive Mutexes”?

Un mutex recursivo puede ser 'tomado' repetidamente por el propietario.

Utiliza un mecanismo de herencia prioritario, por lo que una tarea que 'toma' un semáforo DEBE
SIEMPRE 'devolver' el semáforo una vez que el semáforo ya no es necesario.

31) ¿Qué es y cómo funcionan los “Software Timers”?

Un temporizador de software permite que una función se ejecute en un momento establecido en el


futuro.

La función ejecutada por el temporizador se denomina función de devolución de llamada del


temporizador.

El tiempo entre el inicio de un temporizador y la ejecución de su función de devolución de llamada se


denomina período del temporizador.

En pocas palabras, la función de devolución de llamada del temporizador se ejecuta cuando expira el
período del temporizador.

También podría gustarte