ReactOS

ReactOS adalah sebuah proyek perangkat lunak yang bertujuan untuk mengembangkan sebuah sistem operasi yang kompatibel secara biner dengan perangkat lunak aplikasi dan pemacu peranti untuk keluarga sistem operasi Microsoft Windows NT 5.x dan yang lebih tinggi (Windows 2000 dan yang setelahnya). ReactOS merupakan salah satu perangkat lunak bebas yang menggunakan proses rekayasa balik berupa Clean Room secara keseluruhan.

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.

jmpl|Koordinator proyek ReactOS Aleksey Bragin (sebelah kiri) sedang menunjukkan fungsionalitas ReactOS kepada Viktor Alksnis.
jmpl|ReactOS sedang menjalankan Firefox
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  Hijau Rilis sekarang Biru Rilis yang akan datang

+ Versi-versi ReactOS Versi Sistem  Tanggal Rilis  Informasi mengenai rilis 0.2.0 2004-01-25  Rilis pertama dengan GUI yang bisa bekerja.  0.2.20.2.5 2004-04-272005-01-02  Hanya menawarkan perbaikan bug. 0.2.8 2005-10-29  Mampu mendeteksi VMware dan menulis ulang CSRSS (Client-Server Runtime Subsystem) 0.3.0 2006-08-27  Versi pertama yang secara resmi mendukung jaringan. 0.3.1 2007-03-10  Menawarkan Download! Program Manager, dan memulai penulisan ulang terhadap kernel sistem operasi 0.3.2 dilewati  Cabang dari ReactOS dibuat, tapi tak pernah dirilis 0.3.3 2007-09-12  Peningkatan terhadap kernel dan Win32k 0.3.4 2008-01-22  Penulisan ulang terhadap dukungan registry, Remote Desktop client, dan Plug and Play. 0.3.5 2008-06-30  Hanya menawarkan perbaikan bug. 0.3.6 2008-08-06  Dukungan terhadap huruf-huruf Right-to-Left (RTL) 0.3.7 2008-11-04  Meningkatkan dukungan terhadap x86-64; Microsoft Visual C, dan menawarkan stack yang baru. 0.3.8 2009-02-04  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 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) 0.3.13 2011-03-22  Penulisan ulang heap manager, ipeningkatan dukungan untuk SATA, fixed graphics issues 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 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 drivers0.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 box0.3.17 2014-11-05  Inclusion of an NTVDM; font improvements;bug fixes0.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 baik0.4.1 2016-05-17  Improved Activation Context, Btrfs support, improved Shell, USB bug fixes, support for Virtual Machine Shared Folders0.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 improvements0.4.3 2016-11-16  New winsock library, initial sections support, usual bug fixes0.4.4 2017-02-05 Peningkatkan dukungan  Microsoft Office suite, dukungan multibahasa dalam LiveCD, further socket library improvements dan perbaikan bug0.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.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.0.4.7 2017-12-06 Penambahan antarmuka baris perintah untuk RAPPS, peningkatan terjemahan bahasa Jepang, perbaikan bug, dan lain sebagainya.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.0.4.9 2018-07-23 Berbagai peningkatan dan perbaikan bug.0.4.10 2018-11-06 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.0.4.11 2019-03-04 Berbagai perbaikan dan peningkatan.0.4.12 2019-09-20 Penambahan pintasan Win+Arah untuk memindahkan jendela, penambahan tema modern, penambahan fitur berbindah jendela dengan Alt+Tab, perbaikan bug, dan lain sebagainya.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.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.0.5.0 1.0.0  

 Kebutuhan perangkat keras 
ReactOS dapat berjalan pada perangkat keras seperti di bawah ini:
 Arsitektur Intel x86
 Mikroprosesor Intel 32-bit (Intel 80486 atau mikroprosesor yang lebih baru)
 RAM 32 MB
 Hard disk IDE
 Partisi untuk but (booting) harus diformat dengan FAT16/FAT32.
 Kartu grafis yang kompatibel dengan VESA 2.0
 Keyboard standar
 Mouse yang kompatibel dengan PS/2 atau Mouse serial yang kompatibel dengan Microsoft Mouse.
 Xbox (mengalami regresi)
 IBM PowerPC (hanya sampai awal proses but (booting)
 ARM (tidak bekerja, pengembangan sedang berlangsung)
 AMD64 (tidak bekerja, pengembangan sedang berlangsung)
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 mikroprosesor MIPS, 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 porting NetBSD, tetapi bukan OpenBSD, karena ada kebijakan anti-binary pada OpenBSD. The NDISulator tidak menawarkan beberapa fungsionalitas yang ditawarkan oleh ndiswrapper, seperti dukungan USB.
 NTFS-3G, driver baca dan tulis untuk sistem berkas NTFS untuk Linux, Mac OS X, FreeBSD, NetBSD, Solaris, QNX, Haiku, dan berbagai macam sistem operasi lain.

 Referensi 

 Pranala luar 


 Wiki pengembangan ReactOS
 ReactOS Explorer
 Screenshots of ReactOS 
 Interview with Steven Edwards of ReactOS and Wine (WineHQ)
 Detailed review of ReactOS
 A reaction to ReactOS – David Sugar 

Kategori:Sistem operasi bebas
Kategori:Perangkat lunak mendatang