歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

開源的Windows系統——ReactOS

來源:本站整理 作者:佚名 時間:2019-01-27 TAG: 我要投稿

ReactOS是一個開發與Windows NT和Windows 2000應用程序和硬件驅動程序兼容的開源操作系統的項目。此項目當前雖然只是處于內部測試(alpha)開發狀態,但到2005年1月其中一些子項目已經完成了目標。
ReactOS主要是由C語言編寫。部分組件則由C++編寫,例如ReactOS 文件瀏覽器。
ReactOS的許可協議主要為GNU通用公共許可證,也有少量代碼以GNU寬通用公共許可證、BSD許可證之類的開源許可證發行。
為確保操作系統沒有任何一部分是看過泄漏出來的微軟 Windows 源碼的人所寫,或者逆向工程的過程達不到凈室設計標準,一個全盤的源碼審查由ReactOS主要開發者下令展開。此審查當前已經結束。
發展歷程
啟動開發
大約在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 的指摘未能證實,開發者決定審查源碼。 可能“受污染”的源碼會被封鎖,直到那些源碼經審查后確定無問題。
大部分的源碼已解封,維護和開發都可繼續進行,而審查亦同時進行。
2008年,源碼已經全部解封。審查也已經全部結束。維護和開發得以正常繼續。
參與 Google Summer of Code
從 2006 年開始,ReactOS 項目參與了幾次 Google Summers of Code。例如,在GSoC 2011 中, ReactOS 指導了一個將 lwIP 集成到網絡堆棧中的學生項目。迄今為止,ReactOS曾在 GSoC 參與過五次:2006年,2011年,2016 年,2017年 和 2018 年。2019 年也將參與。
公開演示
俄羅斯的政治人物 Viktor Alksnis 會見了項目協調員 Aleksey Bragin,Aleksey Bragin介紹了該項目并演示了該項目,演示中顯示 ReactOS 在 2007 年已經可以運行當時的 Total Commander 和 Mozilla Firefox。 它還吸引了時任俄羅斯總統梅德韋杰夫(Dmitry Medvedev)的關注。 梅德韋杰夫訪問了斯塔夫羅波爾地區的一所高中,巧合的是 ReactOS 開發者 Marat Karatov 正是該學校的高中生,他借此機會向總統介紹了開源 Windows 系統,并請求總統資助 100 萬歐元。梅德韋杰夫稱對 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作為權宜之計解決方案。 開發進度受開發團隊規模及其經驗水平的影響。作為對實施 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,雖然這一點,與端口沿的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 內核。。

[1] [2]  下一頁

【聲明】:黑吧安全網(http://www.zjtpzs.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        神秘东方电子游艺