ReactOS

ReactOS

ReactOS 是開源、免費的 Windows NT 系列克隆作業系統,保持了與 Windows 的系統級兼容性。

基本介紹

  • 軟體名稱:ReactOS
  • 開發商:ReactOS 貢獻者
  • 軟體平台:x86, x64
  • 軟體版本:0.4.11-RC
  • 更新時間:2018-12
  • 軟體語言:多國語言
  • 軟體大小:120 MB
  • 軟體授權:主要為 GNU GPLv2 
簡介,發展歷程,啟動開發,代碼審查,參與 Google Summer of Code,公開演示,ReactOS 社區版,ReactOS Hackfest 2015,系統開發,核心開發,硬體驅動程式堆疊,網路,與 Wine 項目合作,版本更新,0.4.5,0.4.6,0.4.7,0.4.8,0.4.9,0.4.10,影響與評價,

簡介

ReactOS 是一款基於 Windows NT 架構的開源作業系統,旨在實現和 NT 與 Windows 作業系統二進制下的完全應用程式和驅動設備的兼容性,通過使用類似構架和提供完全公共接口。
截至2018年12月,ReactOS 仍然被認為是 alpha 軟體,功能不完整但許多 Windows 應用程式已經運行(例如 Adobe Reader 6.0,OpenOffice等),因此開發人員僅建議用於評估和測試目的。

發展歷程

啟動開發

1996 年,一群自由軟體開發者開始了一個名為 FreeWin95 的項目,旨在重新實現 Windows 95。但當時對該作業系統僅限於討論而沒有實質性進展。
雖然對於 FreeWin95 項目期待很高,但直到 1997 年末,項目還沒有公開發布任何版本,於是項目協調員Jason Filby 聯合大家重振該項目並起了一個新名稱 “ReactOS” ,並計畫重新實現 Windows NT。1998年 2 月 ReactOS 項目正式啟動,開始開發系統核心和基本的驅動程式。

代碼審查

為了避免著作權起訴,ReactOS必須明確地完全區分並且不衍生於 Windows,這是一個需要非常謹慎工作的目標。2006年1月17日,Hartmut Birr 在 ReactOS 開發者郵件列表中指出 ReactOS 包含有反編譯的 Windows 源碼。因此開發者暫時禁止非開發者進入系統。鑒於ReactOS是開放源碼軟體,此舉引起開放源碼社群的不滿。ReactOS 的貢獻者沒受當時的舉動影響。
不久後所有軟體開發工程都能自由進入了。由於 Birr 的指摘未能證實,開發者決定審查源碼。
可能“受污染”的源碼會被封鎖,直到那些源碼經審查後確定無問題。
ReactOS
大部分的源碼已解封,維護和開發都可繼續進行,而審查亦同時進行。
2008年,源碼已經全部解封。審查也已經全部結束。維護和開發得以正常繼續。

參與 Google Summer of Code

從 2006 年開始,ReactOS 項目參與了多次 Google Summers of Code。例如,在GSoC 2011 中, ReactOS指導了一個將 lwIP 集成到網路堆疊中的學生項目。迄今為止,ReactOS曾在 GSoC 參與過五次:2006年,2011年,2016年,2017年和 2018 年。

公開演示

俄羅斯的政治人物 Viktor Alksnis 會見了項目協調員 Aleksey Bragin,Aleksey Bragin介紹了該項目並演示了該項目,演示中顯示 ReactOS 在 2007 年已經可以運行當時的 Total Commander 和 Mozilla Firefox。
它還吸引了時任俄羅斯總統梅德韋傑夫(Dmitry Medvedev)的關注。 梅德韋傑夫訪問了斯塔夫羅波爾地區的一所高中,巧合的是 ReactOS 開發者 Marat Karatov 正是該學校的高中生,他藉此機會向總統介紹了開源Windows系統,並請求總統資助100萬歐元。梅德韋傑夫稱對 ReactOS 很感興趣,表示會考驗資助事宜。
開發者向梅德韋傑夫演示 ReactOS開發者向梅德韋傑夫演示 ReactOS

ReactOS 社區版

2014年4月,ReactOS 項目宣布推出 iegogo活動,推出基於 0.4版本的 ReactOS Community Edition。籌資活動的目標是50,000美元,除此之外還有額外的伸展目標。ReactOS Community Edition 的開發將以社區為中心,ReactOS 用戶投票和資金決定項目旨在支持哪些軟體和硬體驅動程式。2014年 6 月 1 日,關於Indiegogo的靈活眾籌活動結束時籌集了25,141美元用於社區版的開發,並且不久後啟動了支持硬體和軟體的投票過程。

ReactOS Hackfest 2015

ReactOS 項目於2015年8月7日至12日在德國亞琛市舉辦了一場Hackfest。Hackfest 圓滿結束,因為它為ReactOS增加了許多功能。

系統開發

核心開發

ReactOS主要用C語言進行編寫,另外包含一些用 C ++ 編寫的元素,如 ReactOS Explorer 和聲音棧。該項目使用 MinGW 和 Visual Studio 進行編譯。
開發人員的目標是使核心和用戶模式API與Windows NT 5.2(Windows Server 2003)兼容,並增加對更多應用程式和硬體的支持,並計畫在開發日趨成熟時針對更新版本的Windows。DirectX支持是通過內部實施 ReactX進行的。2D硬體加速渲染是本機完成的,而其他繪圖功能則重定向到OpenGL作為權宜之計解決方案。
ReactOS 簡單結構圖ReactOS 簡單結構圖
開發進度受開發團隊規模及其經驗水平的影響。作為對實施 Windows 7所需工作量的估計,微軟僱傭了大約1,000名開發人員,組成了25個團隊,每個團隊平均有40名開發人員。但截至2011年9月2日,在 Ohloh 的 ReactOS條目中,通過“非常大,活躍開發者只有 33 位,這些開發人員在 12 個月的時間內貢獻了累計,並且累積了104個以前通過 Subversion 從項目開始為代碼貢獻代碼的用戶。ReactOS 開發人員 Michele C.在米蘭舉辦的 Hackmeeting 2009 上的演講中指出,大多數開發人員在使用ReactOS時都了解 Windows體系結構,並且沒有任何先驗知識。
雖然ReactOS目前主要針對 x86 / AMD64 PC 平台,但是,移植到ARM 架構的努力“正在進行中”,雖然它沒有產生太多功能而被放棄了。支持的的Xbox,變體IA-32體系結構,是通過使用一個特定於體系結構的加入HAL,[90]雖然這一點,與連線埠沿的PowerPC,不再積極維護。

硬體驅動程式堆疊

在硬體驅動程式方面,例如UniATA項目為ReactOS 提供串列ATA驅動程式。該項目還嘗試使用FullFAT庫重寫其FAT可 安裝檔案系統。ReactOS利用 Haiku 的 USB 堆疊作為參考,並作為其 USB 支持的基礎。

網路

ReactOS的網路堆疊構建在 FreeBSD 中 OSKit 網路堆疊連線埠的TCP部分,以及內部開發的面向數據包協定(如IP)的實現。後來,lwIP被集成到ReactOS的網路堆疊中。Samba / Samba TNG 項目已經提供了LSASS,SAM,NETLOGON 和列印假脫機等 Windows 網路服務作為開源替代方案。

與 Wine 項目合作

ReactOS 和 Wine 項目共享本機運行二進制 Windows 軟體的目標,因此可以共享許多依賴項和開發。 ReactOS 使用 Wine 項目的一部分,以便它可以從 Wine 在實現 Win32 API方面的進展中受益。雖然由於體系結構的不同,Wine 的 NTDLL,USER32,KERNEL32,GDI32和 ADVAPI32 組件不能由 ReactOS 直接使用,但代碼片段和其他部分可以在兩個項目之間共享。不過核心由 ReactOS 單獨開發,因為 Wine 依賴於現有的類 Unix 核心。

版本更新

0.4.5

改進了字型和字型指標的渲染,核心和驅動程式中的主要修復,Microsoft Office 2010 經過測試可以正常運行。

0.4.6

修復了幾個雙引導問題,改進了主題支持,添加了 NFS 驅動程式,修復了幾個核心和檔案系統的問題。

0.4.7

改進版應用程式管理器RAPPS,在資源管理器中實現“快速啟動”工具列; 檔案系統驅動程式中的各種錯誤修復,RDBSS / RXCE和NFS支持的改進。

0.4.8

支持氣球通知,通知托盤,shell 自動完成,使用了新的 NTFS 驅動程式,崩潰轉儲報告和 NT6 + 軟體的實驗性支持。

0.4.9

ReactOS 再次實現自託管功能,也就意味著在 ReactOS 上可以編譯 ReactOS。

0.4.10

支持從 Btrfs 啟動。

影響與評價

下面一些關於 ReactOS 項目的批評提出幾條為什麼他們不相信 ReactOS 會成為一個有價值的項目的原因。其中,有人指出把與 Windows NT 4.0 兼容作為 ReactOS 的發布目標是一個局限,因為 NT 4.0 評價不佳而且它已經過時了。
作為回復,有人提出雖然目前是把與 Windows NT 4.0 兼容作為目標,但是,Windows後來基於 NT 架構的系統都與 NT 4.0 在系統層次上高度相似(例如:Windows 2000, Windows XP, Windows Server 2003)。因此,想要與後續的 Windows 版本兼容,只要 NT 4.0 的目標完成,剩下都簡單了。
以此為由,該批評的回覆者說把 NT 4.0 的兼容作為里程碑並不是一個局限,而是未來開發的基礎。
其它人則批評認為我們已經有好幾個基於 Unix(Linux 及不同版本的 BSD)的作業系統, 與其再創建一個新的, 不如集中精力改善舊的,努力做好 WINE,讓現有的 WINDOWS 應用程式在其上運行得更好。但是,ReactOS 開發者及其他擁護者辯解說,UNIX 類作業系統不一定是唯一的最好的作業系統類型。NT 的設計含有很多概念是 Unix 工作方式的改進,而且一個在更低層次更似 Windows 的作業系統(即是設計成與 Windows 相似,而非執行某某應用程式,嘗試把另一個作業系統變成 Windows)將更有機會成功達到更廣闊地兼容現有的 Windows 應用程式和(特別是)硬體驅動程式。

相關詞條

熱門詞條

聯絡我們