Narrador: En esta lección,
vamos a empezar a hablar de algunos sistemas empotrados.
Ahora bien, cuando hablamos de un sistema
embebido, se trata de un sistema informático
diseñado para realizar una función específica y dedicada.
A menudo, cuando hablamos de sistemas integrados,
nos referimos más bien
al ámbito de la fabricación o la automatización.
Así que podríamos tener un microcontrolador
en un sistema de goteo médico que tiene un trabajo.
Es para medir la cantidad de volumen de fluido
que pasa a través de esa máquina y en su IV para que pueda dar
al paciente lo que necesita.
Podría tener otro para un
sistema de control en una planta de tratamiento de aguas.
Y su responsabilidad es asegurarse
de que el agua fluye a un ritmo determinado.
Y van a abrir o cerrar válvulas para asegurarse
de que mantenemos esa cantidad de flujo a través del sistema.
Esta es la idea de un sistema integrado.
Y puede ser un dispositivo muy, muy simple o puede
ser totalmente complejo y tener un
sistema operativo completo como Linux o Android que se utiliza
para ejecutar este tipo de sistemas.
Depende.
Ahora, en esta lección en particular,
me voy a centrar más en los sistemas embebidos específicos que
tienen una sola función y tienen
su propio sistema operativo dedicado o microprocesadores
para hacer esa función.
Por ejemplo, en mi casa tengo un contador inteligente.
Así que si salgo a la puerta de mi casa, puedo
mirar el contador eléctrico de mi
casa y me dirá cuántos kilovatios por hora estoy consumiendo y cuánto
he consumido a lo largo del tiempo.
Ahora, esta información está conectada a Internet para que
la compañía eléctrica no tenga
que enviar a alguien a mi casa a leer
este contador una vez al mes.
En cambio, ahora todo se hace electrónicamente.
Para ello utilizan módems celulares
y se conectan a través de la red
celular a su sede central y a sus servidores
para introducir los datos de consumo
de energía.
Si miras el contador de tu
casa, probablemente tengas algo muy parecido.
Ahora bien, estos tipos de sistemas empotrados
se consideran entornos estáticos en los que
no se realizan ni se permiten cambios frecuentes.
¿Cuándo fue la última vez que actualizó el software de su
contador eléctrico, por ejemplo?
Probablemente nunca lo hayas hecho.
Y probablemente la compañía eléctrica tampoco lo haga
con mucha frecuencia.
Esa es la idea de estos sistemas integrados.
Se trata de un sistema muy simplificado,
concebido para un único propósito.
Y al hacerlo, eso les ayuda a ser más seguros porque
no tienen mucho código extra.
Pero si ese código original
no se hizo en buen estado, dificulta las actualizaciones,
porque estas cosas no se construyen
para poder recibir actualizaciones
de software frecuentes.
Por ello, los sistemas
empotrados suelen tener muy poco soporte para identificar
y corregir los problemas de seguridad.
No puedes llamar a la compañía eléctrica
y decirles que vengan a asegurar tu contador.
Eso no forma parte de lo que van a hacer por ti.
Lo harán como quieran
porque es su aparato.
Y a menudo, si tienes un sistema integrado dentro de tu fábrica
o dentro de tu planta, si estás en una zona de fabricación, vas a
tener un soporte limitado por parte de ese fabricante.
Así que esta es un área en la que
realmente quieres tener todos estos
dispositivos en una red separada
y no tenerlos conectados de nuevo a Internet en general, donde
esto podría ser una gran área de vulnerabilidad para ti.
Ahora, cuando hablamos de sistemas
integrados, hay un término llamado PLC,
que es un controlador lógico programable.
Se trata de un tipo de ordenador diseñado para su uso en
entornos industriales o al aire libre y que puede
automatizar nuestros modernos sistemas mecánicos.
Ahora, cuando pienses en un PLC, quiero
que pienses en algo como la fabricación
que va a abrir o cerrar una válvula para
dejar entrar más o menos agua.
Esa es la idea de un PLC.
Se trata de un controlador lógico programable.
Ahora bien, estos PLC funcionan con firmware porque,
de nuevo, se trata de sistemas integrados.
Así, el firmware, que es software en un chip, puede parchearse
y reprogramarse para solucionar las
vulnerabilidades cuando se producen.
Pero, de nuevo, hay un proceso muy específico
y el apoyo del fabricante suele ser limitado.
No es como Microsoft,
que te da un parche cada martes.
Con estos PLC, es posible que recibas un parche cada seis
meses, o un año, o dos años.
Suele pasar mucho tiempo entre parche y parche.
Ahora, la otra cosa de la que queremos hablar es de
algunos de estos sistemas operativos que utilizan.
Así que hay una cosa conocida como RTOS, que
es un sistema operativo en tiempo real.
Ahora bien, se trata de un tipo de sistema operativo
que prioriza la ejecución determinista de las operaciones.
Y esto nos ayudará a garantizar una respuesta coherente para
las tareas en las que el tiempo es un factor crítico.
Ahora, piensa en esto.
Si tienes que abrir o cerrar una válvula en una central
nuclear, ¿puedes tener la capacidad
de desconectarla en cualquier momento?
Probablemente no, ¿verdad?
Bueno, esa es la idea de dónde usaríamos un RTOS, un
sistema operativo en tiempo real.
Esto se debe a que muchos de nuestros sistemas
integrados no pueden tolerar reinicios o bloqueos
y tienen que tener tiempos de respuesta
predecibles en milisegundos.
Así que si estoy construyendo
algo que va a ejecutar partes de un avión, que va a ayudar
a mi piloto automático a volar, y con el piloto automático
necesita hacer ajustes en las alas cada par
de milisegundos, bueno, eso es algo para lo que querríamos
utilizar un sistema operativo en tiempo
real.
No podemos utilizar un sistema Windows estándar para ello.
No es lo suficientemente rápido ni potente.
Y está sujeto a reinicios o bloqueos, y a parches
de seguridad, y a todas esas cosas.
Así que RTOS, cuando oigas ese término, piensa que
es el tipo de sistema operativo que se utiliza
a menudo con sistemas embebidos, especialmente
en aplicaciones críticas.
Otra forma de hacerlo
es utilizando un sistema en un chip.
Se trata de otra forma de sistemas empotrados.
Aquí es donde nuestro procesador integra
la funcionalidad de plataforma de varios controladores
lógicos en un solo chip.
Ahora bien, este sistema en un chip puede ser muy eficiente desde el punto de vista energético
y, por tanto, suelen utilizarse en dispositivos más pequeños que necesitan
tener un sistema integrado.
Así que si necesito crear
algo que tenga un sistema
integrado y sea muy pequeño para que quepa en mi bolsillo,
normalmente utilizaría algo como un sistema en un chip.
Si utilizas algo como un Roomba
o un robot aspirador, estos utilizan
un tipo de mentalidad de sistema en un chip porque intentan poner
toda esa información en un único chip, porque,
de nuevo, ocupa menos espacio y, por tanto,
puedes dejar más espacio para las piezas funcionales que
necesitas, como el aspirador.
Un sistema en un chip es un tipo de circuito integrado que contiene
todos los componentes de un sistema informático
en un único chip.
Esto incluye el procesador, la memoria, el almacenamiento,
el procesador gráfico y los periféricos,
como controladores USB, circuitos de gestión de energía
y radios inalámbricas para wifi o Bluetooth.
Un gran ejemplo de sistema en un chip es la Raspberry Pi, que
contiene un ordenador totalmente
contenido en un único chip.
Ahora, muchos de estos system-on-a-chips
se van a incrustar en otros dispositivos
como televisores inteligentes y decodificadores, como los dispositivos
de streaming Amazon Fire TV, Roku y Apple TV.
Los diseños System-on-a-chip se han hecho muy populares
por su bajo consumo de energía, su rendimiento
decente y su pequeño factor de forma.
Por ejemplo, si tienes un Roku o Fire TV Stick, esos
tienen el tamaño de una memoria USB.
Sin embargo, proporcionan una funcionalidad de televisión inteligente totalmente
operativa en cualquier televisor existente
y pueden procesar vídeo en streaming a través
de una conexión inalámbrica mediante estos dispositivos.