Ir al contenido

Linux Unified Kernel

De Wikipedia, la enciclopedia libre
(Redirigido desde «Longene»)
KingSoft WPS en UnifiedKernel versión 0.2.1

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

Básicamente intenta acelerar la capa Wine en el espacio del núcleo. Con el fin de lograr esto, las características clave del núcleo de Windows son portadas al núcleo Linux.[2]

Longene está escrito en lenguaje de programación C, y es software libre y de código abierto. Está disponible bajo los términos de la Licencia Pública General de GNU versión 2 (GPLv2).[3]​ A pesar de que el proyecto está en fase alfa de desarrollo desde 2009, muchos programas de Windows 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 núcleo Linux para formar un nuevo núcleo Linux.

El nuevo núcleo 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 fue publicada la primera "release candidate"[4]

Metodología

[editar]

Aparte del núcleo 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 descontinuado que intentaba mover funciones del Wineserver de Wine al núcleo 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 Núcleo Linux. El LUK intenta integrar ambos.

Con el fin de evitar duplicación de código, si una función está disponible tanto en ReactOS como en el núcleo Linux, se utiliza la implementación de Linux. Las funciones se implementan utilizando módulos del núcleo 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] Archivado el 21 de junio de 2012 en Wayback Machine.
  3. "Q: Whether the Linux Unified Kernel code will open or not?". Linux Unified Kernel Project Group. Retrieved 2009-12-04. [3] Archivado el 17 de junio de 2012 en Wayback Machine.
  4. «Página web de la versión 1.0 longene-1.0-rc1». Archivado desde el original el 25 de febrero de 2009. Consultado el 9 de abril de 2014. 
  5. Enlace a las fuentes del proyecto Kernel-Win32[4]