Mac OS 的一点历史: Mac OS, Mac OSX 与Darwin

作为收购 NeXT 公司的结果,苹果公司获得了 NeXTSTEP 架构中的 Mach 和 Objective-C 等设计

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  1. 作为收购 NeXT 公司的结果,苹果公司获得了 NeXTSTEP 架构中的 Mach 和 Objective-C 等设计。尽管 NeXTSTEP 本身已经不再发展了,但是其中的组件在 OS X 中获得了新生。事实上,可以将 OS X 看成是 Mac OS Classic 和NeXTSTEP 的融合,更准确地说,应该是后者慢慢地吸收了前者。这个转变并不是瞬间发生的,Mac OS 经历过一个名为Rhapsody 的临时操作系统,这个系统从未公布于众。然而,就是 Rhapsody 这个系统最终演化成了 Mac OS X 的第一个版本,而这个操作系统的内核也就是我们今天所熟知的 Darwin(中文名称:达尔文)。 

  2.  

    在所有操作系统里面,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中的其他部分,即苹果公司提供的各种框架,不是开源的。 

     http://hovertree.com/h/bjaf/webfuzadu.htm

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。尽管看上去有点混乱,但至少是一致的。

推荐:http://www.cnblogs.com/roucheng/p/texiao.html 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120385.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oauth 流程_简明同义词典

    oauth 流程_简明同义词典SSO:用户一次登陆后在多个系统免登录。博客gem'doorkeeper'https://i.cnblogs.com/EditPosts.aspx?postid=9255973

    2022年8月2日
    7
  • lcd1602模块的基本组成_1602液晶显示模块P0口

    lcd1602模块的基本组成_1602液晶显示模块P0口LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块。它是由字符型液晶显示屏(LCD)、控制驱动主电路HD44780及其扩展驱动电路HD44100,以及少量电阻、电容元件和结构件等装配在PCB板上而组成。下图即是该模块:(百度百科)一般来说,在嵌入式开发领域显示模块是非常重要的一部分,所以发展出了许多种应用在不同场合的集成显示模块。LCD1602由于出现较早,所以即便出现了应用更广泛的、…

    2022年9月23日
    2
  • Alex 的 Hadoop 菜鸟教程: 第16课 Pig 安装使用教程

    Alex 的 Hadoop 菜鸟教程: 第16课 Pig 安装使用教程本教程介绍Pig的安装和使用。hdfs虽说是一个文件空间,但是我们每次要查看hdfs上的文件的时候都要输入一大串命令,比如一个简单的ls都需要输入:hdfsdfs-ls/,而且还不能cd到某个目录,这样就造成了每次ls都要带上全路径的麻烦,能不能有一个工具可以模拟linux下的shell呢?Pig就实现了这样的需求,可以直接ls,可以cd到某个目录。并且Pig还创造了PigLatin语言,可以通过Pig写一个类似存储过程的MapReduce的Job,pig会自动帮你把这个job翻译成MapR

    2022年5月9日
    50
  • redis设置过期时间后再set还用设置时间吗_redis setnx 过期时间

    redis设置过期时间后再set还用设置时间吗_redis setnx 过期时间​​​​​​​java操作Redis缓存设置z过期时间转载:java操作Redis缓存设置过期时间-liuminchao-博客园关于Redis的概念和应用本文就不再详解了,说一下怎么在java应用中设置过期时间。在应用中我们会需要使用redis设置过期时间,比如单点登录中我们需要随机生成一个token作为key,将用户的信息转为json串作为value保存在redis中,通常做法是://生成tokenStringtoken=UUID.randomUUID().t..

    2022年9月26日
    3
  • 获取 Windows Phone 手机系统信息

    wpf:1161718192021222324252627282930…

    2021年12月20日
    48
  • 简单的java图片存储方法

    简单的java图片存储方法Controller中//调用ReceivePIC.receivePIC(request,response);//封装的方法packagecom.jwwl.fsq.util;importjava.io.File;importjava.io.FileOutputStream;importjava.io.InputStream;importj

    2022年7月16日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号