• [Mac.OS.X开发系列电子书].Quartz.2D.Graphics.For.Mac.OS.X.Developers.pdf )
  • [Mac.OS.X开发系列电子书].Apress.Mac.OS.X.Leopard.Beyond.The.Manual[Mac.OS.X开发系列电子书].
  • Cocoa:Cocoa是Mac OS X开发API的昵称。有点类似MFC之于Windows。在学会Objective-C的语法之后,就可以开始学习Cocoa,开发Mac OS X应用程序了。 Quartz:是Mac OS X的Aqua图形界面的2D图形加速引擎。 XCode:是Mac ...
  • <<MAC OS X技术内幕>>读书笔记 第一章:MAC OS X的起源 1 System1.0~7.5 2 Mac OS 8,9 3 Mac OS X 10.0~10.15
    @[TOC](《MAC OS X 技术内幕》读书笔记第一章:MAC OS X的起源)
    
    ![大多数想法都来自于以前的想法](https://img-blog.csdnimg.cn/2019112501324483.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70,png# =400x500)
    ## 前言
    最近想了解一下MacOS,于是双十一的时候买了这本书来看,偶尔抽空写一下读书笔记做个总结。这本书还是挺新的,19年1月清华大学出版社出版的书,作者是阿米特·辛格(Amit Singh),全书一共1302页,共分12章和一个附录,作者从系统设计的角度剖析了Mac OS X内部工作原理的具体细节,揭示Mac OS X及其组件的核心体系结构和实现。
    
    Mac OS可以被分成操作系统的两个系列,一个是老旧且已不被支持的经典版Mac OS,Mac OS 8以前用“System x.x”来称呼(System 1.0~7.5),另一个则是Mac OS。Mac OS版本从1997年7月26日发布的Mac OS 8(实际上是System7.7)开始, 一直到2002年秋天发布的Mac OS 9.2.2为止。之后Mac OS X 成为苹果电脑操作系统产品线最新的 Mac OS。尽管官方上简单地说是 Mac OS 的“版本10”,但是在历史上看来它与早期的 Mac OS 版本有本质区别。到今天为止,苹果的Mac操作系统被称为“OS X”已长达近20年之久。
    
    下面我讲分为System(System 1.0~7.5),MacOS(8.0~9),MacOS X(10.0~10.15)三个部分来写。(书中第一章主要讲了Apple对Mac OS 和 Mac OS X的探索和发展,但是几乎没有怎么提及System x.x系列,所以System x.x系列我只好从网上找了一些资料整理下来)
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125033827633.png)
    ## 1 System x.x系列
    ### 1.1System 1.0(1984年1月24日)
    System 1.0是苹果随同Macintosh 128K的最初电脑操作系统,发布于1984年1月,是第一个麦金塔操作系统。当时的System 1.0已经具备了图形操作界面,含有桌面、窗口 、图标、光标、菜单和卷动栏等项目。全体系统文件夹仅216K。当时并不能从菜单中建立新的文件夹。
    
    ps:原始的苹果操作系统都是基于Lisa OS的
    
    ![System 1.0](https://img-blog.csdnimg.cn/20191125031213356.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ### 1.2System 2.x(1985年4月)
    System 2.0更新了Finder,引入了多个文件夹,“关闭”命令,并安装了“ MiniFinder”应用程序以快速启动任何选定的应用程序。System 2.1(Finder 5.0)引入了具有真实目录的分层文件系统(HFS), 被认为是一个重大的进步。该版本专门用于支持Hard Disk 20,并且仅在RAM中实现HFS 。
    ### 1.3System 3.x(1986年1月)
    System 3.0(Finder 5.1),正式实现了HFS,800K启动驱动器,对包括SCSI和AppleShare在内的多种新技术的支持。
    
    ### 1.4System 4.x(1987年1月)
    System 4.0随Macintosh SE一起发布,而系统4.1随Macintosh II一起首次发布-这些新机器要求对第一个扩展插槽,Apple桌面总线(ADB),内部硬盘驱动器以及Macintosh II上的外部颜色提供附加支持显示屏和第一个Motorola 68020处理器。
    
    ps: **System 1到System 4全都是单任务操作系统**,意味着用户只能同时运行一个应用程序(桌面附件除外)。
    ### 1.5System 5.x(1987年10月)
    System 5.0 的主要新功能是MultiFinder,该扩展使系统可以一次运行多个程序。该系统使用协作式多任务处理模型,这意味着仅在前台应用程序产生控制权时才将时间分配给后台应用程序。应用程序已经调用以处理事件的系统功能的更改使许多现有应用程序自动共享时间,并允许它们在后台执行任务。用户还可以选择不使用MultiFinder,从而一次只使用一个应用程序。
    ![System 5](https://img-blog.csdnimg.cn/20191125031222793.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ### 1.6System 6.x(1988年4月)
    System Software 6(也就是System 6)是Macintosh系统软件的合并版本,可产生完整,稳定且持久的操作系统。需要在系统6下提供额外支持的两个主要硬件介绍是68030处理器和1.44 MB的SuperDrive,它们随Macintosh IIx和Macintosh SE / 30一起首次亮相。后来的更新包括对Macintosh Portable的引入对第一个专用笔记本电脑功能的支持。从System 6开始,Finder的统一版本号与System的版本号非常接近,从而减轻了由早期系统之间经常存在的巨大差异引起的混乱。
    ![System 6](https://img-blog.csdnimg.cn/20191125031433441.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ### 1.7System 7.x(1991年5月13日)
    1991年5月13日,发布了System 7.0,这是对System 6的重大升级,添加了重要的用户界面检修,新应用程序,稳定性改进和许多新功能,这也是第一款彩色的苹果系统,有了256色的图标,有了更好的多媒体(quick time)支持。它的推出与68040 Macintosh系列的发布同时提供支持。System 7.0最重要的功能之一是支持虚拟内存,这是预计已使用多年的基本子系统,仅在Connectix的名为Virtual的第三方扩展中才存在于以前的系统中。随之而来的是向32位内存寻址的转变,此过程涉及使OS代码中的所有例程都使用指针的完整32位作为地址-先前的系统使用高8位作为标志。System 7.0的另一个值得注意的功能是内置的协作式多任务处理。在System6.x中,此功能是通过MultiFinder可选的。直至Mac OS 8于1997年发布之前,是当时最受欢迎的Macintosh操作系统。其后的System 7.1~7.5(1991-1997)主要是修正了很多错误,提高了系统的稳定性并添加了大量的次要功能。![System 7](https://img-blog.csdnimg.cn/20191125032706985.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ## 2 对MAC OS 的探索
    
    Apple对操作系统的探索从未停止,在第二部分我先介绍一下MAC OS 8和MAC OS 9的一些特性,然后讨论影响Apple操作系统的几种重要的技术。
    ### 2.1 Mac OS 8.x(1997年7月26日)
    1997年7月26日,Mac OS 8.0正式发布,同月乔布斯成为Apple真正意义上的 CEO,从这个版本开始,Mac OS的名称被正式采用。Mac OS 8通过一系列更新发布,代表了从1988年到1996年为苹果公司雄心勃勃的操作系统Copland开发的许多技术的增量集成。Mac OS 8帮助Mac OS实现了现代化。Mac OS 8.0为用户带来了多线程的Finder以及更强大的自定义用户界面。 同时还有三维铂金界面以及新的电脑帮助 (辅助说明) 系统。
    
    ![Mac OS 8](https://img-blog.csdnimg.cn/20191125033754298.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    
    ### 2.2 Mac OS 9.x(1999年月26日)
    Mac OS 9是经典Mac OS的最新主要版本,发布于1999年10月23日。它是Mac OS 8的稳定演进。Mac OS 9.x一共发布了7个版本,直到2001年末发布的Mac OS 9.2.2为止。
    
    Mac OS 9增加了对AirPort 无线网络的支持。它引入了多用户支持的早期实现。尽管不是真正的多用户操作系统,Mac OS 9确实允许多个桌面用户拥有自己的数据和系统设置。改进的Sherlock搜索引擎添加了几个新的搜索插件。Mac OS 9还提供了大大改进的内存实现和管理。AppleScript进行了改进,以允许TCP / IP和网络控制。Mac OS 9还首次使用集中式Apple软件更新来查找和安装OS和硬件更新。
    
    其他新功能包括带有代码签名和钥匙串技术的动态文件加密软件,远程网络和文件服务器软件包以及USB 驱动程序列表的大大改进。
    
    此外,Mac OS 9还添加了一些过渡技术,以帮助应用程序开发人员在向公众推出新OS之前采用某些Mac OS X功能,以帮助简化过渡。其中包括用于文件系统的新API 以及应用程序可以链接到的Carbon库的绑定,而不是传统的API库的绑定—适应此需求的应用程序也可以在Mac OS X上本地运行。从Mac OS 9.1更新开始进行了其他更改,以使其可以在Mac OS X 的经典环境中启动。
    
    ![Mac OS 9](https://img-blog.csdnimg.cn/2019112504192056.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ###  2.3 Copland(Apple针对Mac电脑的一个操作系统升级计划)
    
    Copland是Apple在1994年至1996年之间为Macintosh计算机开发的操作系统,但从未商业发布。它引入了内存保护、多任务处理及一系列特性,并与当时的Mac系统软件兼容。开发工作于1994年3月正式开始。在接下来的几年中,Copland的预览引起了广泛的关注,向Mac观众介绍了现代操作系统设计的基本概念,例如面向对象,防撞和多任务处理。这个系统在开发过程中不断引入新特性,但在内部测试版本中表现出严重的不稳定。最终被苹果公司放弃。
    
    1996年5月,苹果公司CEO吉尔·阿梅里奥(Gil Amelio)表示,Copland是该公司的主要业务目标,但是由于公司人员和项目管理功能失调,开发工作陷入了问题,导致这个项目被长期忽略。“只是各个部分的集合,而每个部分是由不同的团队开发的,人们期望它们能以某种方式魔法般的整合在一起......”。负责Copland的首席技术官埃伦·汉考克(Ellen Hancock)被聘请使该项目重回正轨,但很她快得出结论,它将永远无法交付。1996年8月,宣布取消Copland。Apple曾转向一个代号名为Gershwin的项目,但是这只是转移当前人们关注的焦点,Gershwin也只是一个代号,Gershwin的开发工作从没有开始过。2008年,《PC World》将Copland评选为IT历史上最大的项目失败清单。
    
    在Copland彻底失败后,Apple对新的操作系统的需求比以往更加强烈,苹果公司将在公司外部寻求新的操作系统。在众多选择中,他们选择了OpenStep并于1997年购买了NeXT以获得它。在收购NeXT之后,Apple采用了双管齐下的操作系统战略:
    1:为用户桌面市场持续改进MacOS(例如后来的 Mac OS 8和 Mac OS 9)
    2:基于NeXT技术创建高端操作系统(新系统名为Rhapsody,我在后面会说到,主要是针对服务器和企业用户)
    
    按照首席技术官埃伦·汉考克(Ellen Hancock)的计划,System7.5的开发继续进行,最初为Copland预定的许多技术都已集成到基本OS中。苹果开始购买活动,获得了对各种第三方系统增强功能的权利,并将其集成到操作系统中,包括拓展管理,分层的Apple菜单,折叠的窗口,菜单栏时钟和便笺等等。Mac OS 7.6改善了稳定性和性能,它放弃了“ System”这个名字,取而代之的是“ Mac OS”。最终,为Copland开发了许多功能,包括新的多线程Finder和对主题的支持被纳入未发布的Mac OS 7.7 Beta中,该版本已更名并作为Mac OS 8发行。
    ![Copland体系结构](https://img-blog.csdnimg.cn/20191125120229393.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70,png# =500x500)
    Copland操作系统是苹果公司对新的操作系统的一次尝试,尽管当时苹果下了很大的决心和力气,但最后还是以失败告终,而Copland创建或者改进的一些重要特性添加到了Mac OS 8和Mac OS 9中。
    ###  2.4 NeXT(乔布斯被Apple解雇后创建的一家公司,后被Apple收购)
    ![NeXT公司](https://img-blog.csdnimg.cn/2019112512183057.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70,,png# =500x500)
    
    
    NeXT是乔布斯与几位同事一起被苹果公司解雇后由他创立的。NeXT发布了许多NeXTSTEP系统,这套系统是以Mach和BSD为基础,以Objective-C作为原生语言,NeXTSTEP是以下几个部分的组合:
    1. 基于Mach内核的Unix操作系统,以及来自4.3BSD的源代码
    2. 显示PostScript和专有的窗口引擎
    3. Objective-C的语言和runtime机制
    4. 一个面向对象的(OO)应用层,包括若干“kits”
    5. 面向对象层的开发工具
    
    NeXTSTEP以出色地实现了后三项而著称。这些工具包提供了强大的功能,并且是机器上所有软件的规范开发系统。它介绍了Dock(通过OpenStep传递到当今的macOS中)和Shelf的想法。NeXTSTEP还发起或创​​新了许多其他GUI概念,这些概念在其他操作系统中也很常见:3D小部件,大型全彩图标,系统范围内除文件图标之外的各种对象的拖放,全系统的管道服务,实时滚动和窗口拖动,属性对话框以及窗口修改通知(例如文件的保存状态)。该系统是首批通用用户界面之一,可在所有应用程序中以一致的方式处理发布的颜色标准,透明度,复杂的声音和音乐处理(通过Motorola 56000 DSP),高级图形基元,国际化和现代字体。
    ![NeXT操作系统发展时间表](https://img-blog.csdnimg.cn/20191125125602651.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70,png# =400x500)
    由于经济问题NeXT于1993年退出了硬件业务,继续开发NeXTSTEP。1994年NeXT与Sun Microsystems合作,联合发布了OpenStep规范,它是一个开放平台,包含多个API和框架,任何人都可以使用它来创建它们自己的面向对象操作系统的实现,它们运行在任何底层的核心操作系统之上。OpenStep API规范定义了三个主要组件:
    1. Foundation Kit,软件框架;
    2. 应用套件,GUI和图形前端
    3. Display PostScript,一个2D图形系统(用于绘制窗口和屏幕上的其他图形)。
    
    在Sun OS ,HP-UX和Windows NT上实现了OpenStep。NeXT自己的实现于1996年7月发布为OPENSTEP4。对于OpenStep一个重要的认识是,它只是一组API规范,而OPENSTEP(一定要大写)是由NeXT开发的一个OpenStep的特殊实现。OPENSTEP构建于Mach(也是NEXTSTEP的核心),它是原始OpenStep规范的超集,包括原始NeXTSTEP的许多功能。
    
    苹果在1997年以4.29亿美元(相当于2018年的6.7亿美元)和150万股苹果股票收购了NeXT。作为协议的一部分,NeXT Software董事长兼首席执行官史蒂夫·乔布斯回到了他于1976年共同创立的公司Apple。创始人承诺将NeXT的软件与Apple的硬件平台合并,最终产生macOS,iOS,watchOS和tvOS。这些操作系统完全基于NeXTSTEP和OPENSTEP基础。
    
    ###  2.5 Mach(NeXTSTEP和OPENSTEP内核的关键组件)
    与NeXT一起出现的是他的内核,它变成来Apple的将来系统的内核基础,Mach是NEXTSTEP内核的关键组件也是Mac OS X 内核的关键组件。Mach是一个由卡内基梅隆大学开发的计算机操作系统微内核,为了用于操作系统之研究,**特别是在分布式与并行运算**上。是最早实现微核心操作系统的例子之一,是许多其它相似的项目的标准。
    
    Mach开发项目在卡内基梅隆大学从1985年运行到1994年,到Mach 3.0版结束。其他还有许多人继续Mach的研究包括犹他大学的Mach 4。Mach的开发是为了取代BSD的UNIX核心,所以是许多新的操作系统的设计基础。Mach的研究至今似乎是停止了,虽然有许多商业化操作系统,如NEXTSTEP与OPENSTEP,特别是Mac OS X(使用XNU核心)都是使用Mach或其派生系统。Mach的虚拟内存(VM)系统也被BSD的开发者用于CSRG,并出现在BSD派生的系统中,如FreeBSD。Mac OS X与FreeBSD并未保留Mach首倡的微核心结构,除了Mac OS X继续提供微核心于内部处理通信以及应用程序直接控制。
    
    Mach的总体目标是创建一个微内核,它将作为其他操作系统的基础。Mach打算主要用于实现处理器和内存管理,而不是文件系统网络或者I/O。Mach的实现使用4.3BSD作为其实代码库,它的设计者在消息传递内核领域使用了RIG和Accent作为参考。Mach内是用C语言编写的,也计划是高度可移植的。最初,Mach的设计者在内核中提出了4个基本的抽象概念:
    1. “任务”(Task):它是一个容器,用于一个或者多个线程的资源。资源的示例包括虚拟内存,端口,处理器等
    2. “线程”(Thread):是执行的基本单元,任务为线程提供了一个执行环境,而线程则会实际的运行
    3. “端口”(Port):类似于Accent端口——一个具有容量的内核中的消息队列。端口构成了Mach的IPC功能的基础
    4. “消息”(Message):是指在不同任务或者相同任务中线程可以使用端口彼此发送数据集合
    
    另一个基本的Mach抽象概念是内存管理,可以把它视作映射到任务的地址空间里的数据的容器。Mach需要分页式内存管理单元(Paged Memory-Management Unit ,PMMU)Mach通过它的物理映射层给依附于机器的MMU功能提供了一个非常好的接口。Mach的虚拟内存子系统被设计成支持大量,稀疏的虚拟地址空间,并与IPC集成在一起。IPC消息传递机制的应用为线程和并发提供了很好的支持。进程之下是多个线程,线程作为IPC机制的单元,Mach得以在消息被处理时控制线程睡眠或唤醒。这就允许系统将进程分布于多个处理器之上,消息直接通过共享内存实现也可以,必要时为其它处理器复制一份也可以。
    
    与UNIX最初无视多处理器的设计不同,Mach在设计伊始即将多处理器支持纳入考虑。它的扩展性也很好,UMA还是NUMA都能很好的支持。Mach是为千种不同的处理器而设计的,移植到其他体系结构很容易。其设计的一个关键目标即为各不相同的硬件平台上,实现可移植的分布式系统。
    
    Mach项目的开发 3.0版本结束。Mach3.0是第一个真正的微内核版本——BSD作为用户空间里的Mach任务进行,并且只具有Mach内核所提供的基本特性。Mach3中的更改和改进包括:
    1. 内核抢占和实时调度框架,用于提供实时支持
    2. 低级服务支持,其中的设备被展示为端口,可以把数据或者控制消息发送给它们,并且支持同步和异步I/O
    3. 完全重写的IPC实现
    4. 系统调用重定向,允许通过在调用任务内运行的用户空间代码处理一组系统调用
    5. 使用了延续(Continuation),它是一种内核设施,通过指定一个函数(延续函数,Continuation Funvtion)给线程提供阻塞选项,该函数是在线程再次运行时调用的。
    ps: FreeBSD的虚拟内存体系结构基于Mach的虚拟内存管理体系结构
    ![Mach](https://img-blog.csdnimg.cn/2019112514015744.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    
    
    ###  2.6 Carbon API(对经典版Mac OS的彻查 )
    Carbon API是经典版Mac OS的API经过精简,扩展或修改后移植库,它在当时代表了70%左右的遗留Mac OS API,Carbon是苹果将Mac OS X推向市场的战略的重要组成部分,它提供了快速移植现有软件应用程序的途径,以及运输可在Mac OS X或经典Mac OS上运行的应用程序的途径。随着市场越来越转向基于Cocoa的框架,尤其是在iOS发布之后,对移植库的需求已被稀释。Apple 在2007年的框架内更新其他框架时并未创建64位版本的Carbon,最终在2012年7月24日发布的OS X 10.8 Mountain Lion中弃用了整个API。Carbon正式停产,随着macOS 10.15 Catalina的发布完全删除。
    ## 3朝着 Mac OS X 前进
    在收购了NeXT之后,Apple 就在1997年演示了它的新一带操作系统Rhapsody,在Rhapsody 第二个开发者预览版本发布之后,Apple又改变了它的战略,如下图所示,但是最终都是为了实现它的具有新系统的目标。
    
    ![Mac OS X 的大致时间表](https://img-blog.csdnimg.cn/20191125151340722.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70,png# =400x500)
    
    ### 3.1 Rhapsody(NeXT与Mac OS X之间的操作系统的代号)
    Rhapsody代表了Apple的一项新战略,Apple计划把大多数关键的Mac OS 框架移植到Rhapsody上,包括:Quick Time, QuickDraw 3D, QuickDraw GX, GolorSync等。Rhapsody还支持众多的文件系统,比如AFP,FAT,HFS,HFS+,ISO9660和UFS。Rhapsody有两个开发者版本:DR1,DR2,它们是为PowerPC和x86平台发布的。在1997年的WWDC上,第一次演示了Rhapsody,它包括以下主要组件:
    1. 基于Mach和BSD的内核以及相关子系统
    2. Mac OS 兼容的子系统(Blue Box)
    3. 扩展的OpenStep API 实现(Yellow Box)
    4. 基于Display PostScript的窗口系统
    5. 类似于Mac OS 的用户界面,但是也有OPENSTEP的特性
    #### 3.1.1Blue Box(MAC OS 兼容环境,虚拟化环境)
    Blue Box是通过Rhapsody上的一个应用程序(MacOS.app)来实现的Mac OS 的虚拟环境,MacOS.app从磁盘上加载一个Macintosh ROM文件并创建一个环境,Mac OS 在其中可以正常的运行(我的理解就是一个类似虚拟机的app),Blue Box最初全屏幕地运行MAC OS 8,并且可以使用cmd+return键在Rhapsody与Mac OS 之间切换
    #### 3.1.2Yellow Box(Rhapsody开发平台,来后演变为Cocoa API)
    Rhapsody的开发平台称为Yellow Box,Yellow Box包括OPENSTEP大多数集成框架,有3种核心框架:
    1. Foundation:是基类的集合,具有用于分配,取消分配,检查,储存,通知和分布用它们的API
    2. Application Kit:是一组API,用于创建用户揭秘哪;管理和处理事件;使用各种服务,例如,颜色和字体管理,发音,剪切和粘贴等文本操作
    3. Display PostScript:是一组API,用于PostScript中绘图,合成图像以及执行其他的可视化操作。可将其视作Application Kit的一个子集
    
    ### 3.2  Mac OS X Developer Previews 
    Mac OS X 有四个开发者预览版本,即DP1~DP4,Apple在发布这些DP版本是做出了重大改进。
    1. DP1:添加了Carbon API 的实现
    2. DP2:Yellow Box演变为Cocoa,DP2包括了Java Development Kit(JDK)的一个版本,以及一个实时编译器(JIT)
    3. DP3: 引入Aqua用户界面和Dock,并且支持可动态扩大到128*128像素的逼真图标
    4. DP4:第一次开始允许用户查看和设置大量的系统首选项,分离finder和Dock(此前finder和dock是在同一个应用程序内实现的)
    ###  3.3 Mac OS X Public Beta
    Apple在2000年9月13日在巴黎举行的Apple展览会上发布了Mac OS X 的Beta版本,Mac OS X的Beta版本是最早的一个公开版本苹果电脑的Mac OS X的操作系统到功能的Aqua用户界面。它于2000年9月13日以29.95美元的价格向公众发布。它的发布具有重要意义,作为苹果在Copland失败后能够发布期待已久的“下一代Mac操作系统”的第一个公开证据。Beta版本的关键特性如下:
    1. 具有其xnu内核的Darwin核心,提供了真正的内存保护,抢占式多任务和对称处理
    2. 基于PDF的Quartz 2D绘图引擎
    3. OpenGL的支持
    4. Aqua界面和Dock
    5. Apple的新邮件客户,支持IMAP 和POP
    6. Quick Time播放器的新版本
    7. Music Player 应用程序,用于播放MP3和音频CD
    8. Sherlock Internet搜索工具的新版本
    9. Microsoft Internet Explorer 的新版本
    ps: Darwin是Apple的一个创新项目,Darwin前身是Rhapsody开发人员版本的一个分支,其内核是xnu,xnu很大程度上是基于Mach 和 FreeBSD
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125161750870.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    ###  3.4 Mac OS X 10.0~10.15
    Mac OS X 是与先前的Mac OS彻底地分离开来,它的底层代码完全地与先前版本不同。它的新的核心名为Darwin,是一个开放源码、符合POSIX标准的操作系统,伴随着标准的Unix命令行与其强大的应用工具。尽管最重要的架构改变是在表面之下,但是Aqua GUI是最突出和引人注目的特色。柔软边缘的使用,半透明颜色和细条纹把更多的颜色和材质带入到桌面上的视窗和控件。
    
    #### 3.4.1 Mac OS X 10.0(Cheetah猎豹,2001.3.24)
    **在2001年3月24日,苹果推出了Mac OS X v10.0(内部代号为猎豹),Apple把Cheetah称为世界上最高级的操作系统**。其早期版本相当慢,功能也不齐全,仅有少量来自独立开发商的应用软件。很多评论员认为它并不是一款成熟的大众化产品。苹果从1996年就开始重写Mac操作系统,对于翘首盼望多年的业界人士而言,是推出Mac OS X 10.0本身就是一项了不起的成就。除去一些较小的补丁,Mac OS X的稳定性也颇具口碑,系统内核的错误比以往大大减少了。不过,就性能和稳定性而言,Apple还有很长的路要走。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125171325498.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    #### 3.4.2 Mac OS X 10.1(Puma美洲狮,2001.9.25)
    增加了系统的性能和新的功能,完善了carbon API 足以允许发布重要的第三方应用程序
    #### 3.4.3 Mac OS X 10.2(Jaguar美洲虎,2002.8.24)
    该版本带来彻底的性能增强,新的且光鲜的外观,以及很多巨大的改进(根据苹果公司表示有150个),在这些中有:
    
    增加对于Microsoft Windows网络的支持
    Quartz Extreme直接在显卡上合成图形
    以latent semantic indexing为基础,一个调适性的垃圾邮件过滤
    在新的Apple Address Book中对于联系数据的系统贮存空间
    Rendezvous网络(苹果的Zeroconf实现;于10.4更名为Bonjour)
    iChat:以Apple为商标,官方支持的AOL即时通讯之客户端
    重新翻修的Finder,直接在每个视窗内置搜索功能
    很多的新Apple Universal Access特色
    Sherlock 3:互联网信息搜索
    CUPS:Common Unix Printing System,允许为不支持的打印机使用GIMP打印驱动程序,hpijs驱动程序等等。
    #### 3.4.4 Mac OS X 10.3(Panther黑豹,2003.10.24)
    除了提供更多性能的改进外,它也针对用户界面有大规模的更新。这些更新包含了跟该年之前Jaguar所有的多种特色。另一方面,中断了对于某些老旧的G3米黄色世代电脑的支持。"Panther"的新特色包含:
    
    Finder更新,结合金属触感接口和快速搜索
    Exposé:用来操作视窗接口的新系统
    快速用户切换:允许用户维持登录状态而换另外一个用户登录。
    iChat AV增加了视频会议功能到iChat
    改进PDF显现而使得PDF能够极快速地浏览
    内置支持传真
    更多与Microsoft Windows的兼容支持
    FileVault:对于用户目录直接加密解密
    针对PowerPC G5提供更多的支持,增加整个系统的速度
    Safari:网页浏览器
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125172310442.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    #### 3.4.5 Mac OS X 10.4(Tiger虎,2005.4.29)
    苹果宣称Tiger包含200种以上新功能,但就像是Panther的发行推出一样,某些更老的机器已经从支持的硬件列表中去除。在"Tiger"中有以下这些新特色:
    
    Spotlight:一种快速的内容和metadata基础的文件搜索工具,能够快速地找到你所搜索的关键字项目列表。
    Dashboard:在桌面上只需要一次鼠标点击就出现且提供通用工作的Widget
    iChat:为视频会议支持H.264视频编码的新版本,且允许多方语音和影像聊天。
    QuickTime 7:包含H.264支持的新版本,以及完全重新撰写的接口
    Safari 2:新版本的系统默认网页浏览器,在其他新特色中,包含能够直接在浏览器查看RSS feed的能力。
    Automator:自动重复性的任务而不需要程序设计方式
    Core Image和Core Video:允许实现即时的影像或图片编辑时额外的效果。
    对于PowerPC G5的64位存储器支持,使用LP64系统
    更新Unix的工具,像是cp和rsync,可以保存HFS Plus metadata和resource forks
    使用访问控制表的扩展权限系统
    #### 3.4.6 Mac OS X 10.5(Leopard花豹,2007.10.26)
    Mac OS X v10.5 "Leopard"是于2005年6月6日的苹果全球开发者大会中所宣布的。在2006年8月7日美国旧金山举行的2006年度会议上,苹果电脑总裁斯特弗·乔布斯声称,Leopard将于“2007年春季”推出。然而,为求iPhone能顺利开发使其能在6月推出而将开发Leopard的部分人员调往iPhone以致Leopard预计将于10月上市,而在全球开发者大会苹果公司会发表新的Leopard测试版。苹果电脑宣称它将是最后一版同时支持PowerPC和Intel平台的Mac OS X,以后的版本只支持Intel平台。在2006年度的世界开发者大会上,苹果预览了部分Leopard的新功能,虽然苹果说明“在Mac OS X Leopard的提前预览中公布的内容有可能改变”,但由乔布斯预览的一些新功能包括:
    
    Time Machine(时间机器)- 允许用户退回或恢复丢失或被误删除的文件,也可以将某些文件恢复到较早的版本。
    Spaces - 允许用户创造多个的“虚拟桌面”或“空间”,并允许用户在这些"桌面"切换,按照目的将各空间分类(如工作、娱乐,等等)。
    对64位应用程序的完整支持,包括图像处理软件。
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125172150717.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    
    #### 3.4.7 Mac OS X 10.6(Snow Leopard雪豹,2009.8.28)
    Mac OS X v10.6 Snow Leopard。该系统于2008年6月9日在WWDC上由苹果CEO 斯特弗·乔布斯宣布,该操作系统将于自宣布开始"大约一年"后推出。现已全球上市,升级版本分为个人版及家庭版,家庭版可供三部电脑使用。从Mac OS X Leopard升级为Snow Leopard,这是macOS一个简单,功能更强大完善的版本。它提供了大量的改进功能、新一代技术、开箱即可使用的Microsoft Exchange Server支持以及新辅助功能。
    
    该系统提供了多项面向开发者的改进,如编译器升级到GCC 4.2,并提供苹果公司自行开发的Clang编译器和LLVM中间码优化器。提供GCD优化系统的多核效率。以及提供OpenCL进行GPU通用计算。
    
    此版本起仅适用于Intel CPU的Mac,不再支持任何PowerPC CPU的Mac电脑。
    #### 3.4.8 Mac OS X 10.7(Lion狮,2011.7.20)
    苹果公司于2011年7月20日正式发表Mac OS X v10.7,此版本仅适用于Intel Core 2 Duo或更新款CPU的Mac电脑。它进一步去除了对Power PC的支持,移除了Rosetta。其显著的新特性有从iPad移植的一些功能如Launchpad、全屏应用程序、Mission Control等。现最新版本为10.7.5,支持MacBook Pro(Retina显示屏)。
    #### 3.4.9 Mac OS X 10.8(Mountain Lion山狮,2012.7.25)
    苹果公司于WWDC2012发布的新版美洲狮OS X,最新稳定版本12F45(OS X v10.8.5)。(Mountain Lion又译为山狮,目的避免与之前重复,发生混淆)。该版本包含诸多新功能,例如信息、提醒事项、备忘录、通知中心、分享页(Share Sheets)、Game Center、AirPlay镜像和Gatekeeper等,大部分源自iOS。苹果公司还重新设计了屏幕底部Dock的托盘,将原来的玻璃托盘及圆形运行指示灯改为金属托盘和方形指示灯。
    ![Mac OS X 10.5](https://img-blog.csdnimg.cn/20191125171544440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    #### 3.4.10 Mac OS X 10.9(Mavericks冲浪湾,2013.10.22)
    苹果公司于2013年10月22日正式发表OS X v10.9版本,是苹果公司开发的个人电脑和服务器操作系统OS X的第十个版本,免费提供。苹果于2013年6月10日公布了OS X Mavericks,当日起进行开发者测试。从这个版本起,苹果公司不再以大型猫科动物来为其操作系统命名,改为采用给予团队灵感的美国加州的景点名。“Mavericks”一名来自加州的一个冲浪胜地。该系统加入了iBooks电子书功能(DP5加入)和与iOS相同的地图程序,Finder加入了标签和标签页浏览模式。同时该系统提供Safari 7和iTunes 11.1,以及应用新技术降低 Ram(闪存)和 CPU (处理器) 的使用量以及降低用电,苹果宣称所有的旧产品都可以延长一个小时的续航。 Mavericks进一步提高了iCloud的集成能力。Mavericks相较Mountain Lion有一些细微的用户界面调整。2013年10月22日开始免费提供。支持OS X Lion的电脑都可由Mac OS X v10.6.8免费升级。
    #### 3.4.11 Mac OS X 10.10(Yosemite优胜美地国家公园,2014.10.16)
    OS X 10.10于WWDC 2014发表(6月2日),秋季10月16日随配备Retina 5K显示屏的iMac正式推出。7月25日开放给首100万名登记的用户下载测试,不再只限于缴交了99美元的开发者可以预先下载测试版。“Yosemite”一名来自加州的优胜美地国家公园。
    #### 3.3.12 Mac OS X 10.11(El Capitan酋长岩,2015.9.30)
    以 OS X Yosemite 为基础的新 OS X 系统,具备更强大的视窗管理功能、更出色的内置 app,以及更强大的 Spotlight 搜索功能。另外, OS X El Capitan 一大重点就是性能提升,主要是因为把 Metal 绘图技术集成在 OS X El Capitan 中,不仅提供全系统可见的性能提升,同时也能让游戏及专业 app 能更进一步发挥 Mac 绘图处理器的完整性能。
    #### 3.4.13 macOS 10.12 Sierra(Sierra内华达山脉,2016.9.20)
    macOS Sierra的新功能主要是集成了Siri与网页版Apple Pay,并采用Universal Clipboard与iOS等设备共享剪贴板,优化了iCloud Drive与本地磁盘文件管理,媒体画中画。同时,最为显著的更改是将使用多年的“OS X”名称变更为“macOS”。
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125175518315.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    
    #### 3.4.14 macOS 10.13(High Sierra内华达高脊山脉,2017.9.25)
    macOS High Sierra用上全新的苹果文件系统(APFS, Apple File System),同时优化了Safari、照片、邮件及其他设置。
    #### 3.4.15 macOS 10.14(Mojave莫哈维沙漠,2018.9.25)
    macOS Mojave针对用户体验有重大的变革,此次发表全新完整接口的暗色模式,并针对文件管理的功能强化,如文件堆栈功能加以整理桌面、强化Finder功能及增加“艺廊”(Gallery)查看模式、Quick Look快速查看的功能强化、屏幕截图功能强化并新增录影功能等。除文件管理强化之外,此次Mac带来了新的家庭、新闻、股市、语音备忘录等App、全新设计的Mac App Store、Continuity 多设备无缝链接、提升Mac安全性,Metal让Mac在运行3D游戏时更为顺畅、Create ML开发人员工具,而APFS亦在此版本macOS正式支持Fusion Drive。
    #### 3.4.16 macOS 10.15(Catalina圣卡塔利娜岛,2019.10.7)
    macOS Catalina是苹果公司用于麦金塔电脑的桌面操作系统 macOS 的第16个主要版本,于2019年6月3日在苹果全球开发者大会(WWDC)发布,并于2019年10月8日正式推出。Catalina 是第一个只支持64位应用程序的 macOS 版本,macOS停止对32位应用程序的支持,只能运行64位应用程序,而较旧的32位应用程序将不能再运行。Dashboard应用程序已在macOS Catalina中被移除。其他的一些新功能包括:
    
    1. Catalyst 是一个全新平台,允许软件同时针对 macOS 与 iPadOS 进行开发
    
    2. 专用系统卷,系统在其自己的只读卷中运行,并与Mac上的所有其他数据分开
    
    3. Gatekeeper,使用开发者ID签名的Mac应用程序、安装程序包和内核扩展,现在必须由Apple认证才能在macOS Catalina上运行
    
    4. 语音控制(Voice control)此新功能将允许用户使用语音命令控制设备。尽管macOS早已支持Siri,但“语音控制”将能让用户对设备进行更深层次的控制
    
    5. 随航(Sidecar),Sidecar是一项新功能,允许搭载iPadOS的iPad用作无线外接显示器。借助Apple Pencil,iPad还可以用作在电脑上运行的软件的数字绘图板 
    
    6. 游戏控制器,游戏控制器框架增加了对两款主流游戏机的游戏控制器的支持:PlayStation 4的DualShock 4和Xbox One的控制器
    
    7. 应用程序iTunes,iTunes软件淡出历史舞台,并拆分成“音乐”(Music)、“播客”(Podcasts)和“电视”(TV)三款应用程序,与iOS维持一致
    
    8. 查找(Find My),“查找我的Mac”(Find My Mac)和“查找我的朋友”(Find My Friends)合并为一个应用程序“查找”(Find My)
    
    9.  提醒事项
    附件现在可以加到提醒事项中,Siri亦可以智能地判断在何时提醒用户多个事件中的一件
    
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20191125171002627.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2VjaG9fd29uZGVyZnVsd29ybGQ=,size_16,color_FFFFFF,t_70)
    
    
    ## 结尾
    大多数想法都来自于以前的想法,Mac OS X 的发展历史也一样,其中各种各样的技术相互混合,相互促进,经过累计的经验和多年的奋斗,用户和开发人员社区的推动,Mac OS X最终展示出了一副和谐统一,可靠稳定的图景。Mac OS X 是许多种技术漫长演变的结果,期望Mac OS X 的下一代版本将变得更加完美,在第2章我们将深入了解Mac OS X 的特性和简要概述各个层。
    
    (第一次写博客,有很多不到位或错误的地方还希望大家多多指正,感谢)
    
    
    
    
    
    展开全文
  • MAC OS X 技术内幕 学习笔记之一 MAC OS的变迁 Mac OS可以被分成三个阶段:第一个阶段是一个是老旧且已不被支持的经典版Mac OSMac OS 8以前用“System x.x”来称呼(System 1.0~7.5);第二个阶段则是Mac OS阶段...
  • Mac 开发资源 2012-08-22 15:49:26
    Mac OS X开发系列电子书》[PDF, CHM] 新增Cocoa Pro ... http://www.macx.cn/a/a5544I611486.htm http://www.stanford.edu/class/cs193p/cgi-bin/drupal/ ...
  • Mac os x 系统的发展史 2019-06-30 18:34:27
    ·MacOS9:发布时间:1999年 于1999年发布的MacOS9操作系统(图片来自互联网)  在OSX之前,1999年发布的MacOS9看起来就是一个普通的桌面操作系统。并且现在已经被粉丝们亲切的称为“经典”MacOS。...
  • Mac开发的相关书籍 2009-10-13 15:49:00
    书名:Cocoa® Programming for Mac® OS X, Third Edition作者:Aaron Hillegass出版商:Addison Wesley Professional 出版日期:2008年5月文件格式:CHM随着苹果公司的复兴,越来越多的开发人员转向Mac OSX平台的...
  • 1Mac OS 9 一个普通的桌面操作系统  经过多个测试版本后,苹果终于正式公布OS X 10.10 Yosemite操作系统。...苹果Mac OS X系统十三年视觉变化发展史  早期OS X版本在苹果电脑内部以大型猫科动物...
  • 为什么80%的码农都做不了架构师?>>> ...
  •  iPad是由苹果公司于2010年开始发布的平板电脑系列,定位介于苹果的智能手机iPhone和笔记本电脑产品之间,(屏幕中有4个虚拟程序固定栏)与iPhone布局一样,提供浏览网站、收发电子邮件、观看电子书、播放音频或...
  • 注意:长期更新,有“【任❤️何】”MAC软件需求(包括游戏、插件、图形设计、开发、系统、办公、网络等等),留言或者私信或者加我微信,我会发给你破解版!哥们不谈钱,伤肝!全部免费发送! 常言: 工欲善其事,必...
  • 一、背景 虽然提高办公效率的核心是能力,但是辅助...https://xclient.info/s/alfred.html 可以搜本地安装的软件,本地的文件(夹)、浏览器的收藏夹、可以在alfred里搜索百度/谷歌/豆瓣图书等。 还支持...
  • 比较独特的是,Node.js会假设你是在POSIX环境下运行它 Linux 或 Mac OS X。如果你是在Windows下,那就需要安装MinGW以获得一个仿POSIX的环境。在Node中,Http是首要的。Node为创建http服务器 作了优化,所以你在网上...
  • 本人一年半来跟踪Mac志(http://www.isofts.org/category/software-for-mac-os-x/)、MacGG(http://www.macgg.com/archives/category/mac软件),潜心测试,用心总结出以下mac实用软件列表,尤其适合程序员……软件...
  • 一开始我是想单独安装mac os,然后再下载xcode安装,可惜Mac OS X Lion10.7可以顺利安装成功,但xcode 不能顺利下载.关于虚拟机安装 Mac OS X Lion可参考下面的网址:http://www.chinaz.com/web/2011
  • from http://www.vpsee.com/2009/06/why-programmers-love-mac/ Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,...1、Mac OS X 是基于 Unix 的。这...
  • 为什么 Mac 适合编程? 2019-06-16 13:02:35
    强劲的 GPU 和 CPU。...而 Mac 对此就无能为力了。对我来说,强大的 GPU 是非常重要的,所以我配了一台搭载 GTX980Ti 显卡、32 GB 内存、3440×1440分辨率的曲面屏、i7 WildDogPro 处理器的电脑。而价格跟 MB...
1 2 3 4 5 ... 20
收藏数 1,194
精华内容 477