ReactOS是什么
ReactOS 是开源、自由的 Windows NT 系列克隆操作系统,保持了与 Windows 的系统级兼容性。
ReactOS
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 的贡献者没受当时的举动影响。
ReactOS 主要用 C 语言进行编写,另外包含一些用 C ++ 编写的元素,如 ReactOS Explorer 和声音栈。该项目使用 MinGW 和 Visual Studio 进行编译。
ReactOS 和 Wine 项目共享本机运行二进制 Windows 软件的目标,因此可以共享许多依赖项和开发。 ReactOS 使用 Wine 项目的一部分,以便它可以从 Wine 在实现 Win32 API 方面的进展中受益。虽然由于体系结构的不同,Wine 的 NTDLL,USER32,KERNEL32,GDI32 和 ADVAPI32 组件不能由 ReactOS 直接使用,但代码片段和其他部分可以在两个项目之间共享。不过内核由 ReactOS 单独开发,因为 Wine 依赖于现有的类 Unix 内核。
ReactOS 项目组宣布,他们已聘请 Victor Perevertkin 在接下来的 3 个月全职从事 ReactOS 存储相关的开发工作。ReactOS 有”开源 Windows”之称,不过其在存储方面的技术水平长期而来相对于其他模块而言,一直处于不太理想的状态。这也是促使他们聘请全职开发者在存储及相关领域进行改进的主要原因。
自 2018 年以来,Victor 一直是各种 ReactOS 组件的主要贡献者。他在 GSoC 首次亮相时为 ReactOS 编写的 Btrfs 引导扇区代码就已深入到内核领域,后来负责管理新 USB 堆栈的集成,最近在为 ReactOS 向新的编译器工具链的重大升级做准备时,几乎接触到了 ReactOS 的所有部分。
在合同期间内,Victor 将主要从事存储相关的开发工作,这是 ReactOS 中长期被忽视的一块。他计划最终将 scsiport 转换为支持即插即用(Plug & Play)的驱动程序,并在此过程中修复内核即插即用的 bug,从而改进 USB 存储支持和对 Windows 存储驱动程序的兼容性。
如果时间允许,延伸目标包括继续他之前的工作,将谷歌的内核内存错误检测工具 Address Sanitizers 集成到 ReactOS 中,并修复通过启用 APIC 的 HAL 进行引导时存在的问题。
ReactOS 项目组此次招聘行为对项目而言也是一个重要的里程碑,因为持续收到的捐助终于能够让他们以接近市场价格的价格雇佣一名全职开发者。