Meskipun proyek tersebut sedang dalam tahapan alpha, banyak aplikasi Windows yang telah dapat berjalan dengan baik. Hal ini memang dikarenakan antarmuka dengan aplikasi yang digunakannya sebagian besar berbasiskan Wine yang dapat melakukan emulasi terhadap lingkungan kerja Microsoft Windows yang telah berjalan stabil di dalam sistem operasi UNIX. Kernel ReactOS sendiri ditulis dari awal.
ReactOS sebagian besar ditulis di dalam bahasa pemrograman C, dengan beberapa elemen, seperti ReactOS Explorer, ditulis di dalam bahasa C++. Komponen-komponen ReactOS tersedia secara bebas di bawah GNU General Public License (GNU GPL), GNU Lesser General Public License (GNU LGPL), dan juga BSD License.
Sejarah
Awal pengembangan
Sekitar tahun 1996, beberapa pengembang perangkat lunak bebas memulai sebuah proyek yang disebut sebagai FreeWin95, yang bertujuan untuk mengimplementasikan sebuah sistem operasi yang nantinya akan berupa kloning dari Windows 95. Proyek tersebut terhenti, pada saat diskusi tentang desain sistem tersebut.
Pada akhir tahun 1997, proyek tersebut masih belum merilis satu perangkat lunak pun. Para anggota proyek, yang dipimpin oleh Jason Filby yang bertindak sebagai koordinator, terpanggil untuk menghidupkan kembali proyek tersebut. Target proyek yang dibuat bukanlah membuat kloning Windows 95 seperti dahulu, tetapi Windows NT, dan nama proyek pun diubah menjadi ReactOS. Proyek ReactOS pun dimulai pada bulan Februari 1998, dengan dimulainya pengembangan Kernel dan driver-driver dasar.
Banyak API dan ABI milik ReactOS siap untuk digunakan untuk pengembangan pada level yang lebih tinggi lagi, dan tentu saja kini telah tersedia GUI dasar yang bisa digunakan. ReactOS menawarkan ReactOS Explorer (ROSExplorer), sebuah shell yang mirip dengan Windows Explorer.
Warna
Maksud
Warna
Maksud
Merah
Rilis lama, dan tidak didukung lagi
Kuning
Rilis lama, tapi masih didukung oleh para pengembang
Pengenalan dukungan PSEH dan hard disk Multipartition dalam LiveCD
0.3.9
2009-04-26
32MB Minimum RAM, Faster Hyperspace Mapping, Initial Sound Support
0.3.10
2009-07-05
Initial SATA Support, Dukungan untuk Keyboard/Mouse berbasis USB, Paint Clone, Initial MSVC[2]
0.3.11
2009-12-16
Penulisan ulang kdcom, Penambahan font Tiongkok/Korea, peningkatan kompatibilitas, peningkatan sistem suara
0.3.12
2010-10-20
Penulisan ulang trap handler, Penulisan ulang timer and message handling, Penambahan dukungan NMI, SxS, dan EMS (partial)[3]
0.3.13
2011-03-22
Penulisan ulang heap manager, ipeningkatan dukungan untuk SATA, fixed graphics issues[4]
0.3.14
2012-02-07
ACPI diaktifkan secara default, penambahan dukungan WiFi (unencrypted dan WEP), dukungan tema, driver TCP/IP baru (LwIP), kompatibilitas MSVC, dukungan operasi Scatter/Gather DMA, penulisan ulang shell32[5]
0.3.15
2013-05-30
Pemanbahan dukungan USB untuk tetikus, keyboard, dan perangkat penyimpanan; menulis ulang session management; dukungan AHCI dengan peningkatan UniATA driver; alternate ReactOS Memory Management Module has taken over all memory management responsibilities except for sections; preliminary support for debugging ReactOS components using windbg; improvements based off results from the AutoHotKey application functionality test suite; Bugfixes based off running Driver Verifier on several bundled drivers[6]
0.3.16
2014-02-06
Penulisan ulang CSRSS, peningkatan dukungan tema, network card driver for the RTL8139, allowing ReactOS to support newer versions of QEMU out of the box
0.3.17
2014-11-05
Inclusion of an NTVDM; font improvements;bug fixes
0.4.0
2016-02-16
Peningkatan dukungan USB, tema dan shell File Explorer yang baru, dukungan untuk menjalankan ReactOS di VirtualBox dan VirtualPC, menambahkan dukungan baca/tulis untuk ext2, dukungan membaca NTFS, improved networking and WiFi setup, dukungan suara yang lebih baik
0.4.1
2016-05-17
Improved Activation Context, Btrfs support, improved Shell, USB bug fixes, support for Virtual Machine Shared Folders
0.4.2
2016-08-16
Improved Btrfs and extended file system support, ReiserFS and UFS/FFS, introduced .NET Framework 2.0 and 4.0 support, Shell fixes and improvements
0.4.3
2016-11-16
New winsock library, initial sections support, usual bug fixes
0.4.4
2017-02-05
Peningkatkan dukungan Microsoft Office suite, dukungan multibahasa dalam LiveCD, further socket library improvements dan perbaikan bug
0.4.5
2017-05-18
Berbagai perbaikan bug, penambahan NET Framework 4.0 ke RAPPS, pengimplementasian TreeView ke opsi folder, penambahan editor pengganti fon, dan lain sebagainya.[7]
0.4.6
2017-09-01
Perbaikan bug, penambahan pesan untuk menyimpan resolusi, pengimplementasian tab kompatibilas di Explorer, pengimplementasian pembatalan penarikan di Paint, dan lain sebagainya.[8]
0.4.7
2017-12-06
Penambahan antarmuka baris perintah untuk RAPPS, peningkatan terjemahan bahasa Jepang, perbaikan bug, dan lain sebagainya.[9]
0.4.8
2018-04-14
Pengimplementasian fitur eject untuk CD/DVD/USB, penambahan fitur pemasangan (mounting) ISO secara bawaan, perbaikan bug, dan lain sebagainya.[10]
Penambahan fitur untuk mengganti ikon folder atau pintasan, penambahan fitur tipe berkas pada opsi folder, pengimplementasian pintasan Win+D untuk melihat desktop, pengimplementasian fungsi CascadeWindow dan TileWindow, pengaktifan ikon tersesuai untuk CD/DVD, perbaikan bug, dan lain sebagainya.[12]
Penambahan pintasan Win+Arah untuk memindahkan jendela, penambahan tema modern, penambahan fitur berbindah jendela dengan Alt+Tab, perbaikan bug, dan lain sebagainya.[14]
0.4.13
2020-04-09
Penambahan dukungan kalender Jepang, penambahan dukungan metafile papan klip, pengimplementasian Utility Manager untuk aksesibilitas, perbaikan bug, dan lain sebagainya.[15]
0.4.14
2021-12-16
Penambahan mode kompatibiltas untuk Windows 10, Windows Server 2016, dan Windows Server 2019; penambahan perintah SendTo untuk folder, berkas ZIP, My Document, perbaikan bug, dan lain sebagainya.[16]
ARM (tidak bekerja, pengembangan sedang berlangsung)[18]
AMD64 (tidak bekerja, pengembangan sedang berlangsung)[19]
Sebagaimana diketahui, ReactOS juga dapat dijalankan pada perangkat lunak yang dapat melakukan simulasi atau virtualisasi terhadap perangkat keras di atas, seperti VMware, VirtualBox, QEMU, dan Microsoft Virtual PC
Mengingat Windows NT 4.0 berjalan di atas mikroprosesorMIPS, Alpha AXP, dan PowerPC selain tentunya arsitektur Intel i386, sistem operasi yang diturunkan dari Windows NT seperti halnya Windows XP dan Windows Server 2003 telah di-port agar dapat berjalan di atas beberapa arsitektur, seperti AMD64, IA-32, dan IA-64, para pengembang ReactOS juga mulai memikirkan bagaimana caranya untuk meningkatkan portabilitas ReactOS. Sebagai contoh, dukungan terhadap varian IA-32, yang terdapat di dalam Xbox ditambahkan pada versi 0.2.5, dan usaha-usaha untuk mengembangkan ReactOS di atas PowerPC dan arsitektur Xen juga sedang di dalam proses.
Proyek terkait
ReactOS bekerjasama dengan proyek Wine, sehingga proyek ReactOS dapat mengambil keuntungan dari Wine dalam rangka mengimplementasikan Win32 API. Usaha-usaha tersebut memfokuskan diri pada Dynamic Link Library (DLL) milik Wine, yang dapat digunakan secara bersama-sama oleh ReactOS dan Wine.
Proyek lainnya yang juga berkaitan adalah Samba TNG, yang mengimplementasikan banyak sekali layanan, seperti Local Security Authority Subsystem (LSASS), Security Account Manager (SAM), NetLogon, dan juga Spooler Subsystem (SPOOLSS).
Proyek yang lebih lanjut lagi pada tingkat arsitektural adalah Unified Linux Kernel yang berniat untuk menjadi kompatibel secara biner dengan perangkat lunak aplikasi dan device driver yang dibuat untuk Microsoft Windows dan Linux. Kernel ini mengimpor semua fitur kunci dari kernel sistem operasi Windows ke kernel Linux agar membuat Linux dapat menjalankan aplikasi dan driver Windows.
NDISWrapper diciptakan dari sebagian kecil dari kernel Windows NT di dalam kernel Linux sehingga memungkinkan untuk menjalankan driver Windows modern di dalam Linux. NDISwrapper terdiri dari API NTOSKRNL, kontrolir WDM dasar, dan satu set dari wrapper panggilan Windows seperti driver Wireless / NDIS / USB / PnP ke API Linux. NDISWrapper tidak terbatas hanya menjalankan NDIS driver, driver WDM lain juga dapat digunakan selama panggilan driver tidak dilaksanakan dengan menggunakan Windows API yang tidak diimplementasikan dalam NDISWrapper.
Ada satu proyek terlepas dari NDISWrapper, Bill Paulus dari Wind River Systems mengembangkan sebuah sistem serupa, yang dikenal sebagai Project Evil atau The NDISulator, untuk FreeBSD. Telah sejak portingNetBSD, tetapi bukan OpenBSD, karena ada kebijakan anti-binary pada OpenBSD. The NDISulator tidak menawarkan beberapa fungsionalitas yang ditawarkan oleh ndiswrapper, seperti dukungan USB.