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.

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.

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 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 boot)
 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 
 
 
 ReactOS Explorer
 Screenshots of ReactOS 
 Interview with Steven Edwards of ReactOS and Wine (WineHQ)
 Detailed review of ReactOS
 A reaction to ReactOS – David Sugar 

Sistem operasi bebas
Perangkat lunak mendatang