ReactOS

ReactOS
Logo
Ilustracja
Interfejs użytkownika
Producent

Fundacja ReactOS

Architektura

IA-32, x86-64, ARM

Pierwsze wydanie

1 lutego 1998; ponad 24 lat temu

Aktualna wersja

0.4.14
(16 grudnia 2021) [±]

Jądro

hybrydowe

Licencja

GPL

Wersja Live

T dostępna

Strona internetowa

ReactOSwolny system operacyjny dla komputerów osobistych amd64/i686 funkcjonalnie kompatybilny z Windows NT, Windows 2000 i Windows 2003. W założeniach systemu jest możliwość korzystania z aplikacji i sterowników zaprojektowanych dla systemów Microsoft Windows, aplikacji OS/2, Java i POSIX. Projekt jest we wczesnej fazie rozwoju. ReactOS został napisany w C, a niektóre elementy, m.in. ReactOS Explorer, w C++. Twórcy ReactOS uważają jednak, że nie jest on klonem systemu Windows[1].

ReactOS jest rozwijany od 1996 r. Od listopada 2019 r. jest nadal uważany za niekompletne oprogramowanie w wersji alfa, dlatego jest zalecany przez programistów wyłącznie do testowania. Obecnie obsługuje wiele aplikacji Windows, takich jak Adobe Reader 6.0 i OpenOffice.

ReactOS został napisany przede wszystkim w C, przy czym niektóre elementy, m.in. ReactOS File Explorer, napisane są w C++. Projekt częściowo implementuje funkcjonalność Windows API i został przeniesiony do architektury procesorów AMD64. ReactOS, jako część ekosystemu FOSS, wykorzystuje i współpracuje z wieloma innymi projektami FOSS, w szczególności projekt Wine, który przedstawia warstwę kompatybilności z Windows dla systemów operacyjnych typu Unix.

Historia

Misja

Jak dawniej stwierdzono na oficjalnej stronie internetowej projektu:

Głównym celem projektu ReactOS jest zapewnienie systemu operacyjnego, który jest binarnie kompatybilny(ang.) z systemem Windows ... tak, aby osoby przyzwyczajone do znanego interfejsu użytkownika systemu Windows mogły z łatwością korzystać z ReactOS. Ostatecznym celem ReactOS jest umożliwienie usunięcia systemu Windows i zainstalowania ReactOS bez zauważenia zmiany przez użytkownika końcowego.

Wczesny rozwój

Około 1996 roku grupa programistów wolnego i otwartego oprogramowania rozpoczęła projekt FreeWin95, mający być klonem Windows 95. Projekt ten jednak zakończył się tylko na dyskusjach nad samym systemem.

Podczas gdy FreeWin95 zaczął od wysokich oczekiwań, do końca 1997 roku nie było jeszcze żadnych wersji dostępnych publicznie. W rezultacie członkowie projektu, kierowani przez koordynatora Jasona Filby’ego, połączyli siły, aby ożywić projekt. W odnowionym projekcie starano się powielić funkcjonalność systemu Windows NT. Podczas tworzenia nowego projektu wybrano nową nazwę ReactOS. Prace nad projektem rozpoczęto w lutym 1998 r., tworząc podstawy dla nowego jądra NT i podstawowych sterowników. Nazwę ReactOS wymyślono podczas czatu IRC. Podczas gdy termin „OS” oznaczał system operacyjny, termin „reagować” odnosi się do niezadowolenia grupy z monopolistycznej pozycji Microsoftu i reakcji na nią.

W 2002 r. W Moskwie utworzono Fundację ReactOS z Maksimem Osowskim i Aleksiejem Braginem jako dyrektorami wykonawczymi oraz Wladimirem Braginem, Sawielijem Trietiakowem i Aleksiejem Iwanowem w zarządzie. W 2015 r. Fundacja została zlikwidowana.

Ekush OS

W 2004 r. stwierdzono naruszenie praw autorskich/licencji do kodu ReactOS GPL (i innego kodu FOSS), gdy ktoś rozpowszechniał ReactOS pod nazwą Ekush OS. Strona internetowa później zniknęła.

Audyt wewnętrzny

Aby uniknąć ścigania praw autorskich, ReactOS musi wyraźnie odróżniać się od systemu Windows i nie pochodzić od niego, co wymaga bardzo starannej pracy. Oświadczenie zostało zgłoszone 17 stycznia 2006 r. przez byłego programistę Hartmuta Birra na liście dyskusyjnej deweloperów ReactOS (ros-dev), że ReactOS zawiera kod pochodzący z dezasemblacji systemu Microsoft Windows. Kod kwestionowany przez Birra obejmował funkcję BadStack w syscall.S, i inne nieokreślone elementy. Porównując tę funkcję do zdezasemblowanych plików binarnych z systemu Windows XP, Birr argumentował, że funkcja BadStack została po prostu skopiowana z systemu Windows XP, ponieważ była identyczna. Alex Ionescu, autor kodu, twierdził, że chociaż omawiany plik binarny systemu Windows XP został rzeczywiście zdezasemblowany i przeanalizowany, kod nie został jedynie skopiowany, ale został ponownie zaimplementowany; Ionescu twierdził, że powodem, dla którego funkcje były identyczne, był fakt, że istnieje tylko jeden możliwy sposób implementacji funkcji.

W dniu 27 stycznia 2006 r. programiści odpowiedzialni za utrzymanie repozytorium kodu ReactOS zablokowali dostęp po spotkaniu w celu omówienia zarzutów. Na prośbę NewsForge(ang.) Microsoft odmówił skomentowania tego incydentu. Ponieważ ReactOS jest wolnym oprogramowaniem, roszczenie wywołało negatywną reakcję społeczności; w szczególności Wine uniemożliwiło kilku nieaktywnym programistom dostarczanie wkładu, a formalna współpraca na wysokim szczeblu między dwoma projektami była trudna od 2006. Wkład kilku aktywnych programistów ReactOS zaakceptowano po audycie, a współpraca niskiego poziomu w zakresie poprawiania błędów nadal występuje.

Lobbowanie za wsparciem w Rosji

W latach 2007–2015 rosyjscy współpracownicy ReactOS reprezentujący Fundację ReactOS starali się lobbować rosyjski rząd federalny. Od kwietnia 2019 r. wysiłki te nie przyniosły rządowego wsparcia ReactOS, a rosyjska fundacja ReactOS została rozwiązana od listopada 2015 r.

  • W 2007 r. członek Dumy Państwowej i nacjonalista Wiktor Ałksnis spotkał się z koordynatorem projektu Aleksiejem Braginem, który przedstawił prezentację i przeprowadził demonstrację projektu, pokazując ReactOS działający z Total Commander i Mozilla Firefox.
  • W 2011 r. Ówczesny prezydent Dmitrij Miedwiediew przeprowadził demonstrację podczas wizyty w liceum Wierchnierusskoje w Stawropolu, w którym uczestniczył jeden z członków zespołu programistów.
  • 31 lipca 2012 r. został zademonstrowany Władimirowi Putinowi, podczas swojej wizyty jako prezydenta Rosji w Seliger Youth Forum, w której uczestniczył Marat Karatow, jeden z członków zespołu programistów.
  • 1 kwietnia 2015 r. Bragin wziął udział w spotkaniu ekspertów rosyjskiego Ministerstwa Komunikacji na temat zmniejszenia zależności Rosji od importu zastrzeżonego oprogramowania. Protokół zawiera nazwę „stworzenia systemu operacyjnego typu open source opartego na ReactOS na komputery PC, laptopy i inne urządzenia mobilne”, a także „stworzenia systemu operacyjnego typu open source dla serwerów opartych na ReactOS”, umieszczając go na drugim miejscu wśród trzech wniosków.

Historia wydań

Legenda
Znaczenie
CzerwonyStarsze wydania
ZielonyAktualne wydanie
NiebieskiPrzyszłe wydania
SzaryPominięte
wersja systemudata wydaniainformacje o wydaniu
0.2.02004-01-25Pierwsze wydanie z graficznym interfejsem
0.2.12004-03-03poprawki błędów
0.2.22004-04-27poprawki błędów
0.2.32004-06-26Nowa wersja LiveCD, poprawki: stabilności jądra i win32k, ulepszenia sieciowe, powłoki, wiersz polecenia i sterowniki sprzętowe
0.2.42004-09-13Kod zsynchronizowany z Wine, poprawki kompilatora i wyczyszczone nagłówki plików
0.2.52005-01-02Zaimportowano Notatnik z WINE, dodano aplikację Data/Godzina
0.2.62005-04-09Działa przyspieszanie sprzętowe NVIDIA OpenGL, NCITool stworzony do generowania plików baz danych wywołań systemowych
0.2.72005-08-21Nowe ikony: Wiersza polecenia, Mój komputer i logo ReactOS, poprawiony wygląd instalatora pierwszego etapu
0.2.82005-10-29Wykrywanie VMware, przepisany CSRSS
0.2.92005-12-22poprawki błędów
0.3.02006-08-27[2]Pierwsza wersja posiadająca oficjalnie wsparcie dla sieci
0.3.12007-03-10[3]Dołączono Menedżer aplikacji, początek przepisywania jądra
0.3.2pominiętyZostał utworzony, ale nigdy nie wydany
0.3.32007-09-12[4]poprawa jądra i win32k
0.3.42008-01-22[5]Przepisanie Obsługi rejestru, Klient pulpitu zdalnego i Plug & Play.
0.3.52008-06-30[6]drobne poprawki błędów
0.3.62008-08-06[7]wsparcie RTL
0.3.72008-11-04[8]Ulepszenia x86-64; MSVC, nowe stosy
0.3.82009-02-04Wprowadzono obsługę PSEH i obsługę HDD z wieloma partycjami w LiveCD
0.3.92009-04-26[9]24MB RAM minimalnej pamięci, szybsze mapowanie hiperprzestrzeni, początkowa obsługa dźwięku
0.3.102009-07-05[10]Początkowa obsługa SATA, obsługa klawiatury/myszy USB, klon Painta, początkowe wsparcie MSVC
0.3.112009-12-16[11]Przepisanie Kdcom; Czcionki chińskie/koreańskie; aktualizacje zgodności; ulepszenia systemu dźwiękowego
0.3.122010-10-20[12]Przepisanie obsługi pułapki; przepisywanie timera i obsługi wiadomości; Obsługa NMI; Obsługa SxS(ang.); częściowe wsparcie EMS(ang.)
0.3.132011-03-22[13]Poprawki w Menedżerze Pamięci; ulepszona obsługa SATA; naprawione problemy graficzne;
0.3.142012-02-07[14]Interfejs ACPI jest domyślnie włączony; Wsparcie WiFi (nieszyfrowane i WEP); obsługa motywów; Nowy sterownik TCP/IP (LwIP); Kompatybilność z MSVC; Wsparcie DMA Scatter/Gather(ang.); Przepisanie powłoki shell32.
0.3.152013-05-30[15]Częściowa obsługa USB 2.0 (HID i nośniki danych), poprawa wsparcia SATA 1,2,3, pierwsza wersja z działającym AHCI
0.3.162014-02-06[16]Wsparcie dla skórek interfejsu graficznego Windows, przepisany CSRSS oraz pierwszy etap przepisywania shell32 nowe sterowniki karty sieciowej RTL8139, obsługa nowszych wersji QEMU
0.3.172014-11-05[17]Włączenie NTVDM, nowa powłoka shell32, liczne poprawki regresji i błędów
0.4.02016-02-16[18]W pełni działające USB 2.0; obsługa dysków SATA; wsparcie dla systemu plików ext2 w trybie zapisu i odczytu oraz NTFS w trybie odczytu, usprawniono grafikę 2D, 3D oraz wsparcie dla dźwięku
0.4.12016-05-17[19]Dodano obsługę Btrfs, poprawiono powłokę (Shell), naprawiono błędy obsługi USB, dodano obsługę folderów współdzielonych dla maszyn wirtualnych
0.4.22016-08-16[20]Poprawiono obsługę Btrfs, ReiserFS, UFS/FFS i extended file system (ext2, ext3); dodano obsługę .NET Framework 2.0 i 4.0; dalsze poprawki powłoki (shell)
0.4.32016-11-16[21]Przepisanie biblioteki WINSOCK Wstępne wsparcie dla Sekcji; Poprawki błędów
0.4.42017-02-16[22]Początkowa obsługa stosu drukowania; drobne poprawki w Czcionkach;Poprawki błędów
0.4.52017-05-18[23]Poprawione wyświetlanie czcionek i metryk czcionek; Poprawki w: Jądrze i Sterownikach; Microsoft Office 2010 przetestowany jako działający
0.4.62017-09-01[24]Poprawki w tzw. Dual-boot; ulepszona obsługa Kompozycji; dodanie sterownika: NFS; Poprawki w: jądrze i systemie plików
0.4.72017-12-06[25]Ulepszona wersja menedżera aplikacji RAPPS; implementacja paska narzędzi „Szybkie uruchamianie” w eksploratorze; poprawki błędów w sterownikach systemu plików; Ulepszenia w: RDBSS/RXCE +wsparcie NFS
0.4.82018-04-14[26]Powiadomienia balonowe, Obszar powiadomień; autouzupełnianie powłoki(shell); nowy sterownik: NTFS; raportowanie zrzutu awaryjnego i eksperymentalna obsługa oprogramowania NT6+
0.4.92018-07-23[27]ReactOS is (again) self-hosting.
0.4.102018-11-06[28]Wsparcie dla uruchamiania z systemu plików BTRFS; poprawki błędów
0.4.112019-03-04[29]Sterowniki do "Zarządzania baterią"(ikona znajduje się na pasku zadań, w prawym dolnym rogu ekranu, obok zegara);Wsparcie dla aktualizacji istniejącej instalacji ReactOS; Poprawiona obsługa SATA
0.4.122019-09-23[30]Ulepszenia jądra (KERNEL), Przyciąganie okien (window snapping), ulepszenia czcionek, sterownik Intel e1000 NIC, biblioteki DLL trybu użytkownika, nowe kompozycje/motywy
0.4.132020-04-09[31]Nowy stos USB, Zoptymalizowany sterownik FAT od FreeLoadera, nowe oprogramowanie: Menedżer Ułatwień dostępu
0.4.142021-12-16

Składniki

Aplikacje

Polecenia

ReactOS wspiera wszystkie polecenia z powłoki systemu Windows i umożliwia już pełni kompatybilne pisanie programów wsadowych. Twórcy zapewniają również własne implementacje i poprawki niektórych poleceń a cały ich spis można znaleźć na oficjalnym repozytorium[32].

Oprogramowanie

Obecnie jądro ReactOS jest w miarę stabilne. Wiele elementów API jest gotowych do zaawansowanego rozwoju, gotowy jest także podstawowy interfejs graficzny. ReactOS posiada program ReactOS Explorer, który tak jak Explorer pod systemami Windows jest podstawową powłoką dla ReactOS. Na jego bazie zbudowana została prosta przeglądarka internetowa.

Wraz z kolejnymi wersjami, ReactOS zbliża się coraz bardziej do pełnej kompatybilności z API Microsoft Windows oraz DirectX. Lista działających pod nim programów Win32 cały czas się poszerza, działa coraz więcej programów, od prostych, takich jak Notatnik do bardziej rozbudowanych aplikacji użytkowych (np. OpenOffice.org) i gier (gry na silniku Unreal czy Quake).

Zgodność

ReactOS i jego składniki w większości są w pełni zgodne z ich odpowiednikami w systemach Microsoft Windows. Przekonać się o tym można chociażby podmieniając comctrl.dll w Windows na ten wyciągnięty z ReactOS – efekt tego będzie taki, że będziemy mieli w Windows inaczej wyglądające okno wyboru plików, lecz nie zmieni ono swoich funkcji. Równie dobrze można podmienić całą powłokę Windows (explorer.exe oraz dwie biblioteki z ROS: notifyhook.dll i gdiplus.dll) – otrzymamy obsługę wielu pulpitów. Zgodność (ale już nie zawsze) jest również zachowywana w drugą stronę.

Sprzęt

Sieć

Częściowo działa obsługa sieci. Dodano kilka sterowników kart sieciowych, np. RTL8139, dzięki czemu można się łączyć z Internetem i korzystać z programów typu ping, finger czy klientów FTP, SSH i Telnet (PuTTY), mimo że pozostaje wiele do zrobienia w kwestii implementacji TCP/IP. Od wersji 0.3.10 pojawiła się możliwość uruchomienia przeglądarek opartych na silniku Gecko, takich jak Firefox, Mozilla Seamonkey czy K-Meleon.

Lista przetestowanych kart sieciowych i ich aktualny stan wsparcia w ReactOS [1]

Grafika

Lista przetestowanych kart graficznych i ich aktualny stan wsparcia w ReactOS [2]

Kontrolery I/O

Lista przetestowanych kontrolerów I/O i ich aktualny stan wsparcia w ReactOS [3]

Lista obsługiwanych kontrolerów pata/sata sterownika wykorzystanego przez developerów ReactOS [4]

Obsługa myszy, klawiatur oraz kart flash opartych na złączu USB realizowana jest przez BIOS (dane z dnia 1 października 2009).

Platformy sprzętowe

Minimalne wymagania sprzętowe ReactOS-a:

ReactOS jest lub będzie portowany[33] na takie platformy jak

Zobacz też

Przypisy

  1. Za jedną z odpowiedzi w FAQ, na stronie projektu – www.reactos.org.
  2. ReactOS 0.3.0 Released!, reactos.org [dostęp 2020-05-19] (ang.).
  3. ReactOS 0.3.1 Released, reactos.org [dostęp 2020-05-19] (ang.).
  4. ReactOS 0.3.3 Released!, reactos.org [dostęp 2020-05-19] (ang.).
  5. ReactOS 0.3.4 Released, reactos.org [dostęp 2020-05-19] (ang.).
  6. ReactOS 0.3.5, reactos.org [dostęp 2020-05-19] (ang.).
  7. ReactOS 0.3.6, reactos.org [dostęp 2020-05-19] (ang.).
  8. ReactOS 0.3.7, reactos.org [dostęp 2020-05-19] (ang.).
  9. ReactOS 0.3.9 Released, reactos.org [dostęp 2020-05-19] (ang.).
  10. ReactOS 0.3.10 Released, reactos.org [dostęp 2020-05-19] (ang.).
  11. ReactOS 0.3.11 Released, reactos.org [dostęp 2020-05-19] (ang.).
  12. ReactOS 0.3.12 Released, reactos.org [dostęp 2020-05-19] (ang.).
  13. ReactOS 0.3.13 Released, reactos.org [dostęp 2020-05-19] (ang.).
  14. ReactOS 0.3.14 Released, reactos.org [dostęp 2020-05-19] (ang.).
  15. ReactOS 0.3.15 Released, reactos.org [dostęp 2020-05-19] (ang.).
  16. ReactOS 0.3.16 Released, reactos.org [dostęp 2020-05-19] (ang.).
  17. ReactOS 0.3.17 Released, reactos.org [dostęp 2020-05-19] (ang.).
  18. ReactOS 0.4.0 Released, reactos.org [dostęp 2020-05-19] (ang.).
  19. ReactOS 0.4.1 Released, reactos.org [dostęp 2020-05-19] (ang.).
  20. ReactOS 0.4.2 Released, reactos.org [dostęp 2020-05-19] (ang.).
  21. ReactOS 0.4.3 Released, reactos.org [dostęp 2020-05-19] (ang.).
  22. ReactOS 0.4.4 Released, reactos.org [dostęp 2020-05-19] (ang.).
  23. ReactOS 0.4.5 Released, reactos.org [dostęp 2020-05-19] (ang.).
  24. ReactOS 0.4.6 released, reactos.org [dostęp 2020-05-19] (ang.).
  25. ReactOS 0.4.7 released!, reactos.org [dostęp 2020-05-19] (ang.).
  26. ReactOS 0.4.8 released!!, reactos.org [dostęp 2020-05-19] (ang.).
  27. ReactOS 0.4.9 released, reactos.org [dostęp 2020-05-19] (ang.).
  28. ReactOS 0.4.10 released, reactos.org [dostęp 2020-05-19] (ang.).
  29. ReactOS 0.4.11 released, reactos.org [dostęp 2020-05-19] (ang.).
  30. ReactOS 0.4.12 released, reactos.org [dostęp 2020-05-19] (ang.).
  31. ReactOS 0.4.13 released, reactos.org [dostęp 2020-05-19] (ang.).
  32. reactos/reactos, GitHub [dostęp 2020-09-06] (ang.).
  33. ReactOS ports – ReactOS.

Linki zewnętrzne

Strony oficjalne:

Media użyte na tej stronie

Tickmark icon.svg
Autor: MGalloway (WMF), Licencja: CC BY-SA 3.0
A tickmark icon included in the OOjs UI MediaWiki lib.
ReactOS logo.svg
Autor: Oryginalnym przesyłającym był Cristan z angielskiej Wikipedii Later versions were uploaded by CountingPine at en.wikipedia., Licencja: GPL
The logo of ReactOS (source).
OOjs UI icon check.svg
Autor: MGalloway (WMF), Licencja: CC BY-SA 3.0
A tickmark icon included in the OOjs UI MediaWiki lib.
Windows logo and wordmark - 2021.svg
Windows logo and wordmark - 2021
ReactOS 0.4.7 with Lautus Theme.png
Autor: ROSHelper, Licencja: CC0
ReactOS 0.4.7 with Lautus Theme