ReactOS
ReactOS Explorer和Start Menu |
|
| 開發者 | ReactOS基金会 |
|---|---|
| 運作狀態 | Alpha |
| 源码模式 | 自由软件/开源 |
| 穩定版本 | 0.3.14 / 2012年2月7日 |
| 内核類別 | 混合内核 |
| 預設使用者介面 | GUI |
| 授權條款 | GPL和LGPL |
| 官方網站 | http://www.reactos.org |
ReactOS是一个开发与Windows NT和Windows 2000 应用程序、硬件驱动程序兼容的开源操作系统项目。本项目目前虽然只是处于内部测试(alpha)开發状态,但到2005年1月其中一些子项目已经完成了目标。
ReactOS主要是由C語言編寫。部分元件則由C++編寫,例如ReactOS文件瀏覽器。
ReactOS的各部份在GNU通用公共许可证、GNU寬通用公共許可証、及/或BSD License下发布。
為確保操作系統沒有任何一部份是看過泄漏出來的微軟Windows源碼的人所寫,或者逆向工程的過程達不到Clean room design標準,一個全盤的源碼審查由ReactOS主要開發者下令展開。此審查目前已經結束。
目录 |
历史 [编辑]
大约在1996年時,一群开源软件开发者启动了一个名为FreeWin95的项目,旨在实现一个Windows 95的克隆操作系统。这个项目当时只停留在关于系统实现的讨论上。
到了1997年末,项目依旧没有进展。开发成员呼吁重新开始这个项目,而实现的目标也改为Windows NT系统,同时项目名称命名为ReactOS(“React”意为“反抗”)。1998年二月ReactOS项目正式启动,开始开发系统内核和基本的驱动程序。
ReactOS源碼的爭議 [编辑]
2006年1月17日,Hartmut Birr在ReactOS開發者郵件論壇ros-dev指出ReactOS包含由反编譯Windows的源碼[1]。因此開發者暫時禁止非開發者進入系統。鑑於ReactOS是開放源碼軟體,此舉引起開放源碼社群的不滿。ReactOS的貢獻者沒受當時的舉動影響。
不久後所有軟體開發工程都能自由進入了。由於Birr的指责未能證實,開發者決定審查源碼。
可能「受污染」的源碼會被封鎖,直到那些源碼經審查後確定無問題[2]。現時大部分的源碼已解封,維護和開發都可繼續進行,而審查亦同時進行。
功能概述 [编辑]
到了2005年,ReactOS内核已经十分稳定,大多数给上层程序开发使用的API均制作完成,并且拥有了一个基本的GUI窗口界面。ReactOS已经具有一个与Windows浏览器类似的ReactOS Explorer作为系统操作界面。
ReactOS 0.2版可以运行相当多数的Win32应用程序,并拥有自己的Notepad(记事本,基本的文本编辑器)、Regedit(系统注册表编辑器),Cmd(命令行提示符)和几个其他的大型应用(比如AbiWord文字编辑器)以及一些游戏(Quake和Quake II,Wine的扫雷克隆)。
0.2.5版主要工作在于声卡、网卡的驱动支持。Lynx文本网页浏览器抓取网页的屏幕图展示了,不过这个功能尚待进一步改进。这个版本更加入了Ext2文件系统和GRUB boot loader的支援,让ReactOS与Linux分区共存。
自0.2.6版起,Dillo、mIRC和网页浏览器Mozilla Firefox的DCOM组件 可于ReactOS内运行。部份游戏如Unreal Tournament和Deus Ex则已知能以软件渲染的方式运作。使用nVidia-Driver或者Mesa 3D的软模式,OpenGL的运行只剩下一些小问题。第一个网络服务器 Tiny Web Server 和 The UltraVNC Client 宣布运行成功。从右图可见,OpenOffice(1.x版)也有部份可以执行了。
及至版本0.2.8,TCP/IP的部份元素开始运作,还有更多的应用程序例如Notepad、AbiWord、OpenOffice、Deus Ex和Unreal Tournament。声音及USB支持尚在制作中(SB16半工作、USB OHCI和UHCI则仍须劳力)USB功能「借」自Cromwell。Plug and Play的开发工作、与及WDM的支持亦已展开。除了字符网页浏览器Lynx,ReactOS更可以以Mozilla的DCOM组件以图像方式浏览网页。
ReactOS 0.2.8能侦测自己是否在VMware系列虛擬機中运行,继而到VMware Tools ISO安装SVGA驱动以提供更佳的GUI表现。CSRSS已完全重写,一个「从头写起」的Ws2_32也预计即将完工。在Trunk裡面有些运作上还可以的ddraw、dplay和dplayx元素。
及至2006年3月8日,ReactOS的开发者开始了对所有使之与Microsoft Windows兼容的代码的自我审查。此过程是为了响应程序员对逆向工程的指责,验证确保ReactOS源代码没有违反美国版权法。
2006年6月15日,ReactOS 0.3.0发表了Candidate 1。网络功能(TCP/IP)和即插即用支持的改善为这个版本的重点。审查到达94%之时,Candidate 2发表,将审查期间发现的众多bug修正。
2006年8月28日,ReactOS 0.3.0脱离Release Candidate阶段,正式发表予公众。
直至2006年9月20日,审查过程已完成95.7%。而至2006年12月12日,審查過程已完成96.4%。
於2007年9月,審查接近完成,審查狀態從網站移除。雖然審查結束,但由於此屬內部審查,具體詳情未有公佈。
相关项目 [编辑]
ReactOS一直與Wine緊密合作,讓ReactOS随着Wine在Win32 API项目的发展而发展。Wine的DLL因其大多可以在ReactOS和Wine之间共同使用而被受關注。為此雙方致力於兼容問題,務求令餘下的少量DLL也能為ReactOS所用。
另一個相關項目是Samba TNG。它实现了一系列的服务,例如LSASS、SAM、NETLOGON和SPOOLSS,这些是ReactOS项目通向成功与通用性(functionally correct interoperability)的关键。雖然Samba TNG的多層結構和單元式法令它很易將不同服務移植到ReactOS,但Samba的文档设计与战略目标,使得是否向ReactOS中集成该项功能的决定成为一个难题。
未来目标 [编辑]
ReactOS的路線圖顯示 發佈0.3.0將會包含全面的TCP/IP網絡支援。開發者正在進行對USB的支援,並為此把Linux的Cromwell版做法轉了過來。另一個工作中项目是 www.reactos.org 主頁。
ReactOS的開發者(指:程式設計師)正在強化GUI圖像化操作介面系統,並加增networking網路功能、multimedia多媒體功能和plug-and-play隨插即用的硬體性支援。Java及.NET的執行支援(藉由Mono專案技術)也有所顧及。此外ReactOS也有預留對DOS、OS/2及POSIX等子系統的支援,使ReactOS能盡可能相似、逼近Windows NT子系統。
到了2004年10月,目標在1.0版上實現Windows NT 4.0工作站版的子集,此稱為「ReactOS Workstation」,其中包括TCP/IP網路、客戶端與伺服端的CIFS、OpenGL、DirectX等的Windows裝置驅動程式支援。
現有分支 [编辑]
現時ReactOS的開發者的工作項目有:
這些改变都不包括在主要的ReactOS Trunk內。
批评 [编辑]
一些关于ReactOS项目的批评提出几条为什么他们不相信ReactOS会成为一个有价值的项目的原因。其中,有人[來源請求]指出把与Windows NT 4.0兼容作为ReactOS release目标是一个局限,因为NT 4.0评价不佳而且它已经过时了(第一版发布于1996年)
作为回复,有人[來源請求]提出虽然目前是把与Windows NT 4.0兼容作为目标,但是,Windows后来基于NT构架的系统都与NT 4.0在系统層次上高度相似(例如:Windows 2000,Windows XP,Windows Server 2003)。因此,想要与后续的Windows版本兼容,只要NT4.0的目标完成,剩下都简单了。
以此為由,该批评的回复者[來源請求]说把NT4.0的兼容作为里程碑并不是一个局限,而是未来开发的基础。
其它人[來源請求]則批评认为我们已经有好幾個基于Unix(Linux及不同版本的BSD)的操作系统,與其再创建一个新的,不如集中精力改善舊的,努力做好WINE,讓现有的WINDOWS应用程序在其上運行得更好。但是,ReactOS开发者及其他擁護者辯解說,UNIX类操作系统不一定是唯一的最好的操作系统类型。NT的設計含有很多概念是Unix工作方式的改進,而且一個在更低層次更似Windows的作業系統(即是設計成與Windows相似,而非執行某某應用程式,嘗試把另一個操作系統變成Windows)將更有機會成功達到更廣闊地兼容現有的Windows應用程式和(特別是)硬件驅動程式。
另外,ReactOS現時推出的版本仍有很多問題。它們的安裝光碟不論在真實的機器上或Virtual PC上的虛擬機器都有問題,而不能使安裝完成。安裝程序在安裝在一個全新的硬碟上時,亦會出現錯誤。[來源請求]
另外,ReactOS做出BSoD(Blue Screen of Death)的機會太高,其意味這ReactOS本身並不穩定[來源請求]
硬件需求 [编辑]
值得留意的是,ReactOS亦可在能模擬上述硬件的軟件內運作,比如Virtual PC、VMware、Bochs或QEMU。
眼見Windows NT 4.0可在i386以外的MIPS、Alpha AXP和PowerPC架構運行,而NT衍生的作業系統如Windows XP和Windows Server 2003又已被移植到不同的硬體架構上(例如x86-64、IA-32及IA-64),ReactOS開發者亦開始注意可移植性。譬如對IA-32架構變種Xbox平台的支援,已加入0.2.5發佈版,而直到2006年上半年,PowerPC port和Xen port的工程仍在努力。
参见 [编辑]
參考資料 [编辑]
外部链接 [编辑]
- ReactOS主页
- ReactOS用户页面
- ReactOS开发页面
- Splash - ReactOS官方新闻站点
- ReactOS Wiki
- Interview with Steven Edwards of ReactOS and WINE (WineHQ)
- Wine Development HQ
- ReactOS中文本地化项目
- ReactOS中文社区
|
||||||||||||||||||||||||||||||