Blog (30)
Komentarze (6.3k)
Recenzje (0)
@dragon321ReactOS – ważny projekt czy strata czasu?

ReactOS – ważny projekt czy strata czasu?

14.08.2016 16:28, aktualizacja: 17.08.2016 21:31
600488

Głosy o tym systemie są podzielone. Jedni twierdzą, że jest to strata czasu, inni, że jest to ważny projekt i chwalą jego deweloperów za ambitność i wytrwałość. Deweloperów na pewno należy pochwalić za wytrwałość – ten projekt jest z nami od 1998 roku i do dzisiaj jest w ciągłym rozwoju. Pomimo, iż ciągle jest to Alpha, to jednak efekty prac są widoczne i ciągle osiągane są kolejne cele.

Czym jest ReactOS i skąd się wziął?

ReactOS jest to system operacyjny, który za cel obiera sobie 100% zgodność binarną z Windowsem. Zgodność ta dotyczy nie tylko aplikacji, ale też i sterowników. Jądro tego systemu jest pisane od zera i nie wykorzystuje żadnego innego jądra (nie ma nic wspólnego z Linuksem). Deweloperzy jednak chętnie współpracują z innymi otwartymi projektami, dzięki czemu kilka rzeczy mają ułatwionych. Jednym z tych projektów jest Wine – ReactOS korzysta z jego kodu do implementacji API Win32 oraz DirectX.

Aby dowiedzieć się skąd on się wziął musimy cofnąć się do roku 1996. Rok wcześniej Microsoft wydał swoje przełomowe dzieło – Windows 95. Grupa deweloperów wolnego i otwartego oprogramowania postanowiła stworzyć od podstaw wolną implementacje systemu Microsoftu. Projekt dostał nazwę FreeWin95. Niestety, nigdy nie było dane ujrzeć nam żadnych efektów prac. Projekt zatrzymał się nad dyskusjami na temat zaprojektowania systemu. Pomimo, że projekt rozpoczęto z wielkim entuzjazmem to nigdy nie doszedł do skutku – aż do końca 1997 roku nie było widać żadnych efektów prac. Postanowiono stworzyć nowy projekt nadal zachowując jednak jego cel – stworzenie wolnego Windowsa. Nowy projekt został zapoczątkowany pod przewodnictwem Jason’a Filby. Zmianie uległ także pierwowzór – zamiast tworzyć klona Windows 95, postanowiono stworzyć klona Windows NT. Nieco później ustalono też nazwę projektu, której używa do dziś – ReactOS. Słowo react (ang. zareagować) połączono ze skrótem OS (Operating System – System Operacyjny) i tak powstała nazwa systemu, która miała wyrazić niezadowolenie z monopolistycznej pozycji Microsoftu i reakcje na nią. Tym razem prace faktycznie zaczęto – w lutym 1998 roku zaczęto tworzyć nowy system operacyjny, oczywiście zaczynając od tworzenia jądra na wzór NT i podstawowych sterowników. 20 lipca 1998 roku została wydana pierwsza wersja, której kod był ogólnie dostępny – 0.0.7. 1 lutego 2003 roku wydano wersję 0.1.0, która jako pierwsza była w stanie wystartować z płyty CD. Jedną z ważniejszych jest wersja 0.2.0 wydana 25 stycznia 2004 roku – jako pierwsza pokazała interfejs graficzny, wprowadzając pierwszą wersję ReactOS Explorer – wolnej implementacji Eksploratora Windows. Ważny kamień milowy osiągnięto w wersji 0.3.10 wydanej 5 lipca 2009 roku – pokazała zaczątek obsługi SATA oraz klawiatur i myszek pod USB. Wersja 0.3.14 (2012 rok) pokazała obsługę WiFi, motywów, napisany od nowa sterownik TCP/IP i kilka innych poprawek. W wydanej 2 lata później wersji 0.3.17 dostaliśmy pierwszą implementacje NTVDM (NT Virtual DOS Machine), służącej do uruchamiania starych aplikacji dla DOS. Aktualna wersja (na dzień pisania tego wpisu) to 0.4.1 (17 maj 2016), w której poza poprawkami kilku rzeczy (m.in. USB) dostaliśmy też obsługę systemu plików BTRFS oraz dzielonych folderów w maszynie wirtualnej.

Jak się prezentuje ReactOS?

Zupełnie jak kiedyś
Zupełnie jak kiedyś

Uruchamiając instalator ReactOS przypomnimy sobie dawne dzieje. Instalator jest niemalże identyczny jak ten, który posiadają Windowsy starsze od Visty – najpierw instalacja w trybie tekstowym, potem instalacja w trybie graficznym, która w ReactOS wygląda bardzo podobnie jak ta z Windows 2000.

Po uruchomieniu systemu najdą nas kolejne wspomnienia – interfejs systemu jest niemalże identyczny, jak ten, które posiadały Windowsy starsze od XP. Za całość odpowiada ReactOS Explorer, będący wolną implementacją Eksploratora Windows. Poza samym interfejsem dostajemy oczywiście też wolne odpowiedniki aplikacji z Windowsa – nie brakuje tutaj Painta, Kalkulatora, Notatnika, Edytora rejestru i kilku innych programów i narzędzi, a swoje miejsce mają tutaj nawet stare gry Windowsa – Saper i Pasjans.

Interfejs ReactOS będący dość wierną kopią interfejsu starszego Windowsa.
Interfejs ReactOS będący dość wierną kopią interfejsu starszego Windowsa.

Swoje miejsce oczywiście ma też konsola CMD, wraz z wieloma poleceniami znanymi z systemu Windows. Znaleźć można nawet program diskpart, chociaż przy uruchomieniu jest ostrzeżenie, że program jest jeszcze niegotowy.

Konsola to podstawa, nawet w Windows. ReactOS przedstawia się jako NT 5.2
Konsola to podstawa, nawet w Windows. ReactOS przedstawia się jako NT 5.2

Jako nowość, niespotykaną w Windowsach, należy wymienić menedżer programów, który pozwala automatycznie pobierać i instalować, oraz usuwać programy. Jego baza bogata nie jest, to fakt, ale znajdzie się tam kilka popularnych programów. Niestety, spotkałem się z błędem, gdzie menedżer tuż przed końcem pobierania wywalał błąd, o błędnej paczce. Prawdopodobnie jakiś bug w zainstalowanej przeze mnie kompilacji dziennej, które są odświeżane codziennie (jak sama nazwa wskazuje) i mogą przez to posiadać więcej błędów niż wersje wydane.

Tego Windows się nie dorobił przez długi czas. Dopiero Sklep wprowadzony w Windows 8 daje jakąś namiastkę.
Tego Windows się nie dorobił przez długi czas. Dopiero Sklep wprowadzony w Windows 8 daje jakąś namiastkę.

Aplikacje z Windowsa

Oczywiście najważniejszą rzeczą w tym systemie ma być zgodność z aplikacjami Windows. System poza prostym odpowiednikiem Internet Explorer 6 (który jak to IE6, często się lubi sypać) nie posiada przeglądarki. Postanowiłem więc zainstalować moją ulubioną, mianowicie Firefox. Pobrałem więc instalator w wersji dla Windows i przeniosłem go do maszyny wirtualnej. Zainstalował się bez żadnych problemów. Z działaniem nieco gorzej – nie wyświetlają się przyciski zamknięcia, minimalizacji i maksymalizacji (istnieją i działają, tylko są niewidzialne). A tak poza tym, to coś się da przeglądać.

Działa i da się przeglądać sieć
Działa i da się przeglądać sieć

Kolejno chciałem przetestować coś większego. Postanowiłem spróbować zainstalować LibreOffice. Dlaczego nie Microsoft Office? Bo po prostu nie posiadałem go pod ręką. Ten zainstalował się bez problemów, jednak uruchomić się nie chciał. Zajmował zasoby i zmulał system, ale nie pokazywał żadnego okna. Może powodem był fakt odpalenia tego na maszynie wirtualnej – pewnie na fizycznym sprzęcie by odpalił. Ostatecznie zabrakło mi cierpliwości z czekaniem.

Kolejno przetestowałem GIMPa. Ten po wyrzuceniu kilku błędów odnośnie brakującej biblioteki uruchomił się bez problemów. Używanie jednak nie było możliwe – po uruchomieniu się zawiesił i tyle z rysowania.

Niestety nie porysujemy sobie
Niestety nie porysujemy sobie

I to na tyle. Wiem, że mało, ale celem tego wpisu nie są testy, a ogólna prezentacja systemu. Jak jesteście ciekawi co da się na nim odpalić, polecam pobrać i pobawić się samemu. Działa bez problemu na VirtualBox.

Związek z Wine

Architektura ReactOS i udział w tym Wine
Architektura ReactOS i udział w tym Wine

Jednym z ważnych faktów dotyczących ReactOS jest współpraca z Wine. ReactOS korzysta z owoców pracy deweloperów Wine i oba projekty się wspierają. Sprawa ta jednak powoduje kontrowersje – odnośnie wydajności i kilku innych rzeczy. Należy jednak zauważyć pewną różnicę. Wine jest translatorem. Uruchomiony na Linuksie bądź innym systemie pełni rolę pośrednika pomiędzy aplikacją Windowsa a danego systemu. Wine przechwytuje wywołania aplikacji i tłumaczy je na zrozumiałe dla danego systemu. W ReactOS działa to na innej zasadzie. Jako system zgodny binarnie z Windowsem nie potrzebuje translacji. Wywołania aplikacji Windowsa ReactOS „rozumie” bez tłumaczenia. Znika warstwa translacji.

Dla porównania - schemat działania Wine na Linuksie
Dla porównania - schemat działania Wine na Linuksie

Więc po co ta współpraca? Odpowiedź na to pytanie jest prosta. Poza Microsoftem nikt nie wie, w jaki sposób działa Win32. Wine implementując dane funkcje musi się posłużyć różnymi metodami odgadnięcia co dana funkcja robi „pod maską”. Wine osiągnął już całkiem niezłą zgodność z Win32. Po co więc deweloperzy ReactOS mają robić własną implementacje, skoro mogą wykorzystać Wine, które jest na wolnej licencji? Mimo wszystko i tak nie mogą wykorzystać wszystkiego. Wine jest translatorem, nie wszystko więc ReactOS może wykorzystać.

Zakończenie

To już koniec tego wpisu. Mam nadzieję, że się spodobał i zachęcam do własnych zabaw z tym systemem. Znaleźć jego stronę możecie tutaj. Odpowiadając na pytanie z tytułu: Dla mnie jest to ważny projekt i na pewno nie jest stratą czasu. Pomimo, że wątpliwe jest, że kiedyś dogoni Windowsa, to jednak ReactOS pokazuje, że nie jest to rzecz niemożliwa. System pomimo że jest w powijakach, to oferuje już pewną zgodność. Należy pamiętać jak niewielkie jest grono jego deweloperów w porównaniu do armii programistów w Microsofcie. Nie bez znaczenia jest też pokazanie współpracy projektów open source w celu ułatwienia osiągnięcia celu. Sami deweloperzy również się doskonalą pracując nad nim. Przeglądając jego kod można zorientować się jak mniej więcej zbudowany jest Windows (chociaż kody tych systemów nie mają ze sobą nic wspólnego, to jednak ROS stara się jak najbardziej przypominać Windowsa). Nawet jeżeli ReactOS kiedyś upadnie, to nie zginie – w open source, w przeciwieństwie do programów komercyjnych, nigdy nic nie ginie.

600516

Źródła

reactos.org - Źródło wiedzy

wikipedia.org - Źródło wiedzy

Logo ReactOS

Diagram ReactOS

Diagram Linux

Prezentacja ReactOS Wine - ta prezentacja opisuje dokładniej związek ReactOS z Wine. Jak ktoś jest ciekawy, to polecam przeczytać. Jest po angielsku, ale nie wymaga jakiejś wielkiej znajomości tego języka. Z niej zaczerpnąłem schematy działania Wine.

Pozostałe obrazy nie ujęte tutaj w źródle zostały wykonane przeze mnie z zainstalowanego systemu w VirtualBox.

Wybrane dla Ciebie
Komentarze (109)