Si bien el ecosistema de Linux se está desglosando en el establecimiento de óxido en el corazón del sistema, el director técnico de Microsoft, durante una conferencia de óxido en Inglaterra, afirmó su apoyo al lenguaje y aseguró que Microsoft lo apoyó al 100%…
El lenguaje de Rust está hablando mucho en este momento y desgarra a las comunidades de Linux, mientras que su implementación en el corazón del sistema de código abierto está experimentando muchas dificultades y que ciertos defensores fervientes de C ++ se oponen firmemente. Aunque el óxido se agregó oficialmente al núcleo de Linux al final de 2022 (Linux 6.1) para proporcionar más memoria de seguridad, su integración se aplica a las diferencias de vistas. Algunos titulares de núcleo siguen siendo escépticos sobre la idea de introducir el código de óxido en este proyecto históricamente escrito en c. Las discusiones se han ganado en las últimas semanas e incluso han llevado a tensiones abiertas: un mantenedor histórico (Christoph Hellwig) tuvo que renunciar a su papel después de una controversia en un parche vinculado al óxido.
Es en este contexto que Mark Russinovich, director técnico de Azure, dijo durante su discurso principal en Rust Nation UK en Londres que Microsoft estaba por su parte «totalmente comprometida» a Rust, incluso llegando a calificar los idiomas C y C ++ como «obsoletos» para muchos proyectos nuevos. La oportunidad para que Mark Russinovich realice un ejercicio de transparencia y resalte los beneficios retirados y las dificultades encontradas por el editor en su adopción del lenguaje.
Desde Windows hasta Azure, Rust traza su camino
Microsoft, una contracorriente de estas controversias, ha adoptado un enfoque más pragmático y gradual para introducir óxido en sus productos. Durante varios años, el editor ha estado preparando el campo para usar el óxido en la producción. Ya en 2019, sus equipos de ciberseguridad estudiaron el óxido como una alternativa para eliminar las vulnerabilidades de la memoria en la fuente. Concretamente, Microsoft comenzó a reescribir ciertos componentes en el corazón de Windows en óxido desde 2023. Las bibliotecas del sistema viely de varias décadas se usan gradualmente en óxido, con el objetivo de reemplazar porciones de código crítico C/C ++ con equivalentes más seguros. Microsoft incluso ofrece herramientas en Github para permitir la escritura Windows de pilotos En Rust, una señal de que prevé el código de óxido incluso al nivel de los conductores del sistema y no solo al nivel del núcleo y los servicios. El movimiento no se limita a las ventanas: en AzurMicrosoft's Cloud, Rust también se introduce para desarrollar servicios de backend más sólidos.
Un compromiso motivado por la seguridad
La adopción de Rust By Microsoft es parte de su Iniciativa de «Iniciativa Future Secure» (SFI), lanzada después de las violaciones de seguridad de los actores estatales. Russinovich reveló que había habido una orden interna en el equipo de Azure hace unos tres años: » Más código del sistema en C ++ en Azure. El óxido está listo. Usemos Rust en lugar de crear una deuda más técnica. »
El Memoria de seguridad es, por lo tanto, la motivación número 1 de Microsoft: Alrededor del 70 % de las vulnerabilidades de seguridad a las que el editor atribuye un CVE se debe a problemas de memoriaerrores que podría haber sido evitado si el código hubiera sido escrito en óxido. El editor está convencido de esto, la adopción de óxido permite eliminar de manera proactiva las fallas de seguridad al tiempo que preserva (o incluso mejora) el rendimiento, un compromiso ideal para productos tan complejos como Windows o Azure.
Sin embargo, la seguridad no es el único activo de óxido. Si la seguridad era el objetivo inicial, Microsoft también señaló mejoras inesperadas de rendimiento del 5 al 15% durante la migración a la óxido. Según Russinovich «,» Nunca hemos observado regresiones de rendimiento llevando el código al óxido. No se anticiparon estas ganancias porque las conversiones fueron ejercicios de transporte directo, sin optimizaciones.
Proyectos concretos que demuestran compromiso
Microsoft ha integrado óxido en varios proyectos estratégicos:
Proyecto MU – Implementación de la UEFI en Rust utilizada en centros de datos de Azure y dispositivos de superficie.
DirectWRITE CORE – Reescritura de API de representación de texto, eliminando muchas vulnerabilidades vinculadas al análisis de la policía.
Región Win32 GDI – Primer componente del núcleo de Windows usado hasta el óxido, con 6,000 líneas de código C/C ++ migrados.
Microsoft también ha reescrito Muchas bibliotecas criptográficas críticas en Rust para Windows y Microsoft Office. Debido a que Rust también ha encontrado su lugar en la suite colaborativa del editor para reemplazar ciertos componentes de C# en el indexador semántico, por ejemplo.
En el lado de Azure, MLos componentes de Ultiples como Hardware Root of Trust, Hyper-V y Azure Boost agentes están escritos en óxido.
Desafíos de adopción transparente
A pesar de este entusiasmo, Microsoft reconoce varios desafíos al mismo tiempo técnicos, organizativos y humanos.
El principal desafío de esta transición a la óxido permanece, según el editor Interoperabilidad con c/c ++. Windows y la mayoría de los software de Microsoft se han basado en API e interfaces escritas en C durante décadas. La incorporación de componentes de óxido implica hacer que coexistan con este código nativo histórico. En la práctica, Microsoft tuvo que desarrollar enlaces (FFI) y adaptar sus interfaces para que el código de óxido pueda llamar, y ser llamado por las bibliotecas C/C ++. Esta cohabitación de idiomas dentro del mismo producto es un ejercicio complejo según lo destacan los desarrolladores del núcleo de Linux. Microsoft pase por alto estos obstáculos al proporcionar abstracciones adecuadas.
Otra preocupación técnica, Enlaces dinámicos En los que se basan las ventanas y su mecanismo DLL son incompatibles con la filosofía y el enfoque de compilación estática de Rust que están en el corazón de la seguridad del lenguaje. Microsoft encuentra desfiles técnicos, pero estos son complejos y, por lo tanto, largos para implementar, especialmente cuando debe asegurarse de no comprometer las garantías de seguridad proporcionadas por el óxido.
Otra preocupación, tanto técnica como organizacional, El ecosistema de la herramienta es menos maduro que para idiomas bien establecidos. Nuevamente requiere un esfuerzo de I + D para garantizar que el óxido se convierta en un ciudadano de primera clase en su ecosistema de herramientas de desarrollo.
Finalmente, Microsoft reconoce que también es necesario configurar Toda una política de resistencia al cambio y capacitación. La conversión de un desarrollador del sistema C ++ en un desarrollador de óxido requiere un período de aprendizaje inicial para desarrolladores de aproximadamente dos meses.
¿Hacia una transición automatizada por AI?
Convertir los monstruos de software como Linux y Windows to Rust es una iniciativa demasiado costosa y gigantesca para ser previsto y rentable.
Pero Microsoft ve en IA un posible medio futuro para acelerar las transposiciones de los códigos C ++ en óxido. Mark Russinovich confirmó así que esta pista fue explorada efectivamente por el editor al aprovechar las capacidades de codificación de la IA generativa. Por el momento, estos son solo proyectos de I + D, pero el Azure CTO explicó cómo los modelos de lenguaje grandes (LLM) combinados con la tecnología Graphrag podrían en el futuro indeterminar la traducción del código C/C ++ al óxido.
De todos modos, Microsoft parece mucho más invertido en Rust hoy que el ecosistema de Linux. Lo que comenzó como una iniciativa experimental y aislada es convertirse en una política comercial muy íntimamente vinculada a lo más esencial de Microsoft Projects, su iniciativa SFI. Aún ahora, adoptando a Rustly sin controversia innecesaria, Microsoft muestra que la innovación y la seguridad pueden avanzar. Sin embargo, no estoy seguro de que esto sea realmente suficiente para rastrear el camino para una industria de software más segura y eficiente. Pero ese es otro debate …
Leer también:
La dominación de Python se confirmó en 2024 de acuerdo con el índice Tiobe
¿Microsoft a una reescritura de Azure y Windows en Rust?
Lenguaje de óxido pronto integrado en el núcleo de Linux
Google quiere modernizar C ++ con su nuevo lenguaje de carbono
Los gigantes de la nube suavizan el lenguaje de la óxido
[

