Linux Unified Kernel 0.2.4

Linux Unified Kernel to specyficzny projekt, który oprócz obsługi aplikacji linuksowych umie też uruchamiać programy napisane na platformę MS Windows. Większość zapewne w tym momencie wzruszy ramionami: „po co jeszcze to, skoro jest Wine”? Jednak okazuje się, że ma to uzasadnienie praktyczne — podobno programy windowsowe pod LUK działają po prostu szybciej.

Linux Unified Kernel planuje włączenie do jądra linuksowego rdzenne windowsowe zarządzanie procesami, wątkami, obiektami, wirtualną pamięcią, synchronizacją, wywołaniami systemowymi, rejestrem systemowym (to akurat już wykonano) czy — w dalszej perspektywie — sterownikami (WDM), a zarazem obsłuży także linuksowy system plików ext4 itp. Wszystkie dodatkowe funkcje są ładowane w postaci modułów jądra (LKM).

Jeśli dana funkcjonalność jest obecna zarówno np. w jądrze ReactOS, Wine albo NDISWrapperze jak i pod Linuksem, to LUK wybiera wersję linuksową. Dzięki temu różnica między nim a zwykłym jądrem Linux jest możliwie najmniejsza, co w zamyśle zespołu ma doprowadzić do małej rewolucji — włączenia tych łatek do linuksowego standardu! Wszystko to dotyczy tylko jądra, biblioteki z przestrzeni użytkownika są dobierane z zewnętrznych projektów.

Wydanie 0.2.4 sprzed tygodnia zawiera port obsługi systemu plików z Wine, zaimplementowane zostały też częściowo indywidualne funkcje obsługi rejestru systemowego. Chętni do testów po raz pierwszy mogą pobierać binarne pakiety przygotowane dla kilku dystrybucji (Fedora, Ubuntu i RedFlag), choć oczywiście trzeba pamiętać, że to dopiero stadium alfa.

W tej chwili LUK działa tylko na architekturze x86. W następnej kolejności ruszy także na chińskich procesorach typu Loongson 3.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar wujek_bogdan
    wujek_bogdan

    z tego co widzę, to w obecnym stadium rozwoju wymaga nie tylko instalacji kernela, ale także zmodyfikowanego na potrzeby projektu wine.
    nie testowałem jeszcze, ale projekt wydaje się być ciekawy.

    czy może mi ktoś wyjaśnić z jakiego powodu LUK jest szybszy od wine, skoro używa w dużej częsci kodu wine/reactos? rozumiem, że opórcz szybkości działania niewiele się od wine różni i w zasadzie to co działa na wine powinno działać podobnie pod LUK.

    1. Awatar Sławek
      Sławek

      Kod jest wykonywany w przestrzeni jądra(m.in możliwość wywłaszczenia), a poza tym nie stosuje się Wine-serwer. Myślę, że gry nie bardzo przyśpieszą, jeśli w ogóle.

      1. Awatar wujek_bogdan
        wujek_bogdan

        nie znam się na tym, ale czy to nie niesie ze sobą potencjalnych zagrożeń dla stabilności?

        1. Awatar Sławek
          Sławek

          Chyba tak.

        2. Awatar ciociakasia
          ciociakasia

          Zależy. Kod nie pochodzi od microsoftu, jest tworzony w wolnym czasie przez nieopłacanych ochotników amatorów z całego świata, więc istnieje spora szansa, że będzie dobrej jakości;)

        3. Awatar Królik
          Królik

          >Kod nie pochodzi od microsoftu
          Z tym się zgadzam.

          >jest tworzony w wolnym czasie przez nieopłacanych ochotników amatorów z całego świata

          A to akurat niemal zawsze wpływa negatywnie na jakość kodu.
          Nieopłacani ochotnicy mają to do siebie, że piszą kod pod hasło "u MNIE działa i spełnia MOJE wymagania", natomiast firmy (szczególnie małe, które chcą się przebić) piszą pod hasło "KLIENTOWI działa i KLIENT jest zadowolony".

        4. Awatar niedzwiedz
          niedzwiedz

          @Królik:
          OK, ale MS pisze pod hasło:
          "Nam nie działa, ale MOŻE komuś zadziała" 😛

    2. Awatar Goofy
      Goofy

      Roznica lezy w procesie wykonywania binarki windowsowej na linuksie, ktory przy uzyciu LUK moze byc krotszy.

      Przykladowo dla wywolan systemowych [1], gdy program windowsowy uruchamiany za pomoca wine wywoluje jakies wywolanie systemowe jest ono tlumaczone na odpowiednie wywolanie linuksowe. Pozniej wynik wywolania linuksowego jest ponownie tlumaczony przez wine na wywolanie windowsowe i zwracane programu.

      LUK przyspiesza ten proces, bo nie zachodzi tutaj zadne 'tlumaczenie'. Wszystke wywolania sa po prostu natywnie dostepne.

      W duzym uproszczeniu na tym polega 'dopalacz' w LUK.

      [1] http://pl.wikipedia.org/wiki/Wywo%C5%82anie_syste…

  2. Awatar wolny
    wolny

    na miejscu Linusa ja bym chińskim produktom się bardzo dokładnie przyglądał…

  3. Awatar JarekMk
    JarekMk

    O jak fajnie. To może w ogólę dać już obsługę .exe do kernela? Będize po prostu idealnie… ;|

    1. Awatar MichalK
      MichalK

      Tak szczerze to byłby killer-feature linuksa jeśli by działał dobrze. Wine wiele jeszcze brakuje.

      1. Awatar Bender
        Bender

        Nie uważam tego za "killer feature" Linux to Linux a Windows to Windows. Nie potrzeba nam natywnego wsparcia dla Windowsa bo to jest "obcy" organizm dla linuksa. Ja osobiście bym nie chciał tego bo i by się zaczęły jaja z różnymi dziurami i dodatkowo trzebaby szukać dziur i tu i tam. NIE dla LUK!!

        1. Awatar wujek_bogdan
          wujek_bogdan

          @Bender
          tobie nie potrzeba…ale może innym wręcz przeciwnie.
          nie potrzebujesz, to nie instaluj. prosta sprawa.

          a jeśli boisz się włączenia tego do jądra, to jeśli zostanie włączone, to znaczy, że kod jest na tyle stabilny i bezpiecznym, że nie ma się czego obawiać. chociaż nie sądzę, żeby kiedykolwiek został dołączony. najprędzej widzę to jako osobny moduł.

        2. Awatar norbert_ramzes
          norbert_ramzes

          Mi to może do szczęścia nie jest potrzebne ale innym tak.

          Jedna z zalet to będzie to że moje (i innych) uszy nie będą już boleć od tekstów w stylu: 'A czemu na tym to nie działa a na win działa?!' itp

        3. Awatar dav
          dav

          Tez uwazam ze LUK to nie jest zbyt bezpieczne i stabilne rozwiazanie. Wolałbym zeby Wine dzialalo jak porzadny emulator np. konsoli PSX, na ktorym mamy pewnosc ze zadziala kazda aplikacja Windowsowa, no i zeby byl domyslnie instalowany i integrowany jak w Ubuntu (klikalne pliki .exe)

        4. Awatar Chudy
          Chudy

          To sobie zainstaluj wirtualną maszynę i Windowsa na niej.
          Wine to nie emulator. Emulatory konsol przeważnie potrzebują oprogramowania (konkretnie biosa) z pamięci konsoli by działać, tutaj równoważnie by był potrzebny cały Windows. Wine to projekt implementujący biblioteki Windows w środowisku POSIXowym, on nie emuluje niczego!

        5. Awatar Pirogronian
          Pirogronian

          Ależ owszem, emuluje! Emuluje oryginalne biblioteki Windows! (Nie, nie sam Windows, Windows emuluje wine + Xy + parę innych + jądro). To tak z przekory. Też kiedyś uważałem, że Wine to nie-emulator, ale słownikowa definicja przytoczona w zw z którymś z kolei niusem o wine 😉 przekonała mnie, jakie to względne!

        6. Awatar bies
          bies

          Tia… A glibc ,,emuluje'' libc z Uniksów…

        7. Awatar Rsh
          Rsh

          Wbrew pozorom to nie takie głupie. W pewnym sensie glibc emuluje libc. Tak samo jak samba emuluje windziane rozwiązania, a sztuczna inteligencja próbuje emulować zachowania ludzi … Sama definicja emulacji pozwala używać tego zamiennie do "naśladuje", inna sprawa, że powszechnie się przyjęło emulację jako odpalanie gierek z Atari na PCtach … ale nie trzeba się tak ograniczać.

        8. Awatar https://me.yahoo.com
          https://me.yahoo.com

          Implementuje, a nie emuluje !
          Emulacja działa na innej zasadzie i sprowadza się do interpretacji kodu i tłumaczenia rozkazów z jednej architektury na inna – a tu (Windows) i tu (Wine) mamy ten sam x86 i ten sam zbiór funkcji WinAPI, tyle że z inną implementacją.

        9. Awatar LV
          LV

          Idąc tym tokiem rozumowania nasz rząd emuluje politykę… żeby chociaż stabilnie :/

        10. Awatar Quinn
          Quinn

          Idąc tym tokiem rozumowania nasz rząd emuluje politykę…

          … a eMule emuluje e-sklep 😀

        11. Awatar mor
          mor

          Tylko że stwierdzenie "rząd naśladuje politykę" jest pozbawione sensu, w przeciwieństwie do przykładów powyżej.

        12. Awatar mini
          mini

          Bo rzad polityke symuluje.

        13. Awatar trasz
          trasz

          @bies: Wiec twoim zdaniem glibc powstal po to, zeby aplikacje pod nim uruchomione myslaly, ze sa uruchomione pod Solarisem albo SCO, a nie pod np. Linuksem? Ciekawa teza.

    2. Awatar wujek_bogdan
      wujek_bogdan

      @JarekMk
      przecież jest natywna obsługa .exe
      zobacz na aplikacje napisane w mono!

      1. Awatar LV
        LV

        Pliki EXE to pliki PE, mono implementuje tylko parsowanie nagłówków i kilka innych klamotów pozwalających odpalić zawarty w execu kod zarządzany. Sorry, ale PE to przede wszystkim kod natywny, tego zaś mono nie obsługuje.

    3. Awatar jellonek
      jellonek

      przeciez juz jest… "kernel support for misc binaries" – dla odpowiedniego 'magicznego ciagu' ustawiasz jakis loader. dla elfow jest to zazwyczaj ld-linux.so (zalezy jeszcze od architektory), dla MZtow pewnie mono, lub wine (mozna to jeszcze przez skrypt przepuscic).

      1. Awatar LV
        LV

        MZ to był DOS, Windows to PE. PE ma tzw. DOS Stub – taki zbędny klamot z dawnych czasów, jest to po prostu nagłówek MZ z ostatnim polem wskazującym na nagłówek PE, chociaż w praktyce często nadal jest to malutka DOS-owa binarka. Generalnie zastosowaniem tego jest wyświetlanie komunikatu o konieczności odpalenia pod Windows. Swego czasu jednak np. taki regedit w stubie miał swoją normalną DOS-ową wersję – ten sam .exe pracował pod Windows jako aplikacja Windows, z GUI itd., pod DOS-em zaś pozwalał odczytywać i zapisywać klucze z linii poleceń.

  4. Awatar Bender
    Bender

    Linus z pewnością tego nie zaakceptuje i na pewno nie trafi to do jądra.

  5. Awatar balba
    balba

    @Marcin Wilk
    o czym ty w ogole piszesz? co to znaczy dogonic? jezyk gimnazjalisty..

    1. Awatar Marcin Wilk
      Marcin Wilk

      Mowie o faktach. Linux walczy oto by stac sie popularnym systemem na desktopie. Ale robi to probujac nasladowac rozwiazania MS, co mnie wcale nie dziwi bo owszem, trzeba przyznac ze systemy MS sa po prostu lepsze. Tylko czy tym samym, Linux sam nie wystawia sobie oceny systemu, ktory jest zawsze do tylu ze wszystkim? Mysle ze tak. Powyzszy projekt ma za zadanie umozliwic uruchamianie aplikacji pisanych na system Windows pod Linuxem w sposob jeszcze bardziej natywny niz w wypadku WINE na standardowym kernelu. I dzieki temu peka mit o Linuxie, ze ma wiecej dobrego oprogramowania (a podobno to jedna z zalet Linuxa). Tak jak pisalem, linux zealots musz plakac, ich system z dnia na dzien coraz bardziej przypomina MS Windows, ale niestety, to nadal nie pomaga mu stanowic powazniejszego niz 1% uzytkownikow na desktopach systemu. Dlaczego? Na to pytanie tworcy tego systemu musza odpowiedziec sobie samemu. Najlepiej sluchajac uzytkownikow owego, co im nie wychodzi… 😀

      1. Awatar Ark
        Ark

        Beznadziejna analogia…
        To że pare osób tworzy LUK i podobne nie znaczy, że reszta też tylko naśladuje MS.
        Do identycznego zdania można dojść (tylko że w "drugą stronę") gdy weźmie się pod uwagę ext2fs czy winaxe.

        Wracając do luk, jednym z powodów dla którego ów twór powstaje jest słynne powiedzenie "because we can" 🙂

      2. Awatar JG
        JG

        Mowie o faktach. Linux walczy oto by stac sie popularnym systemem na desktopie. Ale robi to probujac nasladowac rozwiazania MS,

        To raczej nie jest mowa o faktach tylko o mitach. Linux to kernel dla wielu OS i nie słyszałem, żeby o coś walczył, albo żby jego twórcy walczyli o cos więcej, niż to żeby porządnie działał.

        I dzieki temu peka mit o Linuxie, ze ma wiecej dobrego oprogramowania (a podobno to jedna z zalet Linuxa).

        Ten mit, to kolega troll sam chyba w naprędce wymyslił, albo coś mu się gruntownie pochrzaniło. Ja raczej zawsze stykałem się z opiniami, że "linuksowi" brakuje różnych ważnych aplikacji. Choć oczywiście istnieje sporo, niekiedy wręcz bezkonkurencyjnego softu. Aczkolwiek rzadko specyficznie linuksowego.

      3. Awatar Sławek
        Sławek

        Pójdę twoim tokiem rozumowania. Napisz, ile osób jest zainteresowanych tym rozwiązaniem. Ilu programistów je rozwija? W jakich dystrybucjach jest standardowo rozwijane. To, iż jakiś Chiński haker zdecydował się coś takiego stworzyć nie oznacza, że Linuksowi czegoś brakuje. Zwróć uwagę, że na Windows istnieją podobne rozwiązania(np. odpowiednie zmodyfikowane jądro Linuksa, by pracowało, jako zwykły proces). Czy to znaczy, że Windows czegoś brakuje?

        1. Awatar D3X
          D3X

          tak, brakuje mu chociażby porządnego shella i masy aplikacji konsolowych 😉

        2. Awatar LV
          LV

          Zainstaluj PowerShella, poczytaj o możliwościach – nagle okazuje się, że sam język zastępuje większość `aplikacji konsolowych`, poza tym można natywny port coreutils zainstalować.

        3. Awatar bies
          bies

          A zastąpi mi mutta, ln -s, formail, fetchmail, procmail? Bo to jest moja poczta — potrzebna do pracy. Zwracam szczególną uwagę na ln -s.

        4. Awatar Marcin Wilk
          Marcin Wilk

          Ale prosze panstwa, aplikacje GNU dzialaja dobrze na Windows, mamy takie cos jak cygwin nawet… Wiec nie wmawiajcie bzdur ze Linux to aplikacje GNU, bo Linux to jedynie skopane jadro 😉

        5. Awatar PACH
          PACH

          @bies
          Poczytaj o mklink. Dodam na marginesie że dowiązania symboliczne do plików obsługuje tylko NT6.0 i nowsze, ale kto dziś kożysta z XP ;).

        6. Awatar PACH
          PACH

          yyy korzysta miało być. *przeklina brak możliwości edycji własnych postów*

        7. Awatar LV
          LV

          W praktyce i tak najlepiej zainstalować emacs-a.

        8. Awatar mini
          mini

          Na XP i w2003 jest cos co nazywa sie fsutil. Raczej proste narzedzie, ale dziala.

  6. Awatar Gunther
    Gunther

    Będzie gites. Będziemy otwierać natywnie exe, będziemy mieli rejestr. Inne rzeczy też pewnie będziemy mieli…
    Fajnie…

    1. Awatar haael
      haael

      Będziemy mieli WINDOWS API!!! Z zaszłościami pamiętającymi czasy DOSa.

      1. Awatar trasz
        trasz

        @hael: Windows API nie ma zaszlosci z czasow DOS-a. Ma jakies 10 lat mniej zaszlosci niz API uniksowe.

        1. Awatar Sławek
          Sławek

          Niektóre funkcje Windows, jak FindFirstFile(dobrze pamiętam) przyjmują identyczne parametry, jak odpowiadająca mu funkcja przerwania DOS-a. W dodatku parametry przekazuje się w analogicznej kolejności, jak kolejność parametrów dla poszczególnych literek rejestrów w tym przerwaniu. Przykład mocno naciągany, ale jednak coś w tym jest.

          Różnica polega na tym, iż przerwania DOS-a są dla programów 16-bitowych, a WinAPI dla 32-bitowych.

        2. Awatar LV
          LV

          Dobra kochanie, a API *niksów to m.in. kupa funkcji z lat '70. Poza tym nie, wcale FindFirstFile nie przyjmuje identycznych parametrów co funkcja z int 0x21, Trochę Ci się API pozajączyły. Obecne WINAPI to API Windows NT i trochę funkcji 3.x dla zgodności. WINAPI nie ma nic wspólnego z DOS-em, przykro mi. Czy to takie skomplikowane? Windows API to *Windows* API, nie DOS API.
          .
          Przerwania dla 16-bit programów? Nie wiem czy wiesz, kochanie, ale były 32-bitowe programy dla DOS używające przerwań. Z drugiej strony aplikacje dla Windows 3.1 nie były DOS-owe, będąc 16-bitowe korzystały z bardzo wczesnego WINAPI.

    2. Awatar JG
      JG

      Na szczęście nie jest to kernel Linusa. I miejmy nadzieję, że tak pozostanie.

    3. Awatar norbert_ramzes
      norbert_ramzes

      "Inne rzeczy też pewnie będziemy mieli…"

      Malware?

  7. Awatar vshader
    vshader

    Dla mnie jednym z najważniejszych (acz nieczęsto zauważanych) celów tego projektu jest wsparcie dla windowsowych sterowników. Brak natywnych driverów to nadal częsta bolączka linuksowego desktopa, niestety…

  8. Awatar joker
    joker

    A tak swoją drogą to ciekawi mnie jak dokładnie to będzie działać, bo nie chce mi się wierzyć, żeby ktokolwiek z Was sięgnał chociażby do wikipedii (za odnośnikiem) i przeczytał coś więcej o tym projekcie. Szkoda, że sesja za pasem, ale pewnie do tego wrócę…

    1. Awatar Sławek
      Sławek

      Na polskojęzycznej Wikipedii akurat mało o tym jest napisany. Należy wspomnieć, że jest to dodatkowy moduł jądra(choć nie wiem czy w celu instalacji nie należy nakładać łat 🙁 ).

      Dobrze byłoby napisać zarządcę modułów, udostępniającego API przez DBUS, choć Ubuntu ma już coś w PolicyKit ze sterownikami. W tej kwestii proszę o sprostowanie.

  9. Awatar wini
    wini

    Projekt nawet ciekawy, ale o ile tempo jego rozwoju ma być podobne
    jak ReactOS-a to lepiej dać sobie z tym spokój.

    1. Awatar DerDevil
      DerDevil

      No wiesz tylko ReactOS musi pracować nad jądrem a w tym przypadku stabilne jądro już jest.

      Mnie ciekawi czy pliki exe będą wyświetlały własne ikony bo tego mi brakuje przy wine 🙂

      1. Awatar Maciej Piechotka
        Maciej Piechotka

        Mi wyświetla ładne ikony przy plikach .desktop. A przy innych nie chciałbym żeby były. Wyobraź sobie że jest plik list.doc.exe z ikoną Worda (który siedzi na Wine etc.). Otwierasz 'list'…

        Oczywiście – większość ludzi tutaj nie da się złapać ale pamiętajmy że większość ludzi może dać się złapać nawet jeśli będzie komunikat 'to jest plik wykonywalny'.

  10. Awatar marcinsud
    marcinsud

    dzięki kocio za wyręczenie 🙂
    Projekt ciekawy o tyle, że nie wymusza korzystania z windowsowych programów tudzież sterowników, więc nikt nie musi się martwic o swój komputer 🙂
    Ale jeśli ktoś ma drukarkę skaner cokolwiek co jakimś trafem nie działa jak należy to powinien być zadowolony z możliwości odpalenia sterów z windowsa(raczej przyszłość).
    Projekt ciekawy i należny go traktować jako zaletę, a nie wadę.

    1. Awatar kocio
      kocio

      A co, chciałeś sam napisać? Kurczę, mogłem poczekać… =}

      Ja tam uważam, że to dobra rzecz. Linux nie powstał w próżni, jest implementacją równie własnościowego UNIX-a, to może mieć i podsystem obsługi tak samo własnościowego win(32). Mniej mnie interesuje uniksowe geekowstwo, a bardziej wolność licencji, żeby można było to swobodnie rozwijać, poprawiać, wyszukiwać na czym polegają problemy. Nawet jeśli Linus tego nie pobłogosławi, to jako zestaw łatek na bieżące jadro tez jest dobry pomysł. Przez lata tak się rozwijały linuksowe rozwiązania czasu rzeczywistego i się dało.

      Nie trzeba zresztą od razu decydować – takie radykalne pomysły nawet lepiej jak stopniowo się sprawdza. Wrzawę wzbudzał np. port KDE na Windows albo unifikacja optyczna KDE z GNOME w dawnej Fedorze – i jakoś dziś nikomu to nie przeszkadza. Ale dyskusja nad tym była potrzebna.

      1. Awatar marcinsud
        marcinsud

        Na forum osnews napisałem cynk o tym, że wyszło, a nie chciałem pisać newsa bez sprawdzenia jak to działa. Nowy dysk będę miał dopiero dzisiaj wieczorem, więc na nowej partycji sobie zainstaluję jakieś distro, bo moje obecne jest na ext4, a LUK niestety nie trybi z ext4. Mi osobiście LUK by się przydał, z wine korzystam dla jednego programu, ale za to wymagającego, więc przyspieszenie działania mile widziane.

  11. Awatar krzy2
    krzy2

    Najzabawniejsze jest to, że cały pomysł to skopiowane kernel personalities z Windows NT. Zresztą od razu nasuwa się pytanie po co się męczyć, skoro istnieje analogiczne rozwiązanie na Windows ( SUA – SFU – Interix).

    1. Awatar LV
      LV

      Po co? Chcą zaimplementować machanizmy NT w kernelu Linuksa – ich sprawa. Nudzi im się, nie mają kobietyfacetaklaczywtf to klepią. Wiesz, niektórym grzebanie się w bebechach systemów operacyjnych (i to często z pomocą samego disassemblera) sprawia przyjemność. `Analogiczne rozwiązanie` ma się nijak do zagadnienia – oni chcą to w otwartym kernelu osadzić, nie po prostu używać podsystemów systemu własnościowego. Podsumowując, póki nie robią nikomu krzywdy – niech się bawią, może nawet komuś się to kiedyś faktycznie przyda.

  12. Awatar dave
    dave

    strona chyba padła. udało się komuś z niej pobrać już te paczki? mi przerwało w trakcie sciągania :/

  13. Awatar Antares
    Antares

    Moim zdaniem – glupi pomysl…

    Wine tez moze dzialac wydajnie – co widac na dobrze napisanych aplikacjach – wiec rozwiniecie go zaradzi wiekszosci problemow z oprogramowaniem windowsowym na linuksie, a takie polaczenie (linuksowo-windowsowa hybryda) to sposob na to zeby stworzyc system ktory bedzie mial takie same problemy ze sprzetem jak linux ale bonusowo wprowadzi obsluge sporej czesci windowsowych wirusow…

    1. Awatar LV
      LV

      Stary, a Wine Ci drivery natywnie obsłuży?

    2. Awatar dna
      dna

      @Antares Większość obecnych Win wirusów działa w userlandzie (np. sporo podpina się pod serwis svchost – taki windowsowy inetd), więc dobra implementacja userlandu w Wine czy LUK jest porównywalna z punktu widzenia zagrożenia wirusowego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *