系统是由一些相互联系、相互制约的若干组成部分结合而成的、具有特定功能的一个有机整体(集合)。这些要素可能是一些个体、元件、零件,也可能其本身就是一个系统(或称之为子系统)。
所以,如果是一类操作系统的话,那么以系统来定义为更加合适。
三个系统
提及到第三个系统的时候,我想到的是一本很不错的小册子(书),其名为《Linux/Unix 设计思想》。这本书主要是在讲 Linux/Unix 相关的哲学(实际上,我一直觉得这样的书很容易写,学好 Linux 和哲学,然后将哲学套到 Linux/Unix 上即可。唯一的难点是:跨领域知识)。
先简要地说说三个系统的定义:
在背水一战的情况下,人类创建了『第一个系统』。PS:没有足够的时间将事情做好。
『专家』使用『第一个系统』验证过的想法来创建『第三个系统』。PS:『第二个系统』由委员会设计,『第二个系统』臃肿而缓慢。
『第三个系统』由那些为『第二个系统』所累的人们创建。PS:『第三个系统』结合了『第一个系统』和『第二个系统』的最佳特征。『第三个系统』的设计者有充裕的时间将任务做好。
结合之下来看,我们就会发现一些非常有意思的事情:
充裕的时间,才能让我们完成一个更好的系统。
『第二个系统』是拥有足够的专家和时间来完成的。
『第三个系统』结合了『第一个系统』和『第二个系统』的最佳特征。
由上会产出一些有意思的推论:在有充足时间和资源的情况下,我们可能设计出的是 Windows Phone,巨硬(微软)的专家太多了。
新的专家
专家不论在哪里都是一种稀缺的资源,要不这个世界怎么会有咨询公司的存在呢。
开发一个操作系统并不困难。市面上已经有了各种琳琅满目的书籍,从《操作系统导论》到《自己动手写操作系统》、《30 天自制操作系统》,马上培训班就会出出《7 天自制操作系统》。
今天,我们基本已经达成了共识,开发一个系统的难点主要在于『生态』。为了生态,它可能要兼容一个系统的 API,这会导致系统臃肿。为了生态,它需要连带上下游一起丰富起来。为了生态,还需要开发各种各样的工具……
举个我们熟悉的 Android 系统为例,它的操作系统的源码(包含上下游工具)大概 120 G,它的开发工具 IDE 大概 60 G……。这个过程中涉及到大量的计算机相关的核心技术:编译器、虚拟机、操作系统、编译器优化、构建系统、图形编程……。就这么来说吧,它几乎快包含这一个领域需要的所有知识。而,你并没有时间预先的进行研究。
就构建来说,Android 系统因为大量的上下游,所以就需要:LLVM、Gradle、CMake、Bazel、GCC、Clang、Soong、Ninja……。而从编程语言上来看,所需要的语言知识有:Java、C++、C、Groovy、Kotlin。而除了这些,还有大量与硬件、芯片相关的知识。
因此,经此一役,这一世界又多了一个能造操作系统的国家。
复刻更难
最近,我和我的同事一起在使用 Rust 重写 VSCode 的词法分析工具。起先,我以为这是一件容易的事情,都是 TypeScript 嘛。写写测试,直接翻译就完了。然而,事实并非如此。
需要深入理解原有逻辑。不断地调试旧系统的逻辑,并重新梳理思路。
业务未剥离,导致大量耦合。语言之间存在用法上的差异,需要追溯用法上的差异和类型上的差异。哪怕是原文上写一个无用的 if-else,你都要纠结半天。更不用说,它可能有大量无用的代码。因此,我们需要寻找一种有效的方式来搞定,比如 TDD。
语言交互接口(FFI)。Oniguruma 是我们所使用的正则库,而且还有指针的指针。
……
相似的,对于一个复杂的系统来说,各种子系统之间的耦合度更是难于剖析 —— 需要大量不同领域的知识。每个问题不单纯只是某一语言、技术栈的问题,它往往是跨越了多个系统的问题。
新化月报网报料热线:886 2395@qq.com
最近更新
- 什么叫系统?三个系统的定义是什么?2022-12-27
- windows无法打开"添加打印机"该怎么处理?解决方法一起了解一下2022-12-27
- 办公室的打印机无法共享该怎么解决?方法步骤是这样的2022-12-27
- 安全生产常抓不怠 “六大行动”成效显著2022-12-27
- 世界快资讯丨乡村振兴成果展线上看2022-12-27
- 当前快播:我省27个社区入选全国综合减灾示范社区2022-12-27
- 苍梧 “千企惠万家”情暖脱贫群众2022-12-27
- 打防管控并重 提升工作效能2022-12-27
- 当前热议!背街小巷改造 扮靓城市“颜值”2022-12-27
- 天天微资讯!去医院看病更方便2022-12-27
- 全球今日讯!图为12月26日,黎平县人社部门开展“直播带岗”,发布就业岗位信息。2022-12-27
- 【环球新要闻】大连公众举报安全生产违法行为有奖2022-12-27
- 【全球速看料】“擂台比武”激发 基层抓党建动力2022-12-27
- 全球快报:建设高标准农田近万亩2022-12-27
- 冬季攻势如火如荼 项目建设全力冲刺2022-12-27
- 天天要闻:跨省出行热度明显上升春运部分车次车票已售罄2022-12-27
- 六条重点市政路26日集体通车2022-12-27
- 天天微速讯:观山湖区居民乐享15分钟文化生活圈2022-12-27
- 新资讯:严防涉农领域职务犯罪2022-12-27
- 世界热讯:“跟案实训”提升案件审理干部履职能力2022-12-27
- 全球观察:“感动海南”2022十大年度人物:刘梅珍2022-12-26
- 【当前热闻】苏州市市场监管局公布第二批查处药品和医疗用品违法典型案例2022-12-26
- “感动海南”2022十大年度人物:乔晋军2022-12-26
- 天天观速讯丨长沙医护人员向社区居民赠药获称赞2022-12-26
- 中国农科院与粮农组织共建平台促进农业科研创新2022-12-26
- 速递!京广高铁十周年:旅客发送量飞速增长 发展红利惠及沿线百姓2022-12-26
- 焦点滚动:“90后”新婚夫妇:坚守岗位是最美的“蜜月”记忆2022-12-26
- 每日资讯:资阳乐至:牵好项目“牛鼻子”精雕品质城市2022-12-26
- 当前热讯:地产新闻联播丨东莞:暂停执行商品住房限购政策2022-12-26
- 当前最新:荔湾区、黄埔区3758套住房成为广州市首批认定保租房2022-12-26