ReactOS项目致力于为大家开发一个免费而且完全兼容 Microsoft Windows XP 的操作系统。ReactOS 旨在通过使用类似构架和提供完整公共接口实现与 NT 以及 XP 操作系统二进制下的应用程序和驱动设备的完全兼容。

大概在1996年,一群开源软件开发者启动了一个名为 FreeWin95 的项目,旨在实现一个Windows 95的克隆操作系统。这个项目当时只停留在关于系统实现的讨论上。 到了1997年末,项目依旧没有进展。开发成员呼吁重新开始这个项目,而实现的目标也改为WindowsNT系统,同时项目名称命名为ReactOS(react是反抗的意思)。1998年2月ReactOS项目正式启动,开始开发系统内核和基本的驱动程序,刚开始进展十分缓慢,直到2000年后有几个新人加入才逐渐发展起来,被人们所关注。

ReactOS的开发分为很明显的两个阶段,2006年的ReactOS0.3.0为分界点,之前是参考windows的说明文档摸索开发的;而Microsoft 的WRK1.2发布之后,又参考WRK1.2重新写了内核,新的内核内存管理功能更好。同时ReactOS是与Wine紧密结合的,因此很多方法都采用了linux的做法例如:安装界面的多语言选择。

ReactOS中react的含义是“反抗”。个人认为reactos只是个口号,毕竟windows这座大山太难超越了,尽管linux也很优秀。需要说明的是:reactos不是linux,reactos采用的独立的内核,全新GUI子系统,Win32 API也是开源的;其系统内的组件名称虽然和windows的相同,但是代码是重新写的,采用的是GCC编译器编译的。

做一个开放代码的操作系统,我们完全可以参考wrk1.2,甚至把windows下的DLL直接搬过来先完成功能。在今后的日子里,我会深入分析ReactOS内核代码、Windows的WRK1.2、linux的内核。并在此基础上做一个实验性的可在裸机上运行的操作系统,当然要兼容windows程序。

注:国内关注reactos的也比较早,有一帮朋友,他们在早先的时候还做了几个项目如:cnix。只是由于个人原因,后来放弃了。今天重提这些事情,十分的感慨。所以,我也决定走一条捷径,先借鉴Microsoft,后参考linux。对我们来说创新不是第一位,实用才是第一位!此为记。

ReactOS的由来相关推荐

  1. 三角测量计算三维坐标的代码_浅谈三维扫描仪的由来

    随着人类的发展,每一款新型产品的由来都是工业革命的产物,人们发明的任何一个产品都是要服务于人类并创造出更多的价值:其中三维扫描仪的出现也是为了满足于人类的需要而产生的,在传统的测量中接触式测量是出现最 ...

  2. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现4

    今天为了KPI,搞了一天的PPT,搞得恶心想吐.最后还是回到这儿,这儿才是我的净土,可以写写我的研究. 这儿讲一些Reactos中一些明显的错误.(转载请指明出处) 在Reactos的RegQuery ...

  3. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现3

    这篇我们看一个"容错""节省"的实例.一下是一个Win32API的声明(转载请指明出处) LONG WINAPI RegEnumKeyEx(__in HKEY ...

  4. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现2

    上一篇博文中主要介绍了Reactos中大部分函数的思路和HKEY和HANDLE之间的关系,本文将介绍一些Reactos中有意思的函数和存在bug的函数.(转载请指明出处) CreateNestedKe ...

  5. 一种注册表沙箱的思路、实现——研究Reactos中注册表函数的实现1

    因为我们沙箱注入了一个DLL到了目标进程,并且Hook了一系列NtXX(NtOpenKey)函数,所以我们在注入的代码中是不能使用RegXX(RegOpenKey等)这类函数的.因为RegXX系列函数 ...

  6. 2018-3-7 Hadoop简介1(名字的由来,以及基本的结构)

    问题一:什么是云计算? 实际上是提供的一种服务,这个服务的特点是?                  主要是按需分配 云计算_百度百科 https://baike.baidu.com/item/%E4 ...

  7. Selenium 2.0的由来及设计架构(一)

    上一篇文章介绍了Selenium1.0的历史及工作原理, 现在,接着上一次的内容说2.0的由来及设计架构. 就在Selenium1.0处于开发阶段的同时,另一款浏览器自动化框架WebDriver也正在 ...

  8. java script valueof_Javascript new Date().valueOf()的作用与时间戳由来详解

    众所周知PHP中对时间类型数据可以直接转换为时间戳,那么在前端脚本js中,也有方法可以实现,就是valueOf() 例如,我们可以通过这段代码输出当前时间点的时间戳 document.write(ne ...

  9. 有符号类型的最小负数的补码的由来

    有符号类型的最小负数的补码的由来 一. 16位的有符号整数(int) 在计算机中是用补码存储数据 为什么不用原码存 就是因为原码表示不了最小值-32768 如果是原码表示的话,编码中+0是用16个0表 ...

最新文章

  1. redis主从复制下哨兵模式---选举原理
  2. npm install 因网络链接慢 卡住解决方法
  3. python字符串find函数-python常见字符串处理函数与用法汇总
  4. 如何学习linux设备驱动
  5. 常用DBA SQL[转]
  6. tablespaces-datafiles示意图
  7. 在WPF的WebBrowser控件中抑制脚本错误
  8. DaVinci的Buffer_Handle和BufTab Cmem函数调用
  9. 《深入理解 Spring Cloud 与微服务构建》第三章 Spring Cloud
  10. 对于HTTP过程中POST内容加密的解决方案
  11. kittito_rosbag入坑教程
  12. linux网络客户端命令
  13. ffmpeg解析出的视频参数PAR,DAR,SAR的意义
  14. 【Twitter 舆论分析】Twitter 爬虫绕过API限制
  15. php怎么判断qq内置浏览器,PHP判断是否是微信打开,浏览器打开的方法
  16. 学计算机的3个奋斗目标,我的学习方法和奋斗目标
  17. 《大明宫词》之《采桑女》
  18. shell基础之04
  19. Android自定义闹钟
  20. 放大电路模型及相关习题

热门文章

  1. python父亲节礼物送什么_有没有推荐父亲节礼物?送什么好?
  2. 国内机器视觉行业中工业相机的发展现状及其面临的技术挑战
  3. 安居客爬虫项目,爬取房源,保存mysql数据库,详细代码如下!!!
  4. 深度学习数据不均衡的处理方法
  5. Python3 多线程threading处理xlsx/csv数据
  6. 【CF979D】 Kuro and GCD and XOR and SUM
  7. sunday算法c语言实现,C / C++学习笔记:实现Sunday算法
  8. 冒险岛2服务器不稳定,冒险岛2装备不稳定处理方法 冒险岛2装备不稳定怎么处理...
  9. 差异巨大 6款通用工业级ARM处理器性能测试对比
  10. Windows Server 2008R2 TLS 升级到v1.2