@
zhicheng 1. 我不知道你是哪一种类型的开发者,以及是怎么理解 sandbox 这种技术的细节。
不过或许你可以告诉我一下,Android 如何在没有 linux kernel 的支持下开发出一个不能被开发者绕开的 sandbox ?
你不会以为写任何 Android 或者 iOS 的 App 的时候,只能 link SDK 提供的标准库吧?
如果能够绕开在 SDK 里面提供的 Sandbox,这种 sandbox 能作为商业 OS 推出市场吗?
App 质量当然和 OS 关系不大。但讲事实讲良心,你觉得 Android App 质量是不是 Android 的生态系统惯出来的?
iOS 成功当然不仅仅是因为 BSD,但事实就是 iOS 在 BSD 的基础上提供了很好的扩展。
当然了,你说的 App 质量是在说个例,我说的 App 质量是在描述普遍水准。根本不是在说同一个事情。
并且,iOS 还真不是 microkernel,顶多算是 hybrid
2. 我部分同意你的说法。在当时,“ Linux 比 BSD 从开发者数量到工具链等更成熟”。
然而这不能说明这不是一个偶然。
这跟我今天选不选 Freebsd 或者 其他 BSD 甚至 Redox 什么的,并没有什么必然关系。
当时的 BSD 系没有乘上开源的快车是造成了暂时落后的主要原因,但 BSD 系比 Linux 更老牌是事实。
3. 并且 BSD 的 API 比 Linux 的更有前瞻性,继续以 kqueue VS epoll 为例,
epoll 不能服务 file IO, 要另外使用 inotify, epoll 也不能支持 timerfd, signal fd ; kqueue 全包了, linux 弱鸡
epoll_ctl 一次只能关注 一个 fd,你要关注 100 个,麻烦你发 100 次 系统调用; kqueue 一次搞定,linux 弱鸡
我就不说 fs 上的其他了。你先告诉我说,Linux 在哪个细节上不比 BSD 垃圾吧。
你这么推崇 linux,反倒说我宗教?同志您写过多少跨平台代码?
“这里的人,都不是你的典型客户”。我可不敢小瞧天下英雄。
虽然你没证明你是其中之一,不过起码还是能有有趣的讨论的。
4. 空话我就不多说了。能不能先做一回小孩,只说对错,不讨论利益?