Windows 10源码一览

Windows 操作系统本身是不开源的,但是近日微软内核工程师 Axel Rietschin 发表了一篇博客,带大家一窥了 Windows 10 内核的魅力

Axel 介绍,Windows 10 与 Windows 8.x、7、Vista、XP、2000 和 NT 的代码库是相同的,其中每一代都在之前的基础上进行重大的重构,并增加大量新功能,改进性能和硬件支持,此外还有安全性的提升,同时保持非常高的后向兼容性。

目前在 GitHub 上其实可以找到 Windows 内核研究的泄露副本,虽然这些代码已经过时且很不完整,但它们还是具有很高的研究价值。

比如 wrk-v1.2/base/ntos/config 源码实现了一个大名鼎鼎的内核组件配置管理器 Registry,也就是注册表,它在内部称被为 Cm。

其实 Axel 这个博客是在回答一个问题:“Windows 10 是由什么语言写就的?

他介绍,ntoskrnl.exe 内核大部分是使用 C 编写的,在内核模式下运行的大多数内容也是用 C 编定的,包括文件系统、网络与驱动程序等。其中也包含一些 C++ 代码,而越靠近用户模式、越接近新的源码时,C 的使用变得越来越少,反之 C++ 变多。

具体看一下 Windows 10 “DVD” 的源码,作者猜测其中 98% 由 C 和 C++ 写就,而 C 占据大比例。

此外,.NET BCL 与一些相关库和框架通常都是用 C# 编写的,“但它们也只不过是带有几座 C++ 小岛的 C 汪洋大海的一栗”,它们自不同的部门,代码并不属于 Windows 源码树。

作者惊呼:Windows 源码的规模巨大,这是一个真正史诗般的巨型项目

完整的源码树包含所有代码,如上图所示,测试代码与一起构成“Windows 源码”的所有内容加起来有超过 400 万个文件、50 万个文件夹、大小超过 0.5 TB,其中包含了构成 OS 工作站、服务器和所有版本的工具、相关开发工具包的每个组件的代码。

源码的规模有多恐怖呢?作者估计完全查看这些源码的文件名,并试图理解源码具体是用来干什么的,需要花上一生的时间。

他还举了一个例子:有一次,我离开了一个 Git 分支几个星期,当我回来时,已经落在了将近 60 000 次 commit 之后。

博客原文:

  • https://www.quora.com/Which-programming-language-is-used-for-making-Windows-10/answer/Axel-Rietschin

Windows 2000,原名Windows NT 5.0。它结合了Windows 98和Windows NT 4.0的很多优良的功能/性能与一身,超越了Windows NT的原来含义。   Windows 2000系列分成四个产品:Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server。 Windows 2000 Professional 是一个商业用户的桌面操作系统,也适合移动用户,是Windows NT Workstation 4.0的升级。Windows 2000 Server和Advanced Server分别是Windows NT Server 4.0及其企业版的升级产品。Windows 2000 Datacenter Server是一个新的品种,主要通过OEM的方式销售,是,支持32个以上的CPU和64GB的内存,以及4个节点的集群服务。 Windows 2000平台包括了Windows 2000 Professional 和Windows 2000 Server前后台的集成,下面仅从五个方面简要地介绍一下它的新特性和新功能。   一、活动目录   Windows 2000 Server在Windows NT Server 4.0的基础上,进一步发展了“活动目录(Active Directory)”。活动目录是从一个数据存储开始的。它采用了类似Exchange Server的数据存储,称为:Extensible Storage Service (ESS)。其特点是不需要事先定义数据库的参数,可以做到动态地增长,性能非常优良。这个数据存储之上已建立索引的,可以方便快速地搜索和定位。活动目录的分区是“域(Domain)”,一个域可以存储上百万的对象。域之间还有层次关系,可以建立域树和域森林,无限地扩展。   在数据存储之上,微软建立了一个对象模型,以构成活动目录。这一对象模型对LDAP有纯粹的支持,还可以管理和修改Schema。Schema包括了在活动目录中的计算机、用户和打印机等所有对象的定义,其本身也是活动目录的内容之一,在整个域森林中是唯一的。通过修改Schema的工具,用户或开发人员可以自己定义特殊的类和属性,来创建所需要的对象和对象属性。   活动目录包括两个方面:一个目录和与目录相关的服务。目录是存储各种对象的一个物理上的容器;而目录服务是使目录中所有信息和资源发挥作用的服务。活动目录是一个分布式的目录服务。信息可以分散在多台不同的计算机上,保证快速访问和容错;同时不管用户从何处访问或信息处在何处,都对用户提供统一的视图。 活动目录充分体现了微软产品的“ICE”,即集成性(Integration),深入性(Comprehensive),和易用性(Ease of Use)等优点。活动目录是一个完全可扩展,可伸缩的目录服务,既能满足商业ISP的需要,又能满足企业内部网和外联网的需要 最近在网上游荡的时候发现msdos和windows 2000的原代码 ,不敢独享,所以分享给大家
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值