2024. április 24., szerda

Gyorskeresés

Windows kompatibilis kernel Linux-hoz

  • (f)
  • (p)
Írta: |

Rövid bemutató a Linux Unified Kernel project -ről.

[ ÚJ TESZT ]

A neten keresgélve akadtam rá a Linux Unified Kernel project-re (röviden LUK vagy Longene), melyet néhány éve kezdtek el fejleszteni a kínai székhelyű Insigma cég támogatásával. Bár már közel sem számít újdonságnak, itt a lapcsaládban nem találtam rá vonatkozó cikket, így gondoltam írok egy rövidebb bemutatót a neten elérhető cikkek alapján erről az érdekes projektről. A kezdeményezés célja ugyanis nem kevesebb, mint egy olyan a Windows rendszerrel binárisan kompatibilis Linux kernel változat létrehozása, amely lehetővé tenné a meglévő Windows programok és driver-ek módosítás nélküli használatát Linux alatt. A LUK olyan a kernel-hez kapcsolódó modulok halmazát takarja, amelyek megvalósítják a Windows-on jelenlévő kernel mechanizmusok nagy részét (folyamat-, szál-, virtuális memória, fájl-, objektum- és regisztráció kezelés, WDM driver architektúra, stb). A végeredmény egy olyan rendszermag lenne, amely mind a Linux-os, mind a Windows-os alkalmazások futtatását ill. meghajtó programok használatát támogatná.



Photoshop Linux -on LUK -al

Valószínűleg most páran a fejükhöz fognak csapni, "megint feltaláltuk a spanyol viaszt" kiáltással. Windows programok futtatására ugyanis jelenleg is van lehetőség Linux-on a Wine futtató környezet segítségével, illetve jó ideje készül már a ReactOS nevű operációs rendszer is, amely egy ingyenes Windows kompatibilis rendszert szeretne megvalósítani. (azt persze leírni hogy ezeken a rendszereken minden tökéletesen működik, túlzás, de elég szép teljesítmények mutatkoztak a területen az elmúlt években) Miért is van akkor szükség egy újabb implementáció kezdeményre az egyébként is rendkívül komplikált problémára? A Wine - bár nem emulációt használ - felhasználói programtérben (user space) fut, ennek megfelelően a lehetőségei korlátoltak egy a rendszer szinten beépülő architektúrával szemben, valamint Windows-os driver-ek futtatását sem teszi lehetővé. A ReactOS készítő teljesen az alapoktól építettek fel egy Windows kompatibilis rendszert, ennek megfelelően a rendszernek semmi köze a Linux-hoz és a Unix konvencióihoz (fájlrendszer, folyamat modell, stb.). Habár utóbbi rendszer is folyamatosan fejlődik, a LUK készítői úgy vélték hogy a Linux kernel -re érdemesebb lenne alapozni az elképzelt rendszert.



ReactOS amint Diablo -t futtat




Unreal Tournament Wine -al

A LUK egyébként nem szakít a fenti rendszerekkel, a projekt lényegében a Wine és a ReactOS -ben felhalmozott tudást integrálja Linux kernel szintre. A projekttagok igyekeznek kordában tartani a fejlesztést, elkerülvén a feleslegesen újra megírandó részleteket és a spagetti kódolást. Ahol csak lehetőség van, a Linux beépített rendszer hívásaira "fordítják" az implementálandó Windows funkciókat, és csak ott emelnek át részleteket a ReactOS-től, ahol ez mindenképpen elkerülhetetlen. A LUK csapat nem foglalkozik a rendszer szintű binárisok implementálásával, ezeket egy az egyben átemelik a Wine-ból. A driver modell készítésénél elsősorban a kevés publikusan elérhető Microsoft forrásra támaszkodnak, illetve importálják a már meglévő erőforrásokat így pl. a már most is működő NDISWrapper-t (ezzel már eddig is használhatóak voltak egyes XP -re íródott 32 és 64 bites driver-ek, leginkább a WiFi hardverek meghajtói). A nem publikált API-kat a ReactOS-ben elkészített rendszerhívások alapján implementálják. A csapat hosszú távú terve, hogy az így elkészülő funkciókat idővel belefésüljék a fő Linux kernel kódba is.

A LUK projekt legutóbbi hivatalos release-e idén május végén került kiadásra. Ez az első olyan változat egyébként amelyből az aktív disztribúciókban már telepíthető bináris csomag is elérhetővé vált. A letölthető csomag a rendszer szintű mechanizmusok nagy részét implementálja: működik a szál és folyamat kezelés, a megszakítás alapú Windows rendszer hívás kezelés, a virtuális memória kezelés, a folyamat szintű szinkronizáció, a saját EXE betöltő mechanizmus, a fájl rendszer kezelés, és a regisztrációs rutinok jókora része is átkerült a kernel szintű kódba, illetve jó pár biztonsági mechanizmus is megvalósításra került. Mivel ez azonban még közel sem a teljes funkcionalitás, a fennmaradó részt egyelőre a Wine segítségével pótolja a rendszer. A projekt következő nagy céljai a több processzoros rendszerek támogatása, a WDM driver keretrendszer, és a DDK kernel függvény hívási pontok megvalósítása lesz többek között.



StarCraft LUK -al. A konzolban jól látható hogy az EXE -t teljesen hasonló módon
indítjuk mint bármely Linux futtatható állományt.

A fejlesztők nem titkolt célja, hogy létrehozzák azt a réteget amely megszüntetné a virtuális szakadékot a Windows és Linux felhasználási területek között. Ha terveiket sikerülne megvalósítani, akkor a felhasználók lényegében bármely rendszert választhatnák, programjaikat mindenütt egyformán tudnák futtatni; a Windows-hoz szokott felhasználók is könnyebben tudnának migrálni Linux-ra. Nyilvánvalóan ez a Linux asztali operációs rendszerek közötti térnyerésén is sokat tudna lendíteni. Természetesen nem szabad elfelejteni azt sem, hogy a LUK fejlesztői nem az elsők akik úgy gondolták megtalálták az elixírt a Linux népszerűtlenségének orvoslására.

Milyen reakciókat kapott a projekt? A Linux-osok általánosságban értelmetlennek találják a Linux Windows-osítását, és kevésbé bíznak benne hogy ez a projekt több felhasználót vonz majd mint az említett testvér projektek. Egyesek még attól is rettegnek hogy a projekttel lényegében injektálják azt a réteget amely elhozza a Windows-os kártevőket és egyéb biztonsági problémákat a Linux világába. Windows-os oldalról megkérdőjelezhető hogy vajon mikor kerülhet ez a projekt olyan állapotba amikor már érdemes lehet Linux-ra vinni Windows-os programjainkat? A demó képeken ugyan már láthatunk futó StarCraft-ot és Photoshop-ot, ezek valószínűleg csak azon programok sorába tartoznak amelyre a fejlesztők a korai verziókat optimalizálták. A Wine-nak közel tíz évre volt szüksége hogy egy használható rendszer kerekedjék belőle - igaz a LUK lényegében a Wine munkáját fogja tovább vinni ha elvégezték a portolást kernel szintre, ez pedig remélhetőleg sokkal kevesebb időt vesz majd igénybe. Igazán komoly húzó réteget képviselnek a 3D-s tervező és szórakoztató programok, ehhez pedig a DirectX megfelelő implementálása lenne szükséges. Valószínűleg sok fog azon múlni hogy a grafikus kártya gyártók jelenlegi DirectX-re felkészített meghajtóit képes lesz-e használni a rendszer ilyen esetekben.



Linux -ba költözik a Windows?
Jó ez nekünk?

Személy szerint bízom az arany középút megtalálásában, szerintem érdemes nyomon követni a projekt sorsát.

További kapcsolódó linkek:
[HUP hír és fórum]
[Wikipedia - Linux Unified Kernel]
[Projekt SourceForge oldala]
[Web upd 8 blog további képekkel]

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.