# data[].attributes.body
Los sistemas embebidos son computadoras especializadas integradas dentro de un dispositivo mayor, diseñadas para realizar funciones específicas. En entornos industriales, estos sistemas controlan procesos como el llenado de botellas, la temperatura de hornos o el ensamblado robótico. Utilizan sensores, actuadores y microcontroladores programados con software a medida. A diferencia de una computadora de propósito general, no requieren de un sistema operativo completo y muchas veces operan en tiempo real, donde cada milisegundo cuenta. Se comunican con sistemas de supervisión como SCADA, permitiendo monitoreo remoto, alarmas y visualización de datos.

Preguntas:

1. ¿Qué diferencia a un sistema embebido de una computadora tradicional?

2. ¿Por qué es importante el tiempo real en estos sistemas?

3. ¿Qué elementos físicos permiten que el sistema embebido interactúe con su entorno?

4. ¿Cómo se vinculan estos sistemas con los sistemas SCADA?

5. ¿Qué riesgos podría haber si falla un sistema embebido en una línea de producción crítica?

# data[].attributes.body
Las arquitecturas distribuidas consisten en varios componentes computacionales conectados en red que trabajan en conjunto para cumplir un objetivo común. Estas arquitecturas permiten mayor escalabilidad, redundancia y disponibilidad. Por ejemplo, los servicios en la nube como Google Drive o Netflix funcionan sobre infraestructuras distribuidas que operan en múltiples centros de datos. Sin embargo, presentan desafíos como la sincronización entre nodos, tolerancia a fallos, y gestión de la latencia. Protocolos como Paxos o Raft permiten lograr consenso entre los nodos, fundamentales para que el sistema mantenga coherencia sin un único punto de fallo.

Preguntas:

1. ¿Qué ventajas presentan las arquitecturas distribuidas frente a las centralizadas?

2. ¿Por qué es crítico el consenso entre nodos en estos sistemas?

3. ¿Qué problema puede surgir si aumenta la latencia en un sistema distribuido?

4. ¿Qué diferencia hay entre disponibilidad y tolerancia a fallos?

5. Si tuvieras que diseñar un sistema distribuido para una aplicación bancaria, ¿qué desafíos deberías considerar?

# data[].attributes.body
La virtualización permitió ejecutar múltiples sistemas operativos en un solo equipo físico, aislando entornos sin duplicar hardware. Posteriormente, los contenedores como Docker ofrecieron una solución más ligera y eficiente, encapsulando aplicaciones y sus dependencias en un solo paquete ejecutable. A diferencia de las máquinas virtuales, los contenedores comparten el kernel del sistema anfitrión, lo que permite mayor velocidad y menor consumo de recursos. Esta tecnología es clave en la filosofía DevOps y la infraestructura como código, permitiendo despliegues automatizados, escalabilidad y testing reproducible.

Preguntas:

1. ¿Qué diferencia técnica hay entre una VM y un contenedor?

2. ¿Qué ventajas aporta Docker en el desarrollo y despliegue de software?

3. ¿Por qué se dice que los contenedores son “efímeros”?

4. ¿Qué implicancias tiene la virtualización en la seguridad del sistema?

5. ¿Cómo podrías usar contenedores en un proyecto educativo que implique servidores?

# data[].attributes.body
En sistemas críticos (aeronáutica, salud, defensa), los sistemas operativos deben garantizar no solo eficiencia, sino predictibilidad. Se utilizan versiones de tiempo real (RTOS) como VxWorks, QNX o FreeRTOS, capaces de ejecutar tareas en tiempos exactos, sin variabilidad. Estos sistemas tienen mecanismos específicos de planificación de tareas, interrupciones, gestión de memoria sin swapping y tolerancia a fallos. Cualquier desfase puede tener consecuencias graves. A su vez, deben certificarse bajo normas como DO-178C o ISO 26262, que exigen trazabilidad y pruebas exhaustivas del software.

Preguntas:

1. ¿Por qué no se pueden usar sistemas operativos tradicionales en entornos críticos?

2. ¿Qué características tiene un RTOS que garantizan su confiabilidad?

3. ¿Cómo se gestionan las interrupciones en estos sistemas?

4. ¿Qué rol juega la certificación en el desarrollo de software para entornos críticos?

5. ¿Qué desafíos enfrentan los técnicos que diseñan estos sistemas en la práctica?

# data[].attributes.body
Los sistemas computacionales actuales integran inteligencia artificial con computación en el borde (edge computing), permitiendo que dispositivos locales tomen decisiones sin depender de servidores centrales. Autos autónomos, drones y dispositivos médicos inteligentes operan con redes neuronales entrenadas para detectar patrones, tomar decisiones y actuar en tiempo real. Esto reduce la latencia, mejora la privacidad de los datos y permite resiliencia ante cortes de conexión. El desafío está en optimizar el rendimiento en dispositivos con recursos limitados, garantizando seguridad y ética en la toma de decisiones automatizadas.

Preguntas:

1. ¿Qué ventajas tiene ejecutar IA en el borde frente al procesamiento en la nube?

2. ¿Qué limitaciones técnicas enfrentan estos dispositivos?

3. ¿Cómo se entrena y despliega una red neuronal en un sistema autónomo?

4. ¿Qué medidas de seguridad se deben implementar en estos sistemas?

5. ¿Cómo debería abordarse la responsabilidad ética si un sistema autónomo comete un error?

# data[].attributes.body
1. Un sistema embebido está diseñado para realizar una tarea específica, mientras que una computadora tradicional es más general y flexible.

2. En entornos industriales, el tiempo real es esencial para evitar retrasos que puedan afectar la producción o la calidad del producto.

3. Los sensores capturan datos, los actuadores realizan acciones físicas, y el microcontrolador procesa y coordina todo.

4. Los sistemas embebidos envían datos y reciben comandos de los sistemas SCADA para monitorear y controlar procesos industriales en tiempo real.

5. Un fallo en un sistema embebido puede causar paradas, errores de calidad, problemas de seguridad y costos adicionales.

# data[].attributes.body
1.

Escalabilidad: Permiten añadir más nodos sin afectar el sistema.

Redundancia y disponibilidad: Si un nodo falla, otros pueden continuar funcionando.

Tolerancia a fallos: El sistema sigue operativo incluso si parte de la infraestructura se cae.

2. Es crucial para asegurar que todos los nodos tengan datos consistentes y sincronizados, evitando errores o desincronización, especialmente en situaciones de fallo de nodos.

3. Mayor latencia puede reducir el rendimiento, generar desincronización entre nodos y afectar la experiencia del usuario, además de hacer más lenta la toma de decisiones en tiempo real.

4. Disponibilidad: El sistema está operativo y accesible.

Tolerancia a fallos: El sistema sigue funcionando a pesar de fallos en algunos nodos o componentes.

5. Consistencia de datos: Es vital que las transacciones sean coherentes entre nodos.

Seguridad: Protección de datos sensibles mediante cifrado y autenticación.

Escalabilidad y rendimiento: Capacidad para manejar picos de transacciones.

Tolerancia a fallos: Mantener el servicio en funcionamiento aún si algo falla.

Cumplimiento normativo: Cumplir con regulaciones de seguridad y privacidad como PCI-DSS.

# data[].attributes.body
1. Diferencia entre VM y contenedor

VM: Ejecuta un sistema operativo completo con su propio kernel, lo que consume más recursos.

Contenedor: Comparte el kernel del sistema anfitrión, es más ligero y eficiente.

2. Portabilidad: Las aplicaciones funcionan igual en cualquier entorno.

Aislamiento: Cada contenedor es independiente, evitando conflictos entre aplicaciones.

Despliegue rápido: Facilita la automatización de despliegues y pruebas.

Escalabilidad: Se pueden añadir o eliminar contenedores rápidamente según la demanda.

3. Los contenedores son diseñados para ser temporales, sin mantener estado entre ejecuciones, lo que los hace ideales para aplicaciones que necesitan ser creadas y destruidas rápidamente.

4. Beneficios: Aislamiento de máquinas, reduciendo el riesgo de fallos cruzados.

Riesgos: El hypervisor es un punto único de fallo; si se ve comprometido, todas las VMs pueden estar en peligro.

5. Entornos consistentes: Todos los estudiantes tienen el mismo entorno de desarrollo.

Aislamiento de servicios: Facilita la ejecución de múltiples servicios sin interferencias.

Escalabilidad: Puedes agregar o eliminar contenedores rápidamente para pruebas o cambios.

Automatización: Permite pruebas y despliegues rápidos y consistentes.

# data[].attributes.body
1. Los sistemas operativos tradicionales no garantizan tiempos de respuesta precisos ni determinismo en la ejecución de tareas, lo que puede generar fallos en sistemas donde la precisión es crucial, como en aeronáutica o salud.

2.

Planificación determinista: Ejecuta tareas en tiempos exactos.

Gestión eficiente de interrupciones: Asegura que las tareas críticas se ejecuten sin retrasos.

Sin swapping: La memoria se gestiona de manera fija, evitando cambios que puedan afectar el rendimiento.

Tolerancia a fallos: Detecta y maneja fallos sin afectar la operación del sistema.

3. Las interrupciones se gestionan por prioridades: las más críticas interrumpen otras tareas, garantizando tiempos de respuesta rápidos y determinísticos sin bloquear el sistema.

4. La certificación asegura que el software cumple con estándares de seguridad y fiabilidad (como DO-178C para aeronáutica y ISO 26262 para automoción), garantizando que se ha probado exhaustivamente y es apto para su uso en entornos críticos.

5.

Cumplir con los requisitos de tiempo real y asegurar que todas las tareas se ejecuten sin variabilidad.

Garantizar confiabilidad y disponibilidad continua, incluso ante fallos.

Cumplir con normativas estrictas (DO-178C, ISO 26262), lo que implica pruebas y documentación rigurosas.

Integración de hardware y software con recursos limitados.

# data[].attributes.body
1.

Menor latencia: Decisiones en tiempo real sin depender de la nube.

Mejor privacidad: Los datos no se envían a la nube.

Resiliencia: Funciona incluso sin conexión a internet.

Eficiencia: Menos carga en la nube.

2.

Recursos limitados: Menos capacidad de procesamiento y almacenamiento.

Consumo energético: Requiere más energía, especialmente en dispositivos pequeños.

Conectividad: Puede depender de la conexión para actualizaciones.

Optimización de modelos: Los modelos deben ajustarse a las limitaciones de hardware.

3.

Entrenamiento: Se realiza en servidores potentes con grandes volúmenes de datos.

Despliegue: Los modelos se optimizan para los dispositivos de borde, usando técnicas como cuantización.

Actualización: Los modelos se actualizan periódicamente a través de la red.

4.

Cifrado de datos: Protege los datos sensibles.

Autenticación y autorización: Asegura acceso solo a usuarios legítimos.

Detección de anomalías: Identifica ataques o comportamientos sospechosos.

Protección de modelos: Previene manipulaciones adversariales.

Actualizaciones seguras: Garantiza la integridad de las actualizaciones.

5.

Responsabilidad compartida: Desarrolladores, fabricantes y usuarios tienen responsabilidades.

Transparencia: Los usuarios deben ser informados sobre limitaciones y riesgos.

Supervisión humana: Necesaria en entornos críticos.

Normativas: Deben definir responsabilidades y compensaciones ante fallos.

# data[].attributes.headline
1. Un sistema embebido hace una tarea específica; una compu tradicional es de propósito general.                                         2. El tiempo real es clave porque si se demora, el proceso puede fallar.                                                         3. Se conecta con el entorno mediante sensores y actuadores 4. Se comunica con SCADA para enviar datos y recibir órdenes.      5. Si falla, puede parar la producción, dañar máquinas o generar riesgos de seguridad.

# data[].attributes.subject
1. Un sistema embebido hace una tarea específica; una compu tradicional es de propósito general.                                         2. El tiempo real es clave porque si se demora, el proceso puede fallar.                                                         3. Se conecta con el entorno mediante sensores y actuadores 4. Se comunica con SCADA para enviar datos y recibir órdenes.      5. Si falla, puede parar la producción, dañar máquinas o generar riesgos de seguridad.

# data[].attributes.headline
1. Más escalabilidad, menos caídas y mejor rendimiento que un sistema centralizado.2. El consenso evita que los nodos tengan datos distintos.3. Con más latencia, el sistema se vuelve más lento y puede descoordinarse.4. Disponibilidad = estar activo; tolerancia a fallos = seguir funcionando si algo falla.5. En banca: asegurar datos coherentes, seguridad, baja latencia y funcionamiento continuo.

# data[].attributes.subject
1. Más escalabilidad, menos caídas y mejor rendimiento que un sistema centralizado.2. El consenso evita que los nodos tengan datos distintos.3. Con más latencia, el sistema se vuelve más lento y puede descoordinarse.4. Disponibilidad = estar activo; tolerancia a fallos = seguir funcionando si algo falla.5. En banca: asegurar datos coherentes, seguridad, baja latencia y funcionamiento continuo.

# data[].attributes.headline
1. La VM tiene su propio SO; el contenedor comparte el kernel y es más liviano.2. Docker hace más fácil y rápido desarrollar y desplegar apps.3. Son “efímeros” porque se crean y borran rápido, sin guardar cosas permanentes.4. La virtualización aísla entornos, pero si falla el host, afecta a todos.5. Podés usar contenedores para montar servidores de prueba sin riesgo.

# data[].attributes.subject
1. La VM tiene su propio SO; el contenedor comparte el kernel y es más liviano.2. Docker hace más fácil y rápido desarrollar y desplegar apps.3. Son “efímeros” porque se crean y borran rápido, sin guardar cosas permanentes.4. La virtualización aísla entornos, pero si falla el host, afecta a todos.5. Podés usar contenedores para montar servidores de prueba sin riesgo.

# data[].attributes.headline
1. No se usan SO tradicionales porque no garantizan tiempos exactos ni comportamiento predecible.2. Un RTOS ofrece tiempos determinísticos, planificación precisa y memoria sin swapping.3. Las interrupciones se manejan con prioridad estricta y latencias muy bajas.4. La certificación asegura que el software cumple normas, es seguro y está totalmente probado.5. Los técnicos deben lograr precisión total, tolerancia a fallos y cumplir normas muy estrictas.

# data[].attributes.subject
1. No se usan SO tradicionales porque no garantizan tiempos exactos ni comportamiento predecible.2. Un RTOS ofrece tiempos determinísticos, planificación precisa y memoria sin swapping.3. Las interrupciones se manejan con prioridad estricta y latencias muy bajas.4. La certificación asegura que el software cumple normas, es seguro y está totalmente probado.5. Los técnicos deben lograr precisión total, tolerancia a fallos y cumplir normas muy estrictas.

# data[].attributes.headline
1. La IA en el borde baja la latencia, mejora la privacidad y sigue funcionando sin internet.2. Tienen poca memoria, poco poder de cómputo y consumen poca energía.3. Se entrena en la nube/PC potente y se despliega el modelo optimizado en el dispositivo.4. Hay que proteger datos, asegurar el firmware, validar decisiones y evitar accesos no autorizados.5. La ética debe definir quién es responsable, cómo se auditan decisiones y cómo se previenen daños.

# data[].attributes.subject
1. La IA en el borde baja la latencia, mejora la privacidad y sigue funcionando sin internet.2. Tienen poca memoria, poco poder de cómputo y consumen poca energía.3. Se entrena en la nube/PC potente y se despliega el modelo optimizado en el dispositivo.4. Hay que proteger datos, asegurar el firmware, validar decisiones y evitar accesos no autorizados.5. La ética debe definir quién es responsable, cómo se auditan decisiones y cómo se previenen daños.