您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > 百科

解密中国人自己的操作系统DIM-SUM

时间:2020-07-29 10:14:07  来源:  作者:

如果说DIM-SUM操作系统是一个完美的操作系统,那无疑是一个谎言。如果说DIM-SUM操作系统只是大家茶余饭后的谈资,那无疑是另一个谎言。

在国产基础软件大发展的历史背景下,自研国产操作系统显得十分迫切和必要。2018年DIM-SUM第一个版本:HOT-POT操作系统诞生。业界同人亲切地将这个系统称为火锅操作系统。

实际上,DIM-SUM仅仅是一个快速原型操作系统,它可以运行在ARM 64 的QEMU模拟器中。用户可以随便找一台机器,通过QEMU模拟器将它运行起来。在这个原型操作系统中,实现了同步与互斥、调度、内存、中断、定时器、块设备、文件系统模块,并且有一个简单的命令行控制台。

“自研操作系统是一件极富挑战性也很难成功的事情,宝友同学敢于在这方面进行积极有益的尝试,值得支持和鼓励。加油,努力!”

—— 阿里巴巴经济体技术委员会主席、阿里云总裁、阿里巴巴合伙人行癫对本文作者及其在过去几年中实现的一个操作系统DIM-SUM所做的评价。

DIM-SUM实现的功能

开源软件运动,已经为实现操作系统提供了现实可能性。首先,像linux这样的开源操作系统提供了很好的基础,这样可以从开源软件中学习到不少的技能、方法、设计思路。其次,开源软件允许分散在全球各地的开发者协同工作、集思广益。我在Linux社区中,作为ARM/ZTEARCHITECTURE的Maintainer,对此深有体会。

操作系统是IT行业的“核武器”。到目前为止,我们还处于“缺芯少魂”的状态,其中的“魂”就是操作系统。真正核心的软件,需要一代人,甚至几代人耐心地雕琢,而不能寄希望于短时间内产生立竿见影的效果。换句话说,要用“板凳一坐十年冷”的心态来做这件事。有了这样的心态,就不会觉得难。

从另一角度来说:万古长空,一朝风月。任何难事,一旦想要去做,就需要把握当下。空谈误国,实干方能兴邦。即使这件事情很难,但是不动手永远不会有任何结果。况且,我喜欢有挑战性的事情,例如:写一个可用于生产环境的,能够替代Linux的服务器操作系统!

目前,DIM-SUM已经实现了如下功能:

  • ARM 64 QEMU小系统,含内存|时钟初始化。
  • 全局优先级调度模块,调度算法类似于Linux实时调度。
  • 内存管理模块,包含页面管理、Beehive分配器。
  • 兼容Linux Ext3的LEXT3文件系统。
  • 块设备层实现。
  • 集成了LWIP网络协议栈。
  • 移植了常用的内核态C库API。
  • 实现了一个粗糙的命令行控制台。

总之,我认为HOT-POT是DIM-SUM操作系统的良好起点。在DIM-SUM后续的开发过程中,我怀着热切的心情,期待你参与到它的开发中来。

▊ DIM-SUM欢迎什么

任何建设性、对抗性建议、稳定“优雅”的代码、BUG报告、测试、社区建设等,都是DIM-SUM欢迎的!

▊ DIM-SUM不欢迎什么

我们不欢迎空谈和只会抱怨的人。虽然我们知道DIM-SUM并不完善,你有很多指责它的理由,可以指出DIM-SUM的不足,但是请同时拿出能优化DIM-SUM、可以正常运行的代码贡献给DIM-SUM。

获得源代码

Paul E.Mckenney曾经说过:If you want to do cool things,it is necessary to invest large amounts of time learning and (especially!)practicing.

诚哉斯言!

请读者相信我这个20年传奇工匠程序员的经验:要深刻地理解像Linux操作系统中源代码这样的复杂代码,必须动手实践,对着源代码看书!

本书尽量少粘贴DIM-SUM源代码,我保证会对本书中出现的源代码进行逐行分析。这是故意为之的,目的是尽量使读者下载源代码并对照源代码阅读本书。

要获得本书配套源代码,有以下两种方式:

  • 直接通过网页下载。
  • 通过Git获取源代码。

▊ 通过网页下载源代码

通过网页下载源代码,是最简单、快捷的方式。下载好DIM-SUM的源代码之后,将下载的源代码包命名为dim-sum.20200616.tar.bz2。为了防止在下载过程中,由于网络原因导致文件损坏,可以验证源代码包的MD5值。在ubuntu16.04系统中,可以通过在命令行控制台上输入如下命令,来得到源代码包的MD5值:md5sum dim-sum.20200616.tar.bz2

正确的MD5值应当是:

9248ca8c21f3a4988ddba6426c4fdf60

关于DIM-SUM操作系统的最新消息,也会通过博客发布,有兴趣的读者可以看看。

通过网页下载源代码,可以满足阅读本书的要求。但是,它满足不了你如下的要求:

  1. 获得DIM-SUM操作系统最新的源代码。
  2. 查阅DIM-SUM操作系统的补丁记录。

下一步将讨论如何通过Git获得源代码,这也是我推荐的方式。

▊ 通过Git获取源代码

无论怎样强调Git在开源项目中的重要性都不过分。我甚至推荐读者找一本Git简明手册仔细阅读。

如系统已安装Git工具,就可以通过gitclone命令获取DIM-SUM操作系统的源代码。DIM-SUM源代码将托管到码云服务器。

这个命令会在当前目录中创建一个名为dim-sum的子目录,并将DIM-SUM操作系统的代码下载到本地。

当然,对于大多数读者来说,不仅仅想对照着源代码阅读本书,他们还希望:

  • 跟踪DIM-SUM的最新版本。
  • 查阅DIM-SUM的补丁记录,明白每一个补丁的作用,与补丁的作者联系。
  • 给DIM-SUM提交补丁。
  • 在DIM-SUM中添加自己的代码。
  • 在PC上调试DIM-SUM的代码。

本文节选自博文视点新书《自研操作系统:DIM-SUM设计与实现》

解密中国人自己的操作系统DIM-SUM

 

谢宝友 著



Tags:操作系统 DIM-SUM   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
如果说DIM-SUM操作系统是一个完美的操作系统,那无疑是一个谎言。如果说DIM-SUM操作系统只是大家茶余饭后的谈资,那无疑是另一个谎言。在国产基础软件大发展的历史背景下,自研国...【详细内容】
2020-07-29  Tags: 操作系统 DIM-SUM  点击:(159)  评论:(0)  加入收藏
▌简易百科推荐
详细说明及例子 :对一组文件中的每一个文件执行某个特定命令普通格式:FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数。 ...【详细内容】
2021-12-27  中微中科技    Tags:DOS   点击:(3)  评论:(0)  加入收藏
Windows11都出来了,XP和Windows7真的被淘汰了吗,很显然并不会,系统有很多分类就不一一介绍了,以Windows系列系统举例,最初XP系统也是分代的,后来WIN7出现在了大众的视线,因为普遍的...【详细内容】
2021-12-09  WHW与某人    Tags:Windows7   点击:(19)  评论:(0)  加入收藏
Unix与Linux均是是多用户、多任务的操作系统,也有多种版本。Unix诞生于20世纪70年代初,而Linux发明于20世纪90年代初;可以说Unix之于Linux属于承上启下的关系。Unix诞生于贝尔...【详细内容】
2021-10-11  小扇子的笔记    Tags:Unix   点击:(85)  评论:(0)  加入收藏
很多朋友经常问我这个问题,总是主观地认为64位操作系统就是要比32位的操作系统高端,高级、快等等的,现用我个人的观点和大家科普一下两者的区别。1、对于电脑硬件配置的要求不...【详细内容】
2021-09-07  一个人6639    Tags:操作系统   点击:(82)  评论:(0)  加入收藏
它看起来像复古计算,但它是一个现代的操作系统,你可以用它来完成任务。在整个 1980 年代和 1990 年代,我主要是一个 DOS 用户。我喜欢 DOS 提供的命令行环境,它随着每一个连续的...【详细内容】
2021-06-17  Jim Hall  Linux中国  Tags:FreeDOS   点击:(170)  评论:(0)  加入收藏
开源操作系统 FreeDOS是一个久经考验的项目,可帮助用户玩复古游戏、更新固件、运行过时但受欢迎的应用以及研究操作系统设计。FreeDOS 提供了有关个人计算历史的见解(因为它实...【详细内容】
2021-03-16      Tags:FreeDOS   点击:(252)  评论:(0)  加入收藏
现代计算机之父冯诺伊曼最先提出程序存储的思想,并成功将其运用在计算机的设计之中,该思想约定了用二进制进行计算和存储,还定义计算机基本结构为 5 个部分,分别是中央处理器(CPU)、内存、输入设备、输出设备、总线。...【详细内容】
2021-03-04      Tags:操作系统   点击:(212)  评论:(0)  加入收藏
初学操作系统的时候,我就一直懵逼,为啥进程同步与互斥机制里有信号量机制,进程通信里又有信号量机制,然后你再看网络上的各种面试题汇总或者博客,你会发现很多都是千篇一律的进程...【详细内容】
2021-03-01      Tags:通信机制   点击:(184)  评论:(0)  加入收藏
Unix很美。 请允许我为您画一些快乐的小树。 我不会解释很多命令,这很无聊,网络上已经有上百万的教程可以做到这一点。我将让您能够对系统进行推理。您想做的每件奇特的事都...【详细内容】
2021-02-26      Tags:Unix   点击:(209)  评论:(0)  加入收藏
微软倾力打造的Windows 10X系统已经完全泄露,但镜像仅支持Surface Pro 7。不过,大神Albacore(thebookisclosed)制作了非官方的镜像打包工具(Mega网盘),可以提取本地驱动和配置文...【详细内容】
2021-02-03      Tags:Win10X   点击:(189)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条