jiangtaodaily
jiangtaodaily
采纳率0%
2020-09-27 14:23

写得真好,不过分布式的故事还才开始

@有个梨UGlee

说说OS。不是特别聊鸿蒙。

一个叫OS的东西是可大可小的,跑在单片机上的OS多如牛毛,如果要说最小化,大体有调度器的就能叫OS了,内存管理可以简化,驱动可以没有标准框架,文件系统可以用简陋的不行的裸存储,网络可以是高层应用的事儿。

比如伯克利给传感器准备的TinyOS,最小配置只有一个定时器跑几个传感器任务最后用无线把数据广播出去,它也自称OS,而工具链只是一个预处理器把Tiny OS代码翻译成C的。

比这个更大的跑在MCU上的,按照现代OS定义,是调度,内存管理,驱动,文件系统,网络,基本齐活的。但文件系统的IO抽象在MCU上的重要性不高,虽然有posix兼容的尝试,但只是能做出来比较方便的scripting,并不会狂野到unix的一切皆io的设计抽象上,毕竟io的性能全是cache保证的,MCU哪里支付得起这样的内存成本。

国内做得最好的rtos没争议是小熊的rtt,arm也自己搞了一个mbed,国外开源里最流行的应该是freertos;因为core部分特别小,其实国内很多企业都有自己的rtos。

再往上就是android,ios,mac,win,linux,bsd这个级别了;应该说用于手持的和用于桌面和服务器的还是有一定差距,尤其是高性能应用。但是涵盖技术和商业两个标准而言,都能被称为OS的其实只有linux和win。

++++

这个说法听起来似乎是有点过于苛刻了,但大体是不错的。因为,比如mac,虽然在技术角度说所有OS该具有的要件都有,但实际上mac os没有面向广泛的硬件,无论是处理器构架、设备驱动、高性能网络计算;当然这不意味着它不能,很可能各种情况都可以支持,或者稍作改动就可以支持,以及有专业有经验的人就可以调优。

但工程不是基于一个假设和可能性的,而是现在就有,让一个OS可以支持广泛的硬件,应用,架构,不是一日之功,也不是一个可以列支预算在几年的有限时间内可完成的任务,它只能是进化出来的,随着实际发生的软硬件和产业市场进化,最终得到一个现状。这个完整的进化过程,是不可能被预测出来,也不可能预先写成软件开发需求的。

所以实际上OS的战争早已结束,他就是Unix铲掉了其它想法,包括Lisp Machine,也包括象Smalltalk那样的「组件池」系统;然后PC崛起,Windows打败了形形色色的Unix;最后Linux卷土重来。

++++

那么,把话说的这么牛逼,那Android和iOS和mac这种算什么呢?

这其实是介于OS和RAD,Rapid Application Development,之间的一个东西。Newton OS,PalmOS,或者BlackBerry都是早期的先行者。

之所以不称之为OS,是没人,至少在可见的未来,会想着在IDC的服务器上跑个Android或者iOS,里面开个docker,运行一些数据库或者Lambda之类。

开发者关心的是很具体的设定,怎么访问一个restful api,怎么控制摄像头,诸如此类;至于开发语言,也没人会指责你为什么不能跑Python,你为什么不支持R?

理解吗?这是应用和开发的两个容器,它关心的是一类应用,而不是一个General Purpose的OS系统,只有mac是更加羽翼丰满一些的,但它主要还是Cocoa。

++++

浏览器是完全显露商业虚伪的东西。

它在90年代初就诞生了,每个企业都说这是未来,但实际上到今天相当多的应用是无法在浏览器里进行的,要么资源不足性能不行,要么缺乏标准支持能力都没有,实际上因为微软的垄断其它企业都没多少好办法。微软当然也没那么崇高为了人类的未来匆匆忙忙把自己的坟给掘了。在既可以赚钱又可以不耽误人类未来只是让它晚几十年发生的可能性存在的情况下,任何人都会这么选择的,只要他有能力选择。我没有在影射什么,我就事论事,你不要想多了。我在说微软。

所以Android或者iOS的爬上桌面,或者可大可小适配不同设备,成为真正的OS,都不可能发生。无论是企业还是开发者都没这种理想。因为米国30多年来在os,rad,toolchain领域人才济济,剪裁这些东西得心应手,所以直白的说,就是不断的「再做一个」来抢钱。

iOS面世时那个自许上帝的rms,Ritchard Stallman,勃然大怒,他说苹果在开历史倒车。他的声音在当时就不大,在现在更没人听见了。但是非常遗憾的是,他说的是对的。在OS技术进化的角度说,iOS和Android乏善可陈,而开历史倒车就是指这种做法反而让Web技术发展和普及大大慢了下来。

Again,苹果或微软会关心这个屁事儿吗?当然不会。可能谷歌会更关心一点。但是Andy Rubin赚的盆满钵满,Pichai已经当上了CEO,他已经不再需要任何光芒万丈的Project来晋升了。

++++

大体是这么个意思。

搓一个RAD/OS,是米国的成熟产业,技师满地爬;但是在中国还是很困难的,虽然有大量工程师常年在这类系统上工作,但会深入了解细节的并不多。

他们需要相当长的一个时间熟悉这类的东西。

但我完全相信等他们摸熟了会做了,全球就开始非常严肃的对待在浏览器里跑Python的问题了,这是一定的。

++++

至于分布式,1992年来自贝尔实验室的Plan 9就是分布式系统,核心是9P协议。

实际上和这个分布式实现对立的还有两个东西,一个是Java之后的Jini,很少人听说过,一方面它提出的时候太超前,另一方面Java Beans太重,还有SUN公司出了问题;另一个就是现在流行的Restful设计,这个最终赢下了市场,IO抽象没成功。

这个不多说了。当年开发Plan 9的人现在都是老头子了。Ritchie(提供友情支持)去世了,Thompson和Pike在Google,把Alef修改了一下变成Golang,Stroustrup,也就是C++的发明人,在摩根斯坦利;Duff,单手写了Pixar第一个3D电影引擎;Unix元老Kernighan和McIlroy也参与了Plan 9的工作;Presotto是有争议的防炎墙发明人之一,貌似在谷歌,Winterbottom不知道在哪里。

Just name a few,Plan 9不止这几个开发者。

++++

我相信中国有一天会同样有这么多优秀的工程人员,开发者,科学家,从单手擎天的到干完活顺手拿个图灵奖的。

但肯定不是今天。肯定。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

相关推荐