忆梦|不容错过!私藏的几个学操作系统好东西( 二 )


忆梦|不容错过!私藏的几个学操作系统好东西WRK【忆梦|不容错过!私藏的几个学操作系统好东西】微软也还是挺大方 , 在2006年左右 , 为了让高校学生学习操作系统 , 基于Windows Server 2003的内核 , 官方发布了一个叫Windows Research Kernel的项目 , 简称WRK 。
WRK是一个“阉割版”的Windows内核代码 , 去掉了Windows中的窗口实现、TCP/IP协议栈等多个功能模块 。 但保留了诸如进程/线程管理、内存管理、I/O管理、对象管理等重要功能 , 虽是“阉割版” , 但仍然是非常值得一看的版本 , 毕竟官方发布嘛 。
ReactOS网址:
忆梦|不容错过!私藏的几个学操作系统好东西这里的React可不是前端框架中的那个React , 这是一个逆向工程中的集大成之作 。
这里简单科普一下逆向工程
我们平时开发软件的过程是“正向” , 即编写源代码 , 然后由编译器编译链接生成CPU指令 , 最后整合形成一个可执行文件 。
逆向工程就是将上面的过程反过来 , 从一个可执行文件 , 通过分析文件中的代码指令 , 最后推导出原来的源代码的过程 。
你可能听过逆向分析某一个程序 , 但你知道有人直接逆向了整个Windows操作系统吗?
注意 , 这里说的是整个操作系统 , 不仅仅是底层的Kernel内核 , 还包括一系列的驱动程序 , 以及上层的Windows服务程序、动态链接库 , 甚至还囊括了Windows内置的桌面explorer程序和IE浏览器等等 。
ReactOS集成了一大波牛人的劳动 , 相当于翻版了一个Windows出来 , 在各种数据结构的设计上 , 都力求和Windows一致 。 以实现让Windows上的程序能在它上面也能运行无误 。
这个工作量想想都大的吓人 。
有趣的是 , 微软工程师指责ReactOS项目组人剽窃了WRK中的源代码 , 两者之间的论战也从未间断 。
不过需要注意的是 , 毕竟是一个逆向出来的项目 , 有不少细节和Windows真实实现还是有差异的 , 一般在上面几个项目中找不到时 , 才会来参考ReactOS , 有时候还需要结合比对上面几个不同版本的实现 , 才能熟悉彼此的差异 。


推荐阅读