Phantom OS, tomara la base de Genode y que estará listo para fin de año

Hace poco se dio a conocer información sobre el proyecto para portar la máquina virtual del sistema operativo Phantom para trabajar en el entorno del sistema operativo microkernel Genode.

La información fue dada a conocer en una entrevista en la cual se señala que la versión principal de Phantom OS ya está lista para proyectos piloto, y la versión basada en Genode estará lista para su uso a finales de año. Al mismo tiempo, hasta el momento solo se ha anunciado un prototipo conceptual viable en el sitio web del proyecto, cuya estabilidad y funcionalidad no se han llevado a un nivel adecuado para uso industrial, y entre los planes más cercanos está la formación de una versión alfa.

Desde principios de la década de 2000, el sistema operativo Phantom se ha desarrollado como un proyecto personal de Dmitry Zavalishin y desde 2010 se transfiere bajo el ala de la empresa Digital Zone creada por Dmitry.

El sistema se destaca por su enfoque en la alta confiabilidad y el uso del concepto de «todo es un objeto» en lugar de «todo es un archivo», lo que elimina el uso de archivos debido a la preservación del estado de la memoria y un ciclo continuo de trabajo.

Las aplicaciones en Phantom no se terminan, sino que solo se pausan y se reanudan desde donde se quedaron. Todas las variables y estructuras de datos se pueden almacenar durante el tiempo que la aplicación lo necesite, y el programador no tiene que tener especial cuidado para guardar los datos.

Las aplicaciones en Phantom se compilan en bytecode, que se ejecuta en una máquina virtual basada en pila, similar a la máquina virtual de Java. La máquina virtual proporciona persistencia de la memoria de la aplicación: el sistema descarga periódicamente instantáneas del estado de la máquina virtual en medios persistentes.

Después de un apagado o bloqueo, el trabajo puede continuar a partir de la última instantánea de memoria guardada. Las instantáneas se crean de forma asíncrona y sin suspender la máquina virtual, pero una instantánea captura un segmento único, como si la máquina virtual se detuviera, se guardara en el disco y se iniciara de nuevo.

Todas las aplicaciones se ejecutan en un espacio de direcciones global común, lo que elimina la necesidad de cambios de contexto entre el kernel y las aplicaciones, y simplifica y acelera enormemente la comunicación entre las aplicaciones que se ejecutan en una máquina virtual que puede intercambiar objetos a través del paso de referencia.

La migración de programas Java para Phantom se considera una de las principales formas de desarrollar aplicaciones, lo que se ve facilitado por la similitud de la máquina virtual Phantom con la JVM. Además del compilador bytecode para el lenguaje Java, el proyecto prevé la creación de compiladores para Python y C#, así como la implementación de un traductor a partir del código intermedio de WebAssembly.

Phantom OS tradicional, además de la máquina virtual, incluye su propio kernel con la implementación de hilos, un administrador de memoria, un recolector de basura, mecanismos de sincronización, un sistema de E/S y controladores para trabajar con equipos, lo que complica significativamente traer el proyecto a la preparación para el uso generalizado.

Por separado, se están desarrollando componentes con una pila de red, un subsistema gráfico y una interfaz de usuario. Cabe destacar que el subsistema de gráficos y el administrador de ventanas funcionan a nivel de kernel.

Para mejorar la estabilidad, portabilidad y seguridad del proyecto, se intentó trasladar la máquina virtual Phantom para que funcione utilizando los componentes del sistema operativo de microkernel abierto Genode, cuyo desarrollo está supervisado por la empresa alemana Genode Labs. Para aquellos que quieran experimentar con Phantom basado en Genode, se ha preparado un entorno de construcción especial basado en Docker.

El uso de Genode hará posible el uso de micronúcleos y controladores ya probados, así como traer los controladores al espacio del usuario (en su forma actual, los controladores están escritos en C y se ejecutan en el nivel del kernel Phantom).

En particular, será posible utilizar el microkernel seL4, que ha pasado la verificación de confiabilidad matemática, lo que confirma que la implementación cumple completamente con las especificaciones especificadas en el lenguaje formal. Se está considerando la posibilidad de preparar una prueba de confiabilidad similar para la máquina virtual Phantom, que permitirá verificar todo el entorno del sistema operativo.

El área de aplicación principal del port basado en Genode es el desarrollo de aplicaciones para varios dispositivos industriales e integrados.

Actualmente, ya se ha preparado un conjunto de cambios para la máquina virtual y se han agregado enlaces que se ejecutan sobre Genode para los componentes de persistencia del kernel y las principales interfaces de bajo nivel.

Se observa que la máquina virtual Phantom ya puede funcionar en un entorno Genode de 64 bits, pero la VM aún no se ha implementado en modo de persistencia, el subsistema del controlador debe reelaborarse y los componentes con una pila de red y un subsistema de gráficos tienen para ser adaptado para Genode.

Si quieres conocer más sobre el trabajo del sistema, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/9A6O7FhuV
via IFTTT

La nueva versión de Vulkan 1.3 ya fue liberada y estas son sus novedades

Después de dos años de trabajo, Khronos dio a conocer la publicación de la nueva versión de la especificación Vulkan 1.3. La nueva especificación incorpora correcciones y ampliaciones acumuladas durante dos años.

Ademas de ello se ha presentado un plan para implementar el soporte para la nueva especificación y extensiones adicionales en tarjetas gráficas y controladores de dispositivos. Intel, AMD, ARM y NVIDIA están preparando productos compatibles con Vulkan 1.3.

Por ejemplo, AMD ha anunciado que la compatibilidad con Vulkan 1.3 pronto estará disponible en la serie de tarjetas gráficas AMD Radeon RX Vega, así como en todas las tarjetas basadas en la arquitectura AMD RDNA. NVIDIA se está preparando para publicar controladores compatibles con Vulkan 1.3 para Linux y Windows, ademas de que ARM agregará compatibilidad con Vulkan 1.3 a las GPU Mali.

Para quienes desconocen de Vulkan, deben saber que esta es una API que se destaca por su simplificación cardinal de los controladores, la eliminación de la generación de comandos de GPU en el lado de la aplicación, la capacidad de conectar capas de depuración, la unificación de API para varias plataformas y el uso de representación de código intermedio precompilado para ejecución en el Lado de la GPU.

Para garantizar un alto rendimiento y previsibilidad, Vulkan proporciona aplicaciones con control directo sobre las operaciones de la GPU y soporte integrado para subprocesos múltiples de GPU, lo que minimiza la sobrecarga del controlador y hace que las capacidades del lado del controlador sean mucho más simples y predecibles. Por ejemplo, las operaciones como la administración de memoria y el manejo de errores implementadas en OpenGL en el lado del controlador se mueven a la capa de aplicación en Vulkan.

Vulkan abarca todas las plataformas disponibles y proporciona una única API para escritorio, dispositivos móviles y la Web, lo que permite utilizar una API común en varias GPU y aplicaciones. Con la arquitectura multicapa de Vulkan que crea herramientas que funcionan con cualquier GPU, los OEM pueden usar herramientas genéricas para la revisión, depuración y creación de perfiles de código durante el desarrollo.

Principales novedades de Vulkan 1.3

En esta nueva versión que se presenta de Vulkan 1.3 se destaca que la especificación SPIR-V 1.6 se actualizó para definir una representación intermedia de sombreadores que es universal para todas las plataformas y se puede usar tanto para gráficos como para computación paralela. SPIR-V implica la separación de una fase de compilación de shaders separada en una representación intermedia, lo que permite crear interfaces para varios lenguajes de alto nivel. Basado en varias implementaciones de alto nivel, se genera por separado un único código intermedio que pueden usar los controladores OpenGL, Vulkan y OpenCL sin usar el compilador de sombreado incorporado.

Otro de los cambios que se destaca es que se propone el concepto de perfiles de compatibilidad. Google es el primero en desarrollar un perfil básico para la plataforma Android que facilitará la determinación del nivel de soporte para las funciones avanzadas de Vulkan en un dispositivo que va más allá de la especificación Vulkan 1.0. Para la mayoría de los dispositivos, se puede proporcionar soporte de perfil sin instalar actualizaciones OTA.

Tambien se destaca la compatibilidad implementada para pases de renderizado simplificados (Streamlining Render Passes , VK_KHR_dynamic_rendering) que permiten comenzar a renderizar sin crear pases de renderizado y objetos framebuffer.

Ademas de ello se han agregado nuevas extensiones para facilitar la gestión de la compilación de una canalización de gráficos:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2: agrega estados dinámicos adicionales para reducir la cantidad de objetos de estado compilados y adjuntos.
  • VK_EXT_pipeline_creation_cache_control : proporciona control ampliado sobre cuándo y cómo compilar canalizaciones.
  • VK_EXT_pipeline_creation_feedback : proporciona información sobre canalizaciones compiladas para facilitar la creación de perfiles y la depuración.

Por otra parte, tambien se destacan varias características que se han movido de opcionales a obligatorias. Por ejemplo, ahora es obligatorio implementar referencias de búfer (VK_KHR_buffer_device_address) y el modelo de memoria Vulkan, que define cómo los subprocesos paralelos pueden acceder a datos compartidos y operaciones de sincronización.

Ademas de ello se proporciona un control de subgrupos detallado (VK_EXT_subgroup_size_control) donde los proveedores pueden brindar soporte para múltiples tamaños de subgrupos y los desarrolladores pueden elegir el tamaño que deseen.

Se proporcionó una extensión VK_KHR_shader_integer_dot_product que se puede usar para optimizar el rendimiento de los marcos de aprendizaje automático a través de operaciones de productos de puntos acelerados por hardware.

Finalmente cabe señalar que los requisitos de la especificación Vulkan 1.3 están diseñados para el hardware de gráficos de clase OpenGL ES 3.1, lo que garantizará la compatibilidad con la nueva API de gráficos en todas las GPU compatibles con Vulkan 1.2.

El kit de herramientas Vulkan SDK está programado para publicarse a mediados de febrero. Además de la especificación principal, está previsto ofrecer extensiones adicionales para dispositivos móviles y de escritorio de gama media y alta, que serán compatibles como parte de la edición Vulkan Milestone.

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

from Linux Adictos https://ift.tt/QBTCwqpSd
via IFTTT

La nueva versión de Vulkan 1.3 ya fue liberada y estas son sus novedades

Después de dos años de trabajo, Khronos dio a conocer la publicación de la nueva versión de la especificación Vulkan 1.3. La nueva especificación incorpora correcciones y ampliaciones acumuladas durante dos años.

Ademas de ello se ha presentado un plan para implementar el soporte para la nueva especificación y extensiones adicionales en tarjetas gráficas y controladores de dispositivos. Intel, AMD, ARM y NVIDIA están preparando productos compatibles con Vulkan 1.3.

Por ejemplo, AMD ha anunciado que la compatibilidad con Vulkan 1.3 pronto estará disponible en la serie de tarjetas gráficas AMD Radeon RX Vega, así como en todas las tarjetas basadas en la arquitectura AMD RDNA. NVIDIA se está preparando para publicar controladores compatibles con Vulkan 1.3 para Linux y Windows, ademas de que ARM agregará compatibilidad con Vulkan 1.3 a las GPU Mali.

Para quienes desconocen de Vulkan, deben saber que esta es una API que se destaca por su simplificación cardinal de los controladores, la eliminación de la generación de comandos de GPU en el lado de la aplicación, la capacidad de conectar capas de depuración, la unificación de API para varias plataformas y el uso de representación de código intermedio precompilado para ejecución en el Lado de la GPU.

Para garantizar un alto rendimiento y previsibilidad, Vulkan proporciona aplicaciones con control directo sobre las operaciones de la GPU y soporte integrado para subprocesos múltiples de GPU, lo que minimiza la sobrecarga del controlador y hace que las capacidades del lado del controlador sean mucho más simples y predecibles. Por ejemplo, las operaciones como la administración de memoria y el manejo de errores implementadas en OpenGL en el lado del controlador se mueven a la capa de aplicación en Vulkan.

Vulkan abarca todas las plataformas disponibles y proporciona una única API para escritorio, dispositivos móviles y la Web, lo que permite utilizar una API común en varias GPU y aplicaciones. Con la arquitectura multicapa de Vulkan que crea herramientas que funcionan con cualquier GPU, los OEM pueden usar herramientas genéricas para la revisión, depuración y creación de perfiles de código durante el desarrollo.

Principales novedades de Vulkan 1.3

En esta nueva versión que se presenta de Vulkan 1.3 se destaca que la especificación SPIR-V 1.6 se actualizó para definir una representación intermedia de sombreadores que es universal para todas las plataformas y se puede usar tanto para gráficos como para computación paralela. SPIR-V implica la separación de una fase de compilación de shaders separada en una representación intermedia, lo que permite crear interfaces para varios lenguajes de alto nivel. Basado en varias implementaciones de alto nivel, se genera por separado un único código intermedio que pueden usar los controladores OpenGL, Vulkan y OpenCL sin usar el compilador de sombreado incorporado.

Otro de los cambios que se destaca es que se propone el concepto de perfiles de compatibilidad. Google es el primero en desarrollar un perfil básico para la plataforma Android que facilitará la determinación del nivel de soporte para las funciones avanzadas de Vulkan en un dispositivo que va más allá de la especificación Vulkan 1.0. Para la mayoría de los dispositivos, se puede proporcionar soporte de perfil sin instalar actualizaciones OTA.

Tambien se destaca la compatibilidad implementada para pases de renderizado simplificados (Streamlining Render Passes , VK_KHR_dynamic_rendering) que permiten comenzar a renderizar sin crear pases de renderizado y objetos framebuffer.

Ademas de ello se han agregado nuevas extensiones para facilitar la gestión de la compilación de una canalización de gráficos:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2: agrega estados dinámicos adicionales para reducir la cantidad de objetos de estado compilados y adjuntos.
  • VK_EXT_pipeline_creation_cache_control : proporciona control ampliado sobre cuándo y cómo compilar canalizaciones.
  • VK_EXT_pipeline_creation_feedback : proporciona información sobre canalizaciones compiladas para facilitar la creación de perfiles y la depuración.

Por otra parte, tambien se destacan varias características que se han movido de opcionales a obligatorias. Por ejemplo, ahora es obligatorio implementar referencias de búfer (VK_KHR_buffer_device_address) y el modelo de memoria Vulkan, que define cómo los subprocesos paralelos pueden acceder a datos compartidos y operaciones de sincronización.

Ademas de ello se proporciona un control de subgrupos detallado (VK_EXT_subgroup_size_control) donde los proveedores pueden brindar soporte para múltiples tamaños de subgrupos y los desarrolladores pueden elegir el tamaño que deseen.

Se proporcionó una extensión VK_KHR_shader_integer_dot_product que se puede usar para optimizar el rendimiento de los marcos de aprendizaje automático a través de operaciones de productos de puntos acelerados por hardware.

Finalmente cabe señalar que los requisitos de la especificación Vulkan 1.3 están diseñados para el hardware de gráficos de clase OpenGL ES 3.1, lo que garantizará la compatibilidad con la nueva API de gráficos en todas las GPU compatibles con Vulkan 1.2.

El kit de herramientas Vulkan SDK está programado para publicarse a mediados de febrero. Además de la especificación principal, está previsto ofrecer extensiones adicionales para dispositivos móviles y de escritorio de gama media y alta, que serán compatibles como parte de la edición Vulkan Milestone.

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

from Linux Adictos https://ift.tt/QBTCwqpSd
via IFTTT

AM Clouds/PM Sun today!

En Veracruz hoy la condición actual es Mostly Cloudy y una temperatura de 17C.

La máxima temperatura será de 23C y la mínima de 17C.
Durante el día la condición se pronostica como AM Clouds/PM Sun

Sunrise January 30, 2022 at 06:59AM
Sunset January 30, 2022 at 06:16PM

Viento con dirección Northwest y velocidad de 8 Km/h

With a high of 73F and a low of 63F.
via IFTTT