Núcleo de Linux unificado | |
---|---|
| |
Tipo de | Núcleo |
Desarrollador | Tecnología Insigma |
Escrito en | C |
Sistema operativo | similar a Unix |
plataforma de hardware | IA-32 y x86_64 |
ultima versión | 0.3.2 (8 de junio de 2011) |
candidato de lanzamiento | 1.0 RC2 (14 de enero de 2014) |
versión beta | 0.4.0 (2 de junio de 2012) |
Licencia | Licencia pública general GNU versión 2 |
Sitio web | longene.org/es/index.php |
El kernel de Linux unificado ( Linux Unified Kernel , Longene [1] o LUK informal ) es un kernel de sistema operativo diseñado para la compatibilidad binaria de aplicaciones y controladores de dispositivos utilizados en Microsoft Windows y Linux , sin el uso de virtualización o emulación [2] .
El proyecto está escrito en C , es un software gratuito y de código abierto y utiliza la licencia GPL versión 2 [3] . El primer número tuvo lugar en 2006 .
El objetivo del proyecto Longene es agregar mecanismos del kernel de Windows, incluidas llamadas al sistema, registro de Windows, modelo de controlador de Windows (WDM), llamada de procedimiento diferido (DPC) y otros al kernel de Linux para crear un nuevo kernel. El nuevo kernel le permitirá ejecutar aplicaciones tanto de Linux como de Windows, así como utilizar controladores de dispositivos.
Para evitar la sobrecarga de código , si una función está disponible tanto en ReactOS como en el kernel de Linux, se usa la variante del kernel de Linux. Las funciones se implementan utilizando módulos del kernel de Linux cargables para una carga y descarga rápidas.
Longene tiene llamadas al sistema Windows y Linux y sus respectivas tablas. Las aplicaciones de Windows pueden llamar a la interrupción de software "int 0x2e", mientras que las aplicaciones de Linux usan la llamada de tabla a través de "int 0x80".
El proyecto del kernel de Linux unificado no desarrolla bibliotecas a nivel de usuario para Windows y Linux. Proyectos relevantes como Wine , ReactOS y GNU están haciendo esto .
En septiembre de 2005, el proyecto Linux Unified Kernel recibió el patrocinio de la corporación china de consultoría de TI Insigma Technology [4] . El líder Decao Mao esbozó los objetivos y formas de desarrollar el proyecto [5] . Ha escrito numerosos artículos sobre el mercado, los derechos de autor de la propiedad intelectual [6] [7] y ha esbozado las condiciones necesarias para alcanzar el objetivo. Los artículos de Mao se recopilan en las páginas del proyecto.
Para crear un solo kernel de Linux, debe agregar los siguientes elementos:
Para lograr el objetivo, el núcleo fusionado se lanza como parches de Linux . Los desarrolladores esperan que estos parches se fusionen con la rama principal del kernel. Esto facilitará la migración de programas desde la plataforma Windows y hará que los controladores de Linux sean más baratos de producir. Además, existen paquetes binarios listos para usar para sistemas como Ubuntu , Fedora y Red Flag Linux .
Longene está implementando gradualmente los módulos API de Win32 que se convertirán en parte del kernel compartido en lugar de los módulos de wineserver que traducen las llamadas del sistema Windows a las llamadas del sistema Linux. Longene también modifica los archivos de sistema wine , kernel32.dll , user32.dll , gdi32.dll y ntdll.dll que llaman a los módulos wineserver para obtener la implementación de la API de Win32 en el espacio del kernel. En un estado de transición, Longene usa módulos de wineserver para manejar funciones que aún no se han transferido al kernel, por lo que incluso las versiones sin terminar ejecutan aplicaciones Win32.
A partir de la versión 0.3, wineserver se abandonó por completo, pero Longene aún requiere archivos de sistema modificados kernel32.dll, user32.dll, gdi32.dll y ntdll.dll, así como algunas bibliotecas de vino. Para los controladores de dispositivos, Longene usa NDISwrapper . La funcionalidad faltante del modelo de controlador de Windows se ha complementado con descripciones de ReactOS . El mecanismo del kit de controladores de Windows se basa en el código de ReactOS. Utiliza una combinación de reenvío de recursos a los controladores del kernel de Linux y bibliotecas adicionales que implementan funciones que no se encuentran en Linux.
Una versión anterior se conocía como unifiedkernel-2.6.13 y se lanzó el 15 de febrero de 2006 . Esta versión contenía implementaciones iniciales del mecanismo de llamada al sistema de Windows, con funciones prototipo de llamada al sistema. Versiones existentes:
Color | Sentido |
---|---|
Rojo | La versión ya no es compatible |
Verde | Lanzamiento aún compatible |
Azul | Lanzamientos futuros |
Versión | Fecha de lanzamiento | Información de liberación |
---|---|---|
0.1.0 | 30 de abril de 2006 |
|
0.2.0 | 31 de diciembre de 2006 |
|
0.2.1 | 4 de febrero de 2008 |
|
0.2.2 | 31 de octubre de 2008 |
|
0.2.2-1 | 17 de diciembre de 2008 |
|
0.2.3 | 12 de febrero de 2009 |
|
0.2.4 | 22 de mayo de 2009 |
|
0.2.4.1 | 31 de agosto de 2009 |
|
0.3 | 31 de mayo de 2010 |
|
0.3.1 | 28 de febrero de 2011 |
|
0.3.2 | 8 de junio de 2011 |
|
Los desarrolladores están trabajando en la estabilidad de SMP [8] y en la migración de NDISwrapper.
Durante el desarrollo, los cambios en el código del núcleo son mínimos, ya que se utilizan módulos cargables.
Se espera que las versiones futuras agreguen la siguiente funcionalidad:
Se espera que el puerto Loongson 3 use nuevas instrucciones para emular hardware x86 .
Longene también se puede ejecutar en programas de virtualización o emulación de hardware como VMware y VirtualBox .
Requisitos mínimos de hardware para ejecutar: