Linux Unified Kernel

De Wikipedia, la enciclopedia libre
(Redirigido desde «Longene»)
Saltar a: navegación, búsqueda

Linux Unified Kernel, también conocido como Longene y de manera informal como LUK,[1] es un núcleo de sistema operativo pretende ser compatible con aplicaciones y controladores de dispositivos (drivers) hechos para Microsoft Windows y Linux.

Básicamente intenta acelerar la capa Wine en el espacio del kernel. Con el fin de lograr esto, las características claves del kernel de Windows son portados al kernel de Linux.[2]

Longene está escrito en el lenguaje de programación C y es libre y software de código abierto. Está disponible bajo los términos de la Licencia Pública General GNU versión 2 (GPLv2).[3] A pesar de que el proyecto está en la fase alfa de desarrollo a partir de 2009, muchos programas de Windows que ya funcionan bien.

Objetivo[editar]

Longene intenta agregar todos los mecanismos del núcleo de Windows, incluyendo llamadas al sistema, el registro de Windows, el Windows Driver Model, las differed Procedure Calls, y otros mecanismos, en el kernel Linux para formar un nuevo núcleo linux.

El nuevo kernel permitirá que las aplicaciones Linux y Windows y controladores de dispositivos puedan trabajar simultáneamente sin virtualización o emulación, y sin el retraso que supone correr Wine en el espacio de usuario.

En diciembre del 2013 ha sido publicada la primera "release candidate"[4]

Metodología[editar]

Aparte del kernel linux estándar y el uso parcial de Wine, el LUK integra otros proyectos opensource para conseguir su funcionalidad:

  • ReactOS. Un clónico de Windows NT en estado de desarrollo. LUK lo utiliza como referencia incluyendo el framework para drivers NDIS.
  • Kernel-Win32 es un proyecto actualmente parado que intentaba mover funciones del Wineserver del wine al kernel linux. Es el predecesor directo de LUK/Longene y se encuentra alojado en los servidores del proyecto Wine.[5] Desgraciadamente este proyecto no tenía en cuenta la carga de drivers que se intenta conseguir con Longene.
  • NDISwrapper: Este proyecto ofrecía lo que le faltaba al anterior. La carga de drivers de windows en el kernel linux. El LUK intenta integrar ambos.

Con el fin de evitar duplicación de código, si una función está disponible tanto en la ReactOS y núcleo de Linux, se utiliza la implementación de Linux. Las funciones se implementan utilizando módulos del kernel cargables Linux, para que puedan ser cargados y descargados fácilmente.

Longene tiene dos juegos de las llamadas al sistema y sus correspondientes tablas: una syscall de Windows y de un juego syscall Linux. Aplicaciones de Windows llaman la tabla syscall a través del software de interrupción "int 0x2e". Aplicaciones Linux llaman la tabla syscall a través de "int 0x80".

El proyecto Kernel Unified Linux no se desarrolla el espacio de usuario de las bibliotecas de Windows y Linux. Esas bibliotecas son ofrecidos por otros proyectos, como el Wine, ReactOS, y GNU.

Véase también[editar]

Referencias[editar]

  1. "Unified Kernel Website". Linux Unified Kernel Project Group. 2010. Retrieved 2010-01-10. [1]
  2. "Linux Unified Kernel Project". Linux Unified Kernel Project Group. 2008. Retrieved 2009-09-05. [2]
  3. "Q: Whether the Linux Unified Kernel code will open or not?". Linux Unified Kernel Project Group. Retrieved 2009-12-04. [3]
  4. Página web de la versión 1.0 longene-1.0-rc1
  5. Enlace a las fuentes del proyecto Kernel-Win32[4]