百科问答小站 logo
百科问答小站 font logo



发展我们的国产操作系统,有没有必要从内核写起,deepin 到底属不属国产操作系统? 第1页

  

user avatar   in-nek 网友的相关建议: 
      

火药是中国发明的,外国人因此不用了吗?

能用的东西不用,是向大家证明自己是个傻逼。除此以外,还证明什么别的吗?

下面这个是当前Linux的的代码量数据:

如果你不懂软件开发,可以把它想象为一篇小说,行数就是小说的文字有多少行,Linux(仅仅是内核)的代码行数是1千8百万行,按这里给出的COCOMO模型来估计,完成这个开发的开发费用超过8亿美元。

这仅仅是内核,内核的功能只是调度计算机的资源给其他程序用,作为我们一般理解的操作系统,我们至少还需要10倍以上的代码负责画图,算多项式,和用户对话,处理字体,加密……等等等等。此外,我们还需要其他人比如做数据库的,做网站的,做网络前端的,做银行的,做基因测序的,做金融的,做政府工作流的,做Office的,把他们的软件移植(用新系统的接口来调用)过来。

多不多呢?对一个企业来说,太多的,但对国家来说,还给得起。

问题是,小说是只要码字就能看的吗?

我昨天看Linux内核的一个功能,发现年初的时候,有人在进行异常处理的时候,在里面增加了几行代码,把所有通用寄存器都清成0了。这个事情很影响效率,我很奇怪它为什么,所以我又查了一下历史记录,发现这是为了防止Cache侧信道攻击的第4种变体的一种辅助动作。这个第4种变体是什么个原理呢?——我为此看了一天的论文,而且没有完全看懂细节,只是知道原理,接受这种修改是必须的……

用普通人能听懂的话说:就算我写完了这一千八百万行代码了,我还需要花可能10到100倍的时间去打磨它,才能达到今天的水平,然后我还要追上Linux本身每天的发展。Linux、Windows、Mac等肯定走过一些错路,我们确实可以少走一部分,但至少也要一半的工作量才能走上来。而历史一次次证明,所有错误都是要重新犯一次的,比如最近某小岛以为自己不同制度就会免了大字报的历史阶段,现在不是一样的补课?——只要规模上去了,整个组织都会脱离人的意志,走入一种客观规律。所谓“黑暗森林”,本质就是这样这个模型:一个人是否对未知开枪,这有随机性,但一大群人,是否对未知开枪,这是有肯定性的。

Windows对此都气喘吁吁(搞到要集成Linux到自己的方案中),你让我们国家另做一个东西去追赶?——在这个东西直接可用的情况下?有这么挥刀自宫的神功的吗?

Linux不是不能放弃,那要等整个计算机发生质的改变,Linux设计的基础都不存在了的时候,才有可能,但显然不是现在。

所以,Deepin的问题不是用不用Linux的问题,而是基于Linux怎么能解决我们够不够用的问题,这个对这样一个小公司来说,已经是巨大的挑战了,它本身不能靠政府和社会帮,但这样一个生态的营造,需要政府和社会去帮,我们才能顶住未来的竞争。

这种时候还谈要不要从内核写起这种蠢问题,根本就没有脑子,你别理他们就行了。给傻逼讲道理,只会让自己变成傻逼的。

补充1:讨论里有读者误会我的意思,以为我反对写非Linux Kernel的内核。我不是认为写非Linux Kernel是傻逼,我是说,用这个东西是不是自己写的觉得用不用它,这是傻逼思维。Linux Kernel有它的缺点,或者说,它的长处就是它的缺点。比如太大了,一个VxWorks的内核100k以下,一个Linux的内核,正常编译16M左右,裁剪后也一两兆,再裁就不是Linux了,如果正经用,加上用户态的东西,可能要16M以上的存储空间才能用,这就已经带来很多问题了。它大量使用的Lazy算法,保证了处理性能,但对时延带来很多问题,要立即反应的地方(比如机械控制),它也不合适。但Linux Kernel长成今天这样,和他包容最大的市场有关系的。在主力市场上,你想绕过他,是非常困难的。我一点都不反对在特定市场上使用特定的OS(实际上我们自己就针对特定的市场开发好几种OS),但在主力市场上,你给自己设限,非要说自己重新搞一次,我只能认为你是个神经病。

补充2:看到其他回答中在鬼扯什么微内核的问题,我附一个关于这个问题的讨论在这里:Linux 为什么还要坚持使用宏内核?。微不微内核这种问题,根本就是学院派的YY,就不值得讨论。新做一个系统,以微内核为基础没有什么不行的,但这个不是设计一个操作系统最关键的问题。

补充3:还有人觉得,自己写一个操作系统就没有后门或者漏洞了。这完全是外行。你们没有构架经验的话,想象一下你怎么设计一个公园的安全方案的——安全漏洞不来自你的设计,安全漏洞来自你的预防。一个公园安不安全,不看你要不要买票,在于你在入门,围墙,维护人员管理……所有功能上的防Bug手段。没有一个基础重新设计,你的Bug只会更多,不会让你更安全好不好?你认为linux哪里不安全重新设计那个地方好了,重写就会没bug的吗?或者你可以看看这个:in nek:给普通人解释Spectre和Meltdown安全漏洞 对安全是什么有点直观感觉。

补充4:再说一个误区,操作系统只是个名字,操作系统和操作系统不是一个东西,我们谈的是大型操作系统,不是十几万行代码的嵌入式系统,而且就是嵌入式系统,在技术上实现领先也是一件很困难事情,请不要把你们那些玩具拿出来丢人,说什么“你也有”。你一个月赚一两万个也叫赚钱,人家一个月赚几个亿也叫赚钱,这是一个东西吗?

补充5:这个问题下,Pansz的进攻防御说我也是反对的。用不用Linux是个起点平台问题,进攻防御是个技术本身的问题,你有一个好的调度技术,在一个玩具操作系统上实施,就算有技术优势,这个技术也没有进攻性。要不要进攻,要看你的技术,不是看你用不用Linux开发。


user avatar   li-mu-gen-19 网友的相关建议: 
      

刚开始非常辛苦,后来形成自己观点了,就不觉得了。因为你的观点总被人攻击,你总要还击。就比如你在逼乎发了个帖子被别人怼,你觉得你不回骂过去能睡得着觉? 学术成果就是在不断的撕逼过程中不断积累。 就比如我敬爱的Fama大神,活到老,撕到老,生命不息,撕逼不止。


user avatar   ikkiz-70 网友的相关建议: 
      

基于linux可以做到自主,但是不够可控。国产化以及自主可控本身都不是最终目标,产业安全和国家安全更加重要,Linux的问题就在于不够安全。

linux的问题在于代码量太大,团队太杂。千万级别的代码,而且是宏内核架构,大量来自各种团队的设备驱动和内核模块,任何一个点出问题都可能被获得系统控制权。除部分资源受限的嵌入式设备外,使用linux的厂商大概也没多少动力进行裁剪。目前的针对涉密网办公用的国产OS通过各种审计,监控,异形物理接口等手段进行安全增强,但是如果有预埋的内核漏洞想一想仍然有机会激活。而更多的应用场景比如工控机,上位机不太可能上厚重的保护手段,成本和意识都跟不上。

bsd是更加安全稳定的方案,但是bsd在美国控制之下,长久看来也不够可控。

作为自主可控的基石,需要一个纯粹的微内核架构。现在问题是目前所有的微内核OS都必须解决性能问题,否则无法做到足够的通用性,就像QNX,无法解决大部分问题。很多厂商包括IBM都曾经在微内核上下注,还没有得到十足的成功。

目前潜在的比较令人期待的微内核通用系统有两个,fuchsia和鸿蒙。这两个都有大厂背景,表现出了商用的潜力,fuchsia已经展现了一些平台特性,鸿蒙作为TEE架构的TEE部分也已经初步商用。如果能够成功,相当于在linux、bsd之外又多了一个或两个posix兼容内核的选择,可以作为基础制作新的更加安全可控的发行版(忘记hurd吧)




  

相关话题

  在可见的将来,我们能看到国产操作系统崛起吗? 
  如何看待华为终端 2020 年除了手机、平板和电脑外全线搭载鸿蒙系统? 
  有哪个Linux操作系统推荐? 
  当页表中的页表项大部分都有效的时候,多级页表还能节省空间吗? 
  如何评价 Windows 11 抄袭 mac OS 的声音就没断过? 
  为什么计算机采用补码而不是原码或反码? 
  在国内华为的鸿蒙系统能否在 10 年内替换 Windows 系统? 
  重装系统的成本有多高? 
  如何看待微软 Build 2019 上发布的新 WSL2? 
  如何评价Linux 内核核心成员Theodore Ts'o被 Sage Sharp 指控为强奸辩护者? 

前一个讨论
如何看待金山办公 (WPS) 在科创板上市,开盘涨幅超 200%,市盈率超 200 倍?
下一个讨论
为什么有很多男生打游戏就可以很快乐?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利