http://blog.csdn.net/hintcnuie/article/details/38468093
2015-05-14 17:30
459 查看
作为收购 NeXT 公司的结果,苹果公司获得了 NeXTSTEP 架构中的 Mach 和 Objective-C 等设计。尽管 NeXTSTEP本身已经不再发展了,但是其中的组件在 OS
X 中获得了新生。事实上,可以将 OS X 看成是 Mac OS Classic 和NeXTSTEP 的融合,更准确地说,应该是后者慢慢地吸收了前者。这个转变并不是瞬间发生的,Mac
OS 经历过一个名为 Rhapsody 的临时操作系统,这个系统从未公布于众。然而,就是 Rhapsody 这个系统最终演化成了 Mac
OS X的第一个版本,而这个操作系统的内核也就是我们今天所熟知的 Darwin(中文名称:达尔文)。
在所有操作系统里面,Mac OS X在设计上和实现上与NeXTSTEP最接近,甚至超过了苹果公司自己的OS
9。OS X的核心组件——Cocoa、Mach、IOKit、Xcode的Interface
Builder以及很多其他组件——都直接来自于NeXTSTEP。这两个极端的小众的操作系统——一个有着伟大的 GUI 但是设计糟糕,一个设计很棒但是 GUI 非常平淡——融合的结果就是一个比两者加起来都要流行得多的全新操作系统。
有时候人们会混淆 OS X 和 Darwin 这两个名词的定义以及两者之间的关系。下面来澄清一下:OS
X 是整个操作系统的一个集体名称。根据下一章的讨论,这个操作系统由很多组件构成,
Darwin 就是其中的一个组件。
Darwin 是操作系统的类 UNIX 核心,本身由内核(kernel)、XNU(“X
is Not UNIX”的缩写,这
个缩写类似于 GNU 的递归式缩写)和运行时组成。Darwin 是开源的(iOS 中的 Darwin 是在 ARM 上的移植,这个Darwin则是不开源的,详见稍后的讨论),而OS
X中的其他部分,即苹果公司提供的各种框架,不是开源的。
OS X 的版本和 Darwin 的版本之间有一个简单的关系。除了 OS
X 10.0 对应 Darwin 1.3.x之外,其他的版本都服从以下简单的公式:
If (OSX.version == 10.x.y)Darwin.version = (4+x).y
因此,例如 Mountain Lion 的 10.8.0 版本对应 Darwin
12.0。Snow Leopard 的 10.6.8 版本对应 Darwin10.8。尽管看上去有点混乱,但至少是一致的
X 中获得了新生。事实上,可以将 OS X 看成是 Mac OS Classic 和NeXTSTEP 的融合,更准确地说,应该是后者慢慢地吸收了前者。这个转变并不是瞬间发生的,Mac
OS 经历过一个名为 Rhapsody 的临时操作系统,这个系统从未公布于众。然而,就是 Rhapsody 这个系统最终演化成了 Mac
OS X的第一个版本,而这个操作系统的内核也就是我们今天所熟知的 Darwin(中文名称:达尔文)。
在所有操作系统里面,Mac OS X在设计上和实现上与NeXTSTEP最接近,甚至超过了苹果公司自己的OS
9。OS X的核心组件——Cocoa、Mach、IOKit、Xcode的Interface
Builder以及很多其他组件——都直接来自于NeXTSTEP。这两个极端的小众的操作系统——一个有着伟大的 GUI 但是设计糟糕,一个设计很棒但是 GUI 非常平淡——融合的结果就是一个比两者加起来都要流行得多的全新操作系统。
有时候人们会混淆 OS X 和 Darwin 这两个名词的定义以及两者之间的关系。下面来澄清一下:OS
X 是整个操作系统的一个集体名称。根据下一章的讨论,这个操作系统由很多组件构成,
Darwin 就是其中的一个组件。
Darwin 是操作系统的类 UNIX 核心,本身由内核(kernel)、XNU(“X
is Not UNIX”的缩写,这
个缩写类似于 GNU 的递归式缩写)和运行时组成。Darwin 是开源的(iOS 中的 Darwin 是在 ARM 上的移植,这个Darwin则是不开源的,详见稍后的讨论),而OS
X中的其他部分,即苹果公司提供的各种框架,不是开源的。
OS X 的版本和 Darwin 的版本之间有一个简单的关系。除了 OS
X 10.0 对应 Darwin 1.3.x之外,其他的版本都服从以下简单的公式:
If (OSX.version == 10.x.y)Darwin.version = (4+x).y
因此,例如 Mountain Lion 的 10.8.0 版本对应 Darwin
12.0。Snow Leopard 的 10.6.8 版本对应 Darwin10.8。尽管看上去有点混乱,但至少是一致的
相关文章推荐
- Java classpath的作用 http://m.blog.csdn.net/article/details?id=43155707
- Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗? 转载出处:http://blog.csdn.net/guolin_blog/article/details/
- 4种方法让SpringMVC接收多个对象(转:http://blog.csdn.net/lutinghuan/article/details/46820023)
- http://blog.csdn.net/lpstudy/article/details/51340537
- http://blog.csdn.net/callmeback/article/details/8130190
- http://blog.csdn.net/mindfloating/article/details/51534289
- Cocos2d-x3.3RC0 Cpp-test分析之NewAudioEngineDemo(转:http://blog.csdn.net/yuxikuo_1/article/details/41081453)
- http://blog.csdn.net/sadfishsc/article/details/17304703
- http://blog.csdn.net/lpstudy/article/details/51340537
- http://blog.csdn.net/lonsegdi/article/details/46333425
- http://blog.csdn.net/abc19900828/article/details/39478937
- static_cast < type-id > ( expression ) http://blog.csdn.net/moruihong/article/details/7712260
- http://blog.csdn.net/qiuhan/article/details/49487009
- 轮播图片转自http://blog.csdn.net/diligentkong/article/details/55209861
- http://m.blog.csdn.net/article/details?id=8237698
- http://blog.csdn.net/lpstudy/article/details/51340537
- 转自:http://m.blog.csdn.net/article/details?id=6554168 在使用order by语句进行查询结果排序时,不同的数据库对于被排序字段数据行为null的情况
- http://blog.csdn.net/wujunokay/article/details/44783383
- http://blog.csdn.net/kuangfengbuyi/article/details/54091700?%3E
- http://blog.csdn.net/lzwglory/article/details/49473013 spring中设计模式详解