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 *[[Desain Clean Room|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 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 booting|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