OpenDroneMap: software de mapeado por drone

opendronemap

OpenDroneMap es un software de fotogrametría de código abierto y que sirve para fotografiar áreas a mapas y modelos 3D. Este software es hospedado y distribuido libremente y gratis desde GitHub. Esta disponible para macOS, Windows, y GNU/Linux. Se ha licenciado bajo GNU GPLv3 y está escrito usando lenguajes de programación Python, C++, JavaScript, y Go.

Esta herramienta de código abierto procesará imágenes capturadas por las cámaras de los drones y las convierte en datos geográficos tridimensionales del terreno, pudiéndose utilizar estos mapeados para otros trabajos. Por tanto, si tienes un drone con cámara, podrás aprovechar este software para crear estas representaciones de forma muy sencilla.

ODM u OpenDroneMap se compone de varias herramientas para poder realizar estos procesamientos de imágenes capturadas por drones civiles en bruto. El resultado será práctico para nubes de puntos, modelos digitales de la superficie, modelos de superficie digital con textura, imágenes ortorrectificadas, modelos digitales de elevación, etc.

Y, aunque se puede encontrar en los repos de Ubuntu y en la tienda de apps Ubuntu Software, ya que OpenDroneMap ha sido construido para Ubuntu, también se puede ejecutar en otras plataformas empleando Docker.

Además, aunque sea una herramienta de línea de comandos, si eres de los que no les gusta trabajar con el terminal y quieren algo más intuitivo, deberías saber que existe otro proyecto muy interesante con el que trabajar desde una interfaz gráfica de usuario. Para poder hacer eso, te puedes dirigir a WebODM. Este proyecto también es de código abierto y gratis, y lo tienes disponible desde su sitio de GitHub.

WebODM no solo es una app gráfica, también te aporta API fáciles de usar y ampliables para el procesamiento de imágenes de drones. Por supuesto, es compatible también con MicMac (esta ha sido agregada más recientemente y estaba en fase experimental).

Más información – OpenDroneMap

from Linux Adictos https://ift.tt/3x7jw2k
via IFTTT

Manjaro 21.0.2 llega con Plasma 5.21.4, más GNOME 40 apps actualizadas y servidores más rápidos para descargar la ISO

Manjaro 21.0.2

Poco tiempo han tardado en lanzar una nueva versión de punto estable. El viernes pasado nos entregaron la ISO con numeración 210409, y entre lo más destacado teníamos que empezaron a usar las aplicaciones de GNOME 40, pero mantuvieron su Shell en GNOME 3.38. También fue noticia entre los que intentamos descargar una imagen que los servidores iban muy despacio, tanto que llegaba a marcar hasta 10 horas. Hoy, el equipo de desarrolladores ha lanzado Manjaro 21.0.2, y para evitar problemas han llegado a un acuerdo con CDN77.

Esta vez, la edición que más novedades ha recibido ha sido la KDE, ya que han actualizado las versiones de Plasma y Frameworks a las últimas que ha lanzado KDE Project. También mencionan que han actualizado más aplicaciones a GNOME 40, pero van a seguir quedándose en el Shell de GNOME 3.38 hasta que averigüen cómo hacer que todo funcione perfectamente en GNOME 40, entre lo que también está la decisión de cómo implementarlo. A continuación tenéis las novedades más destacadas que han llegado junto a Manjaro 21.0.2.

Novedades más destacadas de Manjaro 21.0.2

  • Versiones del kernel actualizadas.
  • Mesa 21.0.2.
  • Se han actualizado más aplicaciones a GNOME 40. No mencionan nada del Shell, por lo que se desconoce la fecha exacta de su llegada a la versión Stable.
  • Xorg-Server 1.20.11. En esta actualización se han añadido parches de seguridad.
  • Bluez 5.58.
  • Plasma 5.21.4 y Frameworks 5.81 en la edición KDE.
  • LibreOffice 7.1.2.
  • PipeWire 0.3.25.
  • Se han actualizado muchos paquetes KDE-Dev.
  • Más actualizaciones regulares, entre las que están las de Python y Haskell.

Manjaro 21.0.2 ya está disponible como actualización para los usuarios existentes, y se pueden descargar las ediciones oficiales con escritorios XFCE, GNOME y Plasma desde este enlace. Como hemos mencionado, han cambiado el servicio de alojamiento para evitar los problemas con las descargas de la versión lanzada hace 9 días; no sabemos si volverán a trabajar con el servicio anterior. Lo único cierto es que ahora todo va más rápido.

from Linux Adictos https://ift.tt/3mWpHS4
via IFTTT

GVim: una versión gráfica del famoso editor de texto vim

GVim

vim (vi improved) fue una versión mejorada del editor de texto vi que estaba presente en sistemas UNIX. Este editor de texto es uno de los favoritos de muchos usuarios y desarrolladores, cada uno tiene sus motivos propios, aunque no deja de ser un tema controvertido que genera disputas entre los que prefieren este u otros (vim, vi, emacs, nano, gedit,…). Independientemente de esto, y sin entrar en una guerra de cuál es mejor, GVim es el programa que nos importa en este artículo.

GVim es un editor de texto basado en Vim, pero que usa una GUI, para que puedas manejarlo de forma algo más intuitiva y sencilla para aquellos que no se llevan demasiado bien con la CLI. Además, es gratuito, de código abierto, bajo licencia GNU GPL, y se encuentra disponible en los repos oficiales de las distribuciones fácilmente.

Siempre lo repito, pero lo vuelvo a hacer: no hay un software mejor y peor en algunos casos. El mejor es aquel que sabes manejar con mayor destreza y te sientes más cómodo con él.

Este editor de texto basado en una interfaz gráfica funciona gracias a las bibliotecas GTK (aunque también puede instalarse en otros entornos basados en Qt sin problema, siempre que se satisfagan las dependencias) que usa para su ventana. Además, mantiene funcionalidades de Vim originales, además de añadir menús en este entorno gráfico que te facilitarán mucho la vida funcionando fuera de la consola.

En cuanto a las ventajas, a parte de tener un entorno gráfico que te evitará trabajar desde el terminal, también tiene otras características interesantes. Por ejemplo, no es un editor pesado, y no implica una curva de aprendizaje compleja para los usuarios que comienzan a usarlo como sería un editor basado en el entorno de texto con comando.

Por lo demás, podrás hacer lo mismo que harías con tu vim, es decir, editar tus ficheros de configuración, texto, o código fuente a tu antojo…

from Linux Adictos https://ift.tt/3x8nBDi
via IFTTT

EndeavourOS lanza su ISO de abril de 2021 ya con Linux 5.11 y otras novedades

Endeavouros lanzamiento de abril de 2021

El desarrollo de la distribución anteriormente conocida como Antergos, aunque en algún momento tendremos que dejar de mencionar esto, estuvo parada durante un tiempo. Por lo menos en cuanto a nuevas imágenes ISO, y la primera de 2021 se lanzó ya en marzo. Hace unas horas han anunciado el lanzamiento de abril de 2021, un EndeavourOS 2021.04.17 que ha llegado lleno de novedades, algo lógico si tenemos en cuenta que la distribución está basada en Arch Linux.

Entre las novedades que han llegado tenemos Linux 5.11. Sorprendió que el mes pasado no lo incluyeran, ya que esa versión del núcleo llegó a mediados de febrero y EndeavourOS es Rolling Release. Pero todas las novedades que no llegaron hace treinta días sí han llegado esta vez, y también cabe destacar que se pueden usar los gestores de ventanas Sway y BSPWM. A continuación tenéis las novedades más destacadas que han llegado junto a EndeavourOS 2021.04.17.

Novedades más destacadas de EndeavourOS 2021.04.17

  • 5.11.14-arch-1-1.
  • Calamares 3.2.39.3.
  • Posibilidad de instalar los gestores de ventanas Sway y BSPWM, y se pueden usar solos o encima del entorno gráfico.
  • Mesa 21.0.2.
  • NVIDIA 465.24.2.
  • Mejorado el soporte para GPUs NVIDIA.
  • Se ha corregido la función de inicio de sesión automático y ahora debería funcionar bien tras la instalación.
  • El soporte para USB ahora se puede activar al usar el sistema en VirtualBox.
  • Mejoras en la interfaz de usuario.
  • La aplicación de bienvenida ha mejorado para facilitar las cosas a los nuevos usuarios de Arch Linux.
  • Herramienta Pacdiff, una con interfaz de usuario para gestionar cambios en el sistema y archivos de configuración de paquetes.
  • Nuevo botón de noticias de software que muestra tutoriales y soluciones a problemas comunes.

EndeavourOS es una distribución que usa el modelo de desarrollo Rolling Release, por lo que los usuarios existentes ya habrán recibido todas las actualizaciones que se incluyen en la ISO de abril de 2021. Para instalaciones de cero, la imagen está disponible en este enlace.

from Linux Adictos https://ift.tt/3v3vgRt
via IFTTT

Manjaro hará «un Ubuntu» y se quedará un tiempo en GNOME 3.38, pero menos que Canonical

GNOME 40 y Manjaro

Con GNOME 40 se dará un salto de calidad importante. Se introducirán muchos cambios, como aquellos que nos permitirán controlar mejor la interfaz con el panel táctil, y por ese motivo, y porque GTK 4.0 también está dando sus primeros pasos, Canonical ha decidido no incluirlo en Ubuntu 21.04, y probablemente de el salto directo a GNOME 41 el próximo octubre. No son los únicos que han pensado echarle el freno a la llegada de GNOME 40, aunque Manjaro tiene otros motivos.

Tal y como leemos en este hilo del foro oficial, y como ya avanzamos hace una semana, el Manjaro actual usa una mezcla entre GNOME 3.38 Shell y aplicaciones de GNOME 40. El motivo es que las nuevas aplicaciones son actualizaciones que no afectan al uso general, pero de v3.38 a v40 de GNOME Shell sí hay modificaciones que necesitan más trabajo. La decisión de GNOME de mover los espacios de trabajo de vertical a horizontal es uno de los cambios más polémicos y no se puede dar el salto a la ligera.

Manjaro tiene que encontrar soluciones para GNOME 40

Los nuevos gestos del panel táctil para navegar por los espacios de trabajo y entrar/salir de la vista general están habilitados por defecto en GNOME 40 Shell. Un deslizamiento de tres dedos a la izquierda o a la derecha se mueve entre los espacios de trabajo, mientras que un empuje de tres dedos hacia arriba entra en la vista general y, si sigue empujando, extiende el lanzador de aplicaciones. Un arrastre de tres dedos en la dirección de posit le devolverá a su espacio de trabajo seleccionado.

Nuestros desarrolladores están interesados en encontrar soluciones para que nuestro aspecto único de Manjaro Gnome siga estando disponible y tú puedas decidir por ti mismo si quieres cambiar a horizontal o mantener el flujo de trabajo vertical.

Los usuarios interesados en probar GNOME 40 Shell deben hacerlo desde la versión «Developer Staging» que está disponible en este enlace. Sobre cuándo llegará a la versión estable, no han dado fechas, pero no debería tardar demasiado.

from Linux Adictos https://ift.tt/3tuLy5x
via IFTTT

Manjaro hará «un Ubuntu» y se quedará un tiempo en GNOME 3.38, pero menos que Canonical

GNOME 40 y Manjaro

Con GNOME 40 se dará un salto de calidad importante. Se introducirán muchos cambios, como aquellos que nos permitirán controlar mejor la interfaz con el panel táctil, y por ese motivo, y porque GTK 4.0 también está dando sus primeros pasos, Canonical ha decidido no incluirlo en Ubuntu 21.04, y probablemente de el salto directo a GNOME 41 el próximo octubre. No son los únicos que han pensado echarle el freno a la llegada de GNOME 40, aunque Manjaro tiene otros motivos.

Tal y como leemos en este hilo del foro oficial, y como ya avanzamos hace una semana, el Manjaro actual usa una mezcla entre GNOME 3.38 Shell y aplicaciones de GNOME 40. El motivo es que las nuevas aplicaciones son actualizaciones que no afectan al uso general, pero de v3.38 a v40 de GNOME Shell sí hay modificaciones que necesitan más trabajo. La decisión de GNOME de mover los espacios de trabajo de vertical a horizontal es uno de los cambios más polémicos y no se puede dar el salto a la ligera.

Manjaro tiene que encontrar soluciones para GNOME 40

Los nuevos gestos del panel táctil para navegar por los espacios de trabajo y entrar/salir de la vista general están habilitados por defecto en GNOME 40 Shell. Un deslizamiento de tres dedos a la izquierda o a la derecha se mueve entre los espacios de trabajo, mientras que un empuje de tres dedos hacia arriba entra en la vista general y, si sigue empujando, extiende el lanzador de aplicaciones. Un arrastre de tres dedos en la dirección de posit le devolverá a su espacio de trabajo seleccionado.

Nuestros desarrolladores están interesados en encontrar soluciones para que nuestro aspecto único de Manjaro Gnome siga estando disponible y tú puedas decidir por ti mismo si quieres cambiar a horizontal o mantener el flujo de trabajo vertical.

Los usuarios interesados en probar GNOME 40 Shell deben hacerlo desde la versión «Developer Staging» que está disponible en este enlace. Sobre cuándo llegará a la versión estable, no han dado fechas, pero no debería tardar demasiado.

from Linux Adictos https://ift.tt/3tuLy5x
via IFTTT

Cómo reproducir ruido ambiente para mejorar la concentración

Cómo reproducir ruido ambiente

Muchas personas necesitamos tener un sonido constante de fondo, ya sea para poder concentrarnos o conciliar el sueño. En los viejos tiempos eso se hacía poniendo la radio o la televisión, y últimamente, gracias a servicios como Spotify, música. Pero, los expertos parecen coincidir que algún tipo de sonido ambiental, ya sea originado por la naturaleza como el sonido de la lluvia o del mar o artificial como el de un tren, un avión o las charlas en una cafetería, constituyen una opción mejor.

No tengo en claro por qué funciona, solo sé que para mi si funciona. La mejor explicación que encontré fue la del especialista en educación Paul Scheele del que hablamos en su momento en Linux Adictos.  Scheele sostiene que si enfocamos una décima parte de nuestra atención en una cosa, será más fácil enfocar las nueve décimas restantes en otra cosa.

Está claro que con la radio  o una playlist que tenga temas que nos guste, inevitablemente terminaremos redirigiendo a los sonidos de fondo más atención de la que deberíamos.

Generar y reproducir ruido ambiente usando aplicaciones

ANoise

Esta aplicación, solo disponible para Ubuntu y derivados, lleva varios años entre nosotros y sigue actualizándose ya que estoy usando la versión para Hirsute Hippo que sale a fin de mes. Una aclaración. La extensión GNOME que debería permitir controlar  el programa desde la barra superior no está disponible, por lo tanto, para escuchar los sonidos, deberás mantener la muy pequeña ventana.

El programa trae unos pocos sonidos básicos, pero en el mismo repositorio ppa tienes otros aportados por la comunidad. En versiones anteriores había la posibilidad de incorporar tus propios sonidos, pero en la actual no logro encontrarla

Los sonidos reproducibles incluyen animales, naturaleza, ruido blanco y marrón, aparatos y ambientes.

Podemos instalar este programa con los comandos:
sudo add-apt-repository ppa:costales/anoise
sudo apt install anoise-*

Utilización

Cuando abrimos el programa nos encontramos con una pequeña ventanita que nos da el nombre del sonido y un icono que lo representa, con las flechas laterales podemos ir cambiando entre sonidos. Un dato interesante es que si cambias el sonido cambia el icono de la barra lateral.

En el menú Edit puedes acceder a las preferencias que determinan durante cuanto tiempo reproducir el sonido y si el programa se inicia con Ubuntu.

Blanket

Blanket tiene una interfaz mejor trabajada y una forma clara de reproducir tus propios archivos. Esto compensa el que su catálogo no sea tan completo como el de ANoise.

Otro punto a favor de Blanket es que está disponible para Arch Linux, Fedora, Ubuntu y openSUSE, además puedes compilarlo desde el código fuente. En la página GitHub del proyecto encontrarás los enlaces e instrucciones necesarios.

El programa nos presenta los sonidos divididos en 4 apartados:

  • Naturaleza: Lluvia, tormenta, viento, olas, arroyo, aves y noche de verano.
  • Viajes: Tren, barco y ciudad.
  • Interiores: Cafetería, chimenea.
  • Ruido: Blanco, rosa

Además hay un apartado para los sonidos de nuestra propia  colección.

Cuando abrimos el programa nos encontramos con una lista de sonidos encabezados por los apartados arriba mencionados. Cada sonido está acompañado de un icono alusivo y de un control deslizante que establece su volumen. Esto hace posible crear combinaciones. Cuando un sonido se está reproduciendo, el color del icono cambia.

Blanket nos permite seguir escuchando el sonido aunque se cierre el programa y hacer que se inicie en segundo plano cuando iniciamos sesión en nuestra distribución

Sobre los ruidos

En distintas partes del artículo hablamos de los ruidos blanco, rosa y marrón. La diferencia es la siguiente:

  • Una señal de sonido que contiene todas las frecuencias y las emite con la misma potencia. El ruido blanco hace que el nivel del umbral auditivo alcance su velocidad máxima impidiendo que los estímulos auditivos más intensos activen la corteza cerebral.
  • Ruido rosa: Es un ruido cuya señal está conformada por valores aleatorios pero con menos amplitud entre frecuencias.
  • Ruido marrón: Este ruido tiene muchísimo más…contenido en las bajas frecuencias que en las altas frecuencias.

Donde encontrar más sonidos

Youtube es un gran repositorio  de sonido ambiente, tanto natural como de aparatos y medios de transporte. Con herramientas como Yotube-DL puedes descargar el audio e incorporarlo a Blanket o usarlo con tu reproductor preferido.

from Linux Adictos https://ift.tt/3mSFWzM
via IFTTT

The Wild Case: salvaje aventura 2D en primera persona

The Wild Case

A pesar de que 2D y primera persona pueda parecer algo extraño, lo cierto es que esta es una aventura para poder descubrir objetos ocultos, apuntar con el cursor y hacer clic. Eso es lo que aporta The Wild Case, un título desarrollado por un pequeño grupo independiente de Ucrania llamado Specialbit Studio. El mismo estudio que creó Angelo y Deemon: One Hell of a Quest.

The Wild Case se centra en las aventuras de un detective paranormal que viaja a un pueblo remoto en lo más profundo del bosque, donde están ocurriendo cosas extrañas, y criaturas con ojos brillantes aterrorizan a los habitantes. Suena bastante espeluznante, y tiene un gran trabajo de arte. Todo eso unido hacen un cóctel bastante interesante para los gamers que les gusten los videojuegos de este estilo…

En cuanto a las características de The Wild Case, destacan:

  • Interacciones con NPC auténticos e idiosincrásicos.
  • Entornos atmosféricos en asentamientos remotos del emplazamiento donde se desarrolla la historia.
  • Emocionantes rompecabezas que involucran exploración e interacciones NPC.
  • Bosques en los que encontrarás a un ermitaño y una bruja. ¿Quién será tu aliado y quién tu enemigo? Lo deberás descubrir…
  • Mundo abierto listo para ser explorado a tu antojo, lo que le da mucha libertad a este título.
  • Encuentros con seres extraños y misterios que te aterrorizarán y te mantendrán intrigado hasta el final de la historia.

Si te gusta lo que lees, debes saber que se encuentra disponible en la tienda de Valve. Así que, puedes pasarte por Steam para adquirirlo ya. Además, tienes a tu disposición una prueba gratis, un Demo del juego para que puedas probarlo sin pagar nada, y si te gusta, adquirir la versión completa. El precio de esta versión es de 7.99€, aunque si tienes la suerte de pillar alguna promoción de Steam, te puede salir más barato…

from Linux Adictos https://ift.tt/3gjhcQ2
via IFTTT

Kees Cook introdujo nuevos parches para mejorar la seguridad de pila del kernel de Linux

Linux
Kees Cook, un antiguo administrador de sistemas en jefe de kernel.org y líder del equipo de seguridad de Ubuntu, que ahora trabaja en Google para proteger Android y ChromeOS, ha publicado un conjunto de parches que aleatorizan las compensaciones de la pila del kernel al manejar las llamadas al sistema. Los parches mejoran la seguridad del kernel al cambiar la ubicación de la pila, lo que hace que los ataques de pila sean mucho más difíciles y menos exitosos

La idea original del parche pertenece al proyecto PaX RANDKSTACK. En 2019, Elena Reshetova, ingeniera de Intel, intentó crear una implementación de esta idea, adecuada para su inclusión en la composición principal del kernel de Linux.


Posteriormente, la iniciativa fue tomada por Kees Cook quien presentó una implementación adecuada para la versión principal del kernel y cuyos parches están previstos para la versión 5.13 de Linux.

El modo estará deshabilitado de forma predeterminada y para habilitarlo, se ofrecen el parámetro de línea de comando del kernel «randomize_kstack_offset = on/off» y la configuración CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT, además de que la sobrecarga de habilitar el modo se estima en aproximadamente un 1% de pérdida de rendimiento.

La esencia de la protección propuesta es elegir un desplazamiento de pila aleatorio en cada llamada al sistema, lo que complica la determinación del diseño de la pila en la memoria incluso si se recibe información sobre las direcciones, ya que la dirección base de la pila cambiará en el siguiente llamada.

A diferencia de la implementación de PaX RANDKSTACK, en los parches propuestos para su inclusión en el kernel, la aleatorización no se realiza en la etapa inicial, sino después de establecer la estructura pt_regs, lo que hace que sea imposible utilizar métodos basados en ptrace para determinar un desplazamiento aleatorio durante una llamada al sistema de larga duración.

Como las protecciones de la pila del kernel de Linux han mejorado constantemente (asignación de pila basada en vmap con páginas de protección, eliminación de thread_info, STACKLEAK), los atacantes han tenido que encontrar nuevas formas para que sus exploits funcionen.

Lo han hecho, y continúan confiando en el determinismo de la pila del kernel, en situaciones en las que VMAP_STACK y THREAD_INFO_IN_TASK_STRUCT no eran relevantes. Por ejemplo, los siguientes ataques recientes se habrían visto obstaculizados si el desplazamiento de la pila no fuera determinista entre llamadas al sistema

El objetivo de la función randomize_kstack_offset es agregar un desplazamiento aleatorio después de que pt_regs se haya enviado a la pila y antes de que el resto de la pila de subprocesos se use durante el procesamiento de la llamada al sistema, y cambiarlo cada vez que un proceso emite una llamada al sistema. La fuente de aleatoriedad está actualmente definida por la arquitectura (pero x86 usa el byte bajo de rdtsc ()).

Es posible realizar mejoras futuras para diferentes fuentes de entropía, pero fuera del alcance de este parche. Además, para agregar más imprevisibilidad, se eligen nuevas compensaciones al final de las llamadas al sistema (el tiempo de las cuales debería ser menos fácil de medir desde el espacio de usuario que en el momento de la entrada de la llamada al sistema) y se almacenan en una variable por CPU, de modo que la vida del valor no permanece explícitamente ligado a una sola tarea.

No hay cambios visibles para esto en x86 porque el protector de pila ya está deshabilitado incondicionalmente para la unidad de compilación, pero el cambio es necesario en arm64. Desafortunadamente, no hay ningún atributo que pueda usarse para deshabilitar el protector de pila para funciones específicas. Comparación con la función PaX RANDKSTACK: La función RANDKSTACK aleatoriza la ubicación del inicio de la pila (cpu_current_top_of_stack), es decir, incluye la ubicación de la estructura pt_regs en la pila.

Inicialmente, este parche siguió el mismo enfoque, pero durante las discusiones recientes, se ha determinado que tiene poco valor, ya que, si la funcionalidad ptrace está disponible para un atacante, puede usar PTRACE_PEEKUSR para leer/escribir diferentes compensaciones en la estructura pt_regs, observar el comportamiento de la caché de los accesos pt_regs y averiguar el desplazamiento de pila aleatorio.

Finalmente se menciona que la implementación inicial admite procesadores ARM64 y x86/x86_64.

from Linux Adictos https://ift.tt/2Qb7W5w
via IFTTT

Rust no se salvo de las criticas de Linus Torvalds

Hace pocas semanas se había dado a conocer la noticia de sobre algunas implementaciones que se realizaron en la rama linux-next, en el cual se incluye un conjunto inicial de componentes para desarrollar controladores de dispositivos en el lenguaje Rust.

Dicha documentación fue publicada por separado sobre el uso de Rust en el kernel de Linux y un ejemplo de un módulo de kernel con un controlador de dispositivo de caracteres en el lenguaje Rust. El código fue agregado por Stephen Rothwell, mantenedor de la rama.

Después de ello Linus Torvalds pasó revisando la implementación de parches de posibilidades para establecer controladores de lenguaje Rust en el kernel de Linux y expresó algunas críticas.

Las mayores quejas fueron causadas por el potencial de escape «run-time failure panicen» en situaciones erróneas, por ejemplo, en una situación de memoria insuficiente, cuando las operaciones de asignación de memoria dinámica, incluidas las del kernel, pueden fallar.

Torvalds declaró que tal enfoque en el kernel es fundamentalmente inaceptable, y si no comprende este punto, puede rechazar completamente cualquier código que intente usar tal enfoque. Por otro lado, el desarrollador del parche estuvo de acuerdo con el problema y lo consideró solucionable.

Otro problema han sido los intentos de utilizar tipos de coma flotante o de 128 bits, que no son válidos para entornos como el kernel de Linux.

Es posible que no entienda las ramificaciones de cuándo puede suceder, por lo que tal vez
sea ​​un problema menor de lo que creo que es, pero fundamentalmente
creo que si alguna asignación de Rust puede causar pánico, esto es simplemente
_ fundamentalmente_ no aceptable.

Las fallas de asignación en un controlador o código no central, y eso es, por
definición, todo el código Rust nuevo, nunca NUNCA pueden causar
pánico de manera válida . Lo mismo ocurre con «oh, en algún caso no probé el uso de
enteros de 128 bits o de punto flotante».

Entonces, si el compilador de Rust causa asignaciones ocultas que no se pueden
detectar y devolver como errores, entonces creo seriamente que todo este
enfoque debe ser completamente NAK’ed, y la infraestructura de Rust,
ya sea a nivel del compilador o en los envoltorios del kernel, necesita más
trabajo.

Esto resultó ser un problema más serio, ya que en este momento la biblioteca central de Rust es indivisible y representa una gran mancha; no hay forma de solicitar solo algunas de las características, lo que evita el uso de una u otra funcionalidad problemática.

La solución al problema puede requerir cambios en el compilador y la biblioteca de rust, aunque el equipo aún no tiene una estrategia sobre cómo implementar la modularidad de las bibliotecas de idiomas.

Además, Torvalds señaló que el controlador de ejemplo proporcionado es inútil y aconsejó adjuntar como ejemplo algún controlador que resuelva uno de los problemas reales.

Ante esto Google anunció su participación en una iniciativa para promover el soporte de Rust en el kernel de Linux y brindó aspectos técnicos de la viabilidad de implementar Rust para combatir los problemas que surgen de errores en el trabajo con la memoria.

Google cree que Rust está listo para unirse a C como lenguaje para desarrollar componentes del kernel de Linux. El artículo también proporciona ejemplos del uso del lenguaje Rust para desarrollar controladores de kernel, en el contexto de su uso en la plataforma Android (Rust es reconocido como un lenguaje oficialmente soportado para el desarrollo de Android).

Cabe señalar que Google ha preparado un prototipo inicial de un controlador escrito en Rust para el mecanismo de comunicación entre procesos de Binder, que permitirá una comparación detallada del rendimiento y la seguridad de las implementaciones de Binder en C y Rust.

En su forma actual, el trabajo aún no se ha completado, pero para casi todas las abstracciones básicas de la funcionalidad del kernel requeridas para que Binder funcione, se han preparado capas para usar estas abstracciones en el código Rust.

Finalmente si quieres conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/32lZ5QY
via IFTTT