Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


苹果为什么只开源 OS X 的内核,而不开源 GUI?

2014-12-8 09:44    评论: 8 收藏: 1 分享: 9    

来自知乎 @ibuick 的回答:

1. GUI 开源的后果就是你以后就能看到各种“自主知识产权”的,长得像 OS X 的 Linux,以及其他各种不知所谓的 Mod。更为重要的是,那时候开发一个 GUI 的 Hack 更为简单,比如你现在在 Bartender 里看到的那样,那时候不再费劲吧啦的反相工程,可以直接写出 Menu Extra 的替代品。到那个时候,系统各类毛病铺天盖地,OS X 长的五花八门,这也是 Apple 不愿意看到的。值得一提的是,OS X 桌面环境在操作系统里面算是领先的,这东西舍得开源么?一旦开源,连带 iOS 的好多东西都暴露出去了,得不偿失。

2. 驱动程序是不开源的,但是驱动框架 IOKit 是开源的。IOKit 的一个好处就是它是个 OO 的框架,你可以直接通过继承获得你想要的特性而不必从头开始。

3. GUI 层又称 Aqua 层,基于 Cocoa,在系统的架构的最顶端,也是直接面向用户和大部分应用程序开发者的层面。当然了,OS X 还支持 X11,如果你说这个的话,这东西是开源的。

4. IOKit 在 Mach 层,如果你有一点了解,OS X 剥离 Cocoa ,Carbon 相关的东西,剩下的叫做 Darwin,这是个 Unix 操作系统。OS X 之所以能够通过 SUS 认证,Darwin 是关键,这里包括 POSIX 兼容,Unix 线程,进程实现。它的内核叫做 XNU,这是个混合内核,XNU 包含两个部分,BSD 和 Mach:BSD 实现了POSIX,Networking,Filesystem 等,而 Mach 实现了最为基本的多处理器支持,虚拟内存,分页,调度,IPC,RPC 等。在 Mach 的基础上,就是 IOKit 和各类 Kext 了。整个 XNU 部分,跑在内核态。

5. Linux 我不懂,不过它原来是个 Monolithic 巨内核,这个跟 OS X 有很大区别,不知道现在什么样子。它这种实现性能要好一些。

推荐你看几篇文章:

发表评论


最新评论

我也要发表评论

soli 2014-12-8 17:58
知乎ID好熟悉的样子。。。
回复
来自 - 上海 的 Chrome/Linux 用户 2014-12-8 13:15
知乎上的回答就不要拿过来了,说得头头是道,写过几行C代码,就在大谈操作系统设计了。
这家伙其实什么都不懂,只是知道几个名词而已。
2 回复
京葛 2014-12-8 12:03  新浪微博网友评论
牛逼的不揍是外壳么
回复
止水成心 2014-12-8 11:03  新浪微博网友评论
[哈哈]
回复
来自 - 河北石家庄 的 Firefox/Linux 用户 2014-12-8 10:54
反感这位
6 回复
来自 - 广西来宾 的 Chrome/Linux 用户 2014-12-8 10:04
长得像 OS X 的 Linux早就有了,根本不需要苹果来开源。
17 回复
唯一卫星 2014-12-8 10:03  新浪微博网友评论
如何生孩子的办法可以公开,但是孩子的外观表现特征是一个公司区别其他公司的核心竞争力。
1 回复
Gurtegin4Kz 2014-12-8 10:03  新浪微博网友评论
对对、而且那些高仿会糟蹋掉os x☕
回复

热点评论

来自 - 广西来宾 的 Chrome/Linux 用户 2014-12-8 10:04
长得像 OS X 的 Linux早就有了,根本不需要苹果来开源。
17
来自 - 河北石家庄 的 Firefox/Linux 用户 2014-12-8 10:54
反感这位
6
来自 - 上海 的 Chrome/Linux 用户 2014-12-8 13:15
知乎上的回答就不要拿过来了,说得头头是道,写过几行C代码,就在大谈操作系统设计了。
这家伙其实什么都不懂,只是知道几个名词而已。
2
唯一卫星 2014-12-8 10:03
如何生孩子的办法可以公开,但是孩子的外观表现特征是一个公司区别其他公司的核心竞争力。
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。