#Novedades de la industria
Yocto vs. Ubuntu
Los sistemas operativos en comparación
Visión de conjunto: Sistema operativo
Una decisión clave en el desarrollo de proyectos de IoT e infraestructuras de borde tiene que ver con el software y, en relación con éste, con la elección de un sistema operativo adecuado. Un sistema operativo es un software de sistema de bajo nivel que gestiona los recursos de hardware y software del ordenador y facilita en gran medida las funciones básicas del mismo, como la gestión de recursos, la gestión de la memoria, el control de los dispositivos periféricos y la creación de redes. El sistema operativo sirve de interfaz entre el hardware y el software del ordenador y, por tanto, es un componente importante de un sistema. Hay varios sistemas operativos disponibles en el mercado, siendo Microsoft Windows el más conocido en el entorno de los ordenadores de sobremesa. Si se sale del ámbito de los ordenadores de sobremesa, se suelen utilizar sistemas operativos basados en el núcleo de Linux.
Sistema operativo de código abierto: Linux
Linux es un grupo de sistemas operativos tipo Unix construidos sobre el núcleo Linux. Pertenece a la familia del software libre y de código abierto y suele estar disponible de forma gratuita en una distribución de Linux como Ubuntu. Una distribución de Linux es una selección de cierto software y un núcleo de Linux que se coordinan entre sí para formar un sistema operativo utilizable. Se utiliza sobre todo para servidores y sistemas integrados, pero también está disponible en versión de escritorio. Dado que Linux es de código abierto, puede incluso verse y verificarse en el nivel del núcleo. La computación de borde y el IoT a menudo implican sistemas embebidos, por lo que el hardware y el software deben integrarse en consecuencia según los requisitos individuales. Para ello, Linux es la mejor opción porque permite escribir controladores básicos a nivel del núcleo para satisfacer estas necesidades.
Especialmente en el mundo de los sistemas embebidos, el tamaño de una distribución completa de Ubuntu puede ser suficiente para limitar severamente la memoria limitada de la placa antes de que puedas siquiera empezar a instalar software adicional o recoger datos. Así que cuando se trata de aplicaciones que requieren muchos datos, se necesita un sistema operativo que ocupe poco espacio. Aquí es donde entra Yocto: el objetivo del proyecto Yocto es proporcionar software optimizado para aplicaciones integradas muy específicas.
Yocto y la diferencia con Ubuntu
En primer lugar, es importante entender que Yocto no es una distribución de Linux. De hecho, el sitio web del proyecto Yocto afirma: "No es una distribución Linux embebida, crea la suya propia". En cambio, Ubuntu es una distribución de Linux completa para fines informáticos generales. Dado que Ubuntu y otras distribuciones basadas en Debian están orientadas a la informática general y a la programación, son una buena opción para un entorno de desarrollo en el que puede ser necesario cambiar el código y modificar los prototipos con frecuencia.
Yocto permite reducir el tamaño del sistema operativo a lo necesario para su funcionamiento. Yocto es modular y requiere un SDK para construir una distribución. En este sentido, Yocto es más comúnmente conocido como una meta-distribución y puede ser visto como una colección de bibliotecas, dependencias, valores de configuración y clases que se juntan para crear una imagen de ejecución de Linux personalizada.
El proyecto Yocto es, por tanto, un proyecto de colaboración de código abierto que ayuda a los desarrolladores a crear sistemas personalizados basados en Linux, independientemente de la arquitectura del hardware. Yocto proporciona un conjunto flexible de herramientas y un espacio en el que los desarrolladores integrados de todo el mundo pueden compartir tecnologías, pilas de software, configuraciones y mejores prácticas para crear imágenes de Linux personalizadas para dispositivos integrados y de IoT o en cualquier lugar donde se necesite un sistema operativo Linux personalizado.
Conclusión
A la hora de decidir entre Yocto o Ubuntu, el veredicto debería ser bastante claro. Si se están desarrollando códigos, se está creando una prueba de concepto y se están probando los primeros prototipos, se debería utilizar Ubuntu. Si el código está completamente probado y se va a probar un prototipo funcional en una placa integrada, debería utilizarse Yocto, ya que ofrece ventajas en términos de velocidad y memoria.
Otro punto en el que el proyecto Yocto sale ganando es la posibilidad de personalizar el tamaño del sistema operativo. Especialmente en lo que respecta a las soluciones de gestión de dispositivos, que se utilizan para las actualizaciones remotas de los dispositivos IoT y de borde en el campo, la cantidad de datos que deben transferirse juega un papel importante. La huella en los dispositivos sobre el terreno también puede reducirse al mínimo. Esto significa que el limitado espacio de almacenamiento se utiliza de forma eficiente y, por lo tanto, los recursos de los dispositivos sobre el terreno se pueden aprovechar al máximo. Especialmente con un gran número de dispositivos, esto supone un importante ahorro de costes.
Traducción realizada con la versión gratuita del traductor www.DeepL.com/Translator