Unified Linux Kernel | |
---|---|
Lanserades av Kingsoft Office via unified Linux kernel version 0.2.1 | |
Sorts | Kärna |
Utvecklaren | Insigma-teknik |
Skrivet i | C |
Operativ system | Unix-liknande |
Hårdvaruplattform | IA-32 och x86_64 |
senaste versionen | 0.3.2 (8 juni 2011) |
släppa kandidat | 1.0 RC2 (14 januari 2014) |
betaversion | 0.4.0 (2 juni 2012) |
Licens | GNU General Public License version 2 |
Hemsida | longene.org/en/index.php |
Den förenade Linuxkärnan ( Linux Unified Kernel , Longene [1] eller informell LUK ) är en operativsystemkärna designad för binär kompatibilitet av applikationer och enhetsdrivrutiner som används i Microsoft Windows och Linux , utan användning av virtualisering eller emulering [2] .
Projektet är skrivet i C , är gratis och öppen källkod och använder GPL version 2 -licensen [3] . Det första numret ägde rum 2006 .
Målet med Longene-projektet är att lägga till Windows-kärnmekanismer inklusive systemanrop, Windows-register, Windows Driver Model (WDM), Deferred Procedure Call (DPC) och andra till Linux-kärnan för att skapa en ny kärna. Den nya kärnan låter dig köra både Linux- och Windows-applikationer, samt använda enhetsdrivrutiner.
För att förhindra code bloat , om en funktion är tillgänglig i både ReactOS och Linux-kärnan, används Linux-kärnvarianten. Funktioner implementeras med laddningsbara Linux-kärnmoduler för snabb in- och urladdning.
Longene har Windows och Linux systemanrop och deras respektive tabeller. Windows-applikationer kan anropa mjukvaruavbrott "int 0x2e" medan Linux-applikationer använder tabellanrop via "int 0x80".
Unified Linux Kernel Project utvecklar inte bibliotek på användarnivå för Windows och Linux. Relevanta projekt som Wine , ReactOS och GNU gör detta .
I september 2005 fick Linux Unified Kernel-projektet sponsring från det kinesiska IT-konsultföretaget Insigma Technology [4] . Ledaren Decao Mao beskrev målen och sätten att utveckla projektet [5] . Han har skrivit många artiklar om marknaden, copyright immateriella rättigheter [6] [7] och beskrivit de nödvändiga förutsättningarna för att nå målet. Maos artiklar finns samlade på projektsidorna.
För att skapa en enda Linux-kärna måste du lägga till följande element:
För att uppnå målet släpps den sammanslagna kärnan som linux - patchar . Utvecklarna förväntar sig att dessa patchar ska slås samman till huvudkärngrenen. Detta kommer att göra det lättare att porta program från Windows-plattformen och göra Linux-drivrutiner billigare att producera. Dessutom finns det färdiga binära paket för system som Ubuntu , Fedora och Red Flag Linux .
Longene implementerar gradvis Win32 API-moduler som kommer att bli en del av den delade kärnan istället för vinservermoduler som översätter Windows-systemanrop till Linux-systemanrop. Longene modifierar även systemfilerna vin , kernel32.dll , user32.dll , gdi32.dll och ntdll.dll som anropar vinservermodulerna för att få Win32 API-implementeringen i kärnutrymmet. I ett övergångstillstånd använder Longene vinservermoduler för att hantera funktioner som ännu inte är portade till kärnan, så även oavslutade utgåvor kör Win32-applikationer.
Från och med version 0.3 övergavs vinservern helt, men Longene kräver fortfarande modifierade systemfiler kernel32.dll, user32.dll, gdi32.dll och ntdll.dll, samt vissa vinbibliotek. För enhetsdrivrutiner använder Longene NDISwrapper . Den saknade funktionaliteten i Windows-drivrutinsmodellen har kompletterats med beskrivningar från ReactOS . Windows Driver Kit-mekanismen är baserad på ReactOS-koden. Den använder en kombination av vidarebefordran av resurser till Linux-kärndrivrutiner och ytterligare bibliotek som implementerar funktioner som inte finns i Linux.
En tidig version var känd som unifiedkernel-2.6.13 och släpptes den 15 februari 2006 . Denna utgåva innehöll initiala implementeringar av Windows syscall-mekanismen, med prototyp syscall-funktioner. Befintliga versioner:
Färg | Menande |
---|---|
Röd | Release stöds inte längre |
Grön | Release stöds fortfarande |
Blå | Framtida releaser |
Version | Utgivningsdatum | Släpp information |
---|---|---|
0.1.0 | 30 april 2006 |
|
0.2.0 | 31 december 2006 |
|
0.2.1 | 4 februari 2008 |
|
0.2.2 | 31 oktober 2008 |
|
0.2.2-1 | 17 december 2008 |
|
0.2.3 | 12 februari 2009 |
|
0.2.4 | 22 maj 2009 |
|
0.2.4.1 | 31 augusti 2009 |
|
0,3 | 31 maj 2010 |
|
0.3.1 | 28 februari 2011 |
|
0.3.2 | 8 juni 2011 |
|
Utvecklarna arbetar med stabiliteten för SMP [8] och portar NDISwrapper.
Under utvecklingen är ändringar i kärnkoden minimala, eftersom laddningsbara moduler används.
Framtida utgåvor förväntas lägga till följande funktionalitet:
Loongson 3-porten förväntas använda nya instruktioner för att emulera x86- hårdvara .
Longene kan också köras i hårdvaruemulering eller virtualiseringsprogram som VMware och VirtualBox .
Minsta hårdvarukrav för att köra: