macOS版本历史

维基百科,自由的百科全书
(重定向自Mac OS X历史
跳转到导航 跳转到搜索

macOS/ˌmækʔoʊˈɛs/;2011年及之前称 Mac OS X,2012年至2015年称 OS X)是苹果公司推出的基于图形用户界面操作系统,为麦金塔(Macintosh,简称 Mac)系列电脑的主操作系统。StatCounter在2018年8月的数据表示,在桌面操作系统中,macOS的使用份额为12.65%,次于Windows的82.51%位居第二。

macOS 是 1999 年发行的 Classic Mac OS 最终版本 Mac OS 9 的后继者。1999 年发布 macOS Server 的首个版本 Mac OS X Server 1.0,桌面版 Mac OS X 10.0“Cheetah”于 2001 年 3 月 24 日发布。2012 年苹果将 Mac OS X 更名为 OS X,第一个使用此命名的系统为“OS X Mountain Lion”。以前版本的 macOS 以大型猫科动物命名,例如 Mac OS X v10.8 被称为“Mountain Lion”,但随着 2013 年 6 月 OS X Mavericks 的公布,命名开始采用加州地标。2016 年 6 月,苹果公司宣布 OS X 更名为macOS,以便与苹果其他操作系统 iOSwatchOStvOS 保持统一的命名风格。 在Apple宣布启动Mac从Intel迁移至AppleSilicon后,首个支持Apple Silicon的macOS Big Sur于2020 年 6 月 23 日发布,目前最新的版本为macOS Sequoia,于2024年6月10日在WWDC 2024上公布。

NeXT时代[编辑]

1985年,乔布斯在被苹果赶出管理层后,离开了这家公司,凭借着Ross Perot和自己的资源,试图作出“下一个重大突破”。最终,他创立了NeXT电脑公司。作为首款配备数字信号处理器(DSP)和高容量光盘驱动器的工作站,NeXT硬件在其时代处于技术前沿,但相对于快速商品化的工作站市场而言,其价格却显得太过昂贵。NeXT硬件终于在1993年被逐步淘汰,然而,这家公司开发的面向对象的操作系统NeXTSTEP却影响深远,成为了Mac OS X的基础。

NeXTSTEP基于Mach核心和BSD。Mach核心由卡内基梅隆大学开发,而BSD则是一种可以追溯到1970年代的Unix实现。它拥有一个基于Objective-C、且面向对象的编程框架。这套环境今天在Mac世界中被称为Cocoa。它还支持创新的Enterprise Objects Framework数据库访问层和WebObjects应用服务器开发环境,还具备其他一些重要功能。

在此期间,NeXT几乎放弃了操作系统的想法,设法维持了一项销售WebObjects和咨询服务的业务,结果仅仅是在作为独立公司的最后几个季度中,获得了一些微薄的利润。NeXTSTEP则是演变成了OpenStep,该系统将面向对象的层与底层操作系统分离,使其在其他平台上以较少的修改就能运行。OPENSTEP曾在短时间内被Sun和HP采用。

然而,到那时,许多其他公司——尤其是苹果、IBM微软,甚至Sun自己——都声称他们很快将发布类似的面向对象的操作系统和开发工具。其中一些尝试,例如Taligent,并没有完全成功;而其他一些,如Java,则获得了广泛的采用。

1997年2月4日,苹果公司以4.27亿美元收购了NeXT,并将OPENSTEP作为Mac OS X的基础。macOS中仍然可以看到NeXT软件的痕迹。例如,在Cocoa开发环境中,Objective-C库类名都有“NS”前缀,macOS中的“defaults”命令的使用手册有一历史部分,明确指出该命令“首次出现在NeXTStep中”。

NeXT被引入苹果[编辑]

同时,苹果公司也面临着商业上的困境。经典Mac OS已有十年历史,而其单一用户、协作式多任务(co-operative multitasking)的架构已经成为了该系统发展的桎梏,它曾经先进的用户界面也越来越过时了。苹果于1994年启动了一项名为Copland的计划,试图取代该系统,但在公司之外,人们普遍认为由于苹果内部的政治倾轧和互相冲突的目标,这个计划已经无望实现。到1996年,Copland项目距离发布仍然遥遥无期,最终该项目被取消。Copland中的一些元素则被融入到了1997年7月26日发布的Mac OS 8当中去。

苹果公司本来想要购买BeOS,这是一种支持多媒体和多任务的操作系统,而且该系统专为与苹果类似的硬件设计。不过,公司最终打算购买NeXT,并将OPENSTEP作为新操作系统的基础。Avie Tevenian接管了系统的开发,而史蒂夫·乔布斯则被聘为顾问。最初,苹果计划开发一个几乎完全基于新版OPENSTEP的新操作系统,并增加一个名为蓝盒(Blue Box)的虚拟机子系统,以运行“经典”Mac应用程序。这个计划的成果的代号是Rhapsody,原定于1998年底发布。

苹果本来以为,开发者在知道了OPENSTEP库的强大与灵活之后,就会把自己的软件移植到这一功能更为强大的平台上。然而,包括Adobe在内的数家巨头开发商告诉苹果,他们并不会将自己的软件移植过去,而宁愿离开这个平台。这种拒绝在很大程度上是由于苹果之前一系列未兑现的承诺所导致的;在看到一个又一个“下一代操作系统”消失,以及苹果的市场份额不断缩水后,开发者们对在该平台上投入太多工作毫无兴趣,更不用说重写了。

在乔布斯的领导下改变方向[编辑]

苹果在财政上连连亏损,董事会终于对CEO吉尔·阿梅利奥失去耐心,要求他辞职。董事会让乔布斯临时领导公司,实际上是全权委任他,以便扭亏为盈。在全球开发者大会上,乔布斯表示开发者真正想要的是一个现代化的Mac OS,并承诺苹果将会推出这一版本,博得了满堂喝彩。

在接下来的两年中,苹果开展了大量工作,将原有的Macintosh API移植到名为Carbon的Unix库中。Mac OS程序不需彻底重写,就可以移植到Carbon上,这样它们就可以在新系统上像原生程序一样运行。与此同时,使用旧工具包编写的应用程序将通过“经典”Mac OS 9环境获得支持。另外,还增加了对CC++Objective-CJavaPython的支持,进一步提升了开发者对新平台的适应性。

在这段时间,在操作系统的底层(Mach内核及其上的BSD层)被重新打包,并根据苹果公开源代码许可证发布。这底层被称为Darwin。Darwin内核提供了一个稳定且灵活的操作系统,利用了来自苹果之外的程序员和独立开源项目的贡献;然而,在Macintosh社区之外,它的应用并不多。

这一时期,Java编程语言的受欢迎程度有所提升,因此苹果开始着手提升Mac对Java的支持。这包括将一种高性能的Java虚拟机移植到该平台,并将Mac OS X特有的 “Cocoa” API暴露给Java语言。

该操作系统的首次发布是Mac OS X Server 1.0,它采用略经修改的Mac OS图形用户界面。不过从 Mac OS X Developer Preview 3 开始,所有客户端版本都采用了一种名叫Aqua的新主题。Aqua 与 Mac OS 9 界面有了显著的不同,后者从原始Macintosh操作系统问世以来变化甚少。Aqua拥有全彩可缩放图形、文本和图形的抗锯齿处理、模拟阴影和高光、透明度和阴影效果以及动画等特性。新增的应用程序启动器”程序坞”(Dock),则是充分利用了这些功能。

尽管如此,Mac OS X仍保持了与传统Mac OS界面以及苹果公司自身的Apple Human Interface Guidelines的高度一致性,包括屏幕顶部的下拉菜单、熟悉的键盘快捷键以及对单按钮鼠标的支持。Aqua的开发因从OPENSTEP的Display PostScript引擎切换到苹果内部开发的、无许可限制的Quartz引擎而有所延迟。

发行[编辑]

苹果于1999年1月推出 Mac OS X Server 1.0,Mac OS X 的公开测试版于2000年发布,且于2001年3月24日看到完整和官方推出的 Mac OS X 版本 10.0。10.1版大概于2001年9月25日出货,接着是于2002年8月24日 Mac OS X 10.2 ("Jaguar") 的推出,于2003年10月24日推出Mac OS X 10.3 ("Panther"),于2005年4月29日推出Mac OS X 10.4 ("Tiger"),于2007年10月26日发行推出Mac OS X v10.5 ("Leopard")。Mac OS X 10.6 "Snow Leopard"于2009年9月份发行,2011年7月20日推出 Mac OS X 10.7 "Lion"。

历代版本[编辑]

时间线[编辑]

<timeline> DateFormat=mm/dd/yyyy Period = from:01/01/1984 till:09/01/2021 Define $now = 07/01/2020 Define $skip = at:end # Force a blank line Define $dayunknown = 15 # what day to use if it's actually not known ImageSize= width:1200 height:auto barincrement:30 TimeAxis = orientation:horizontal PlotArea = right:13 left:13 bottom:60 top:5 Legend = orientation:vertical position:bottom columns:4

Colors =

    id:bg         value:white
    id:macfinder2    value:rgb(1,0.8,0.8)
    id:macfinder     value:rgb(1,0.7,0.8) legend:Finder
    id:macos2    value:rgb(0.8,0.9,1)
    id:macos     value:rgb(0.7,0.8,1) legend:Classic_Mac_OS
    id:osx2    value:rgb(0.9,1,0.8)
    id:osx   value:rgb(0.8,1,0.7) legend:Mac_OS_X/macOS
    id:macworks    value:rgb(0.8,0.8,1)
    id:macworks2     value:rgb(0.8,0.7,1) legend:Lisa/MacWorks
    id:aux2    value:rgb(1,0.9,0.8)
    id:aux     value:rgb(1,0.8,0.7) legend:A/UX
    id:lightline  value:rgb(0.9,0.9,0.9)
    id:lighttext  value:rgb(0.5,0.5,0.5)
    id:server    value:rgb(0.8,0.8,0.9)
    id:current    value:rgb(0.91,0.91,0.91)
    id:current2   value:rgb(0.97,0.97,0.97) legend:Representative_Macintosh_models

BackgroundColors = canvas:bg ScaleMajor = gridcolor:lighttext unit:year increment:1 start:01/01/1985

BarData =

 barset:finder
 barset:osx
 barset:classic
 barset:nix
 barset:reference

PlotData=

 width:15 textcolor:black
 barset:finder
   shift:(5,-5) anchor:from fontsize:s
   color:macfinder from:01/$dayunknown/1984 till:04/$dayunknown/1985text:"Finder"
 barset:break
   color:macfinder2 from:04/$dayunknown/1985 till:10/$dayunknown/1985 text:"4.x"
 barset:break
   color:macfinder from:10/$dayunknown/1985 till:10/$dayunknown/1987 text:"5.x"
 barset:break
   color:macfinder2 from:10/$dayunknown/1987 till:05/$dayunknown/1991 text:"6.x"
 barset:break
   color:macfinder from:05/$dayunknown/1991 till:01/$dayunknown/1997 text:"7.x"
 barset:break
   color:macfinder2 from:01/$dayunknown/1997 till:10/$dayunknown/1999 text:"8.x"
 barset:break
   color:macfinder from:10/$dayunknown/1999 till:03/$dayunknown/2001 text:"9.x"
 barset:break
   color:macfinder2 from:03/$dayunknown/2001 till:end text:"10.x"
 barset:classic
   shift:(5,-5) anchor:from fontsize:s
   color:macos from:01/24/1984 till:04/$dayunknown/1985text:"1"
 barset:break
   color:macos2 from:04/$dayunknown/1985 till:01/15/1986 text:"2"
 barset:break
   color:macos from:01/16/1986 till:01/$dayunknown/1987 text:"3"
 barset:break
   color:macos2 from:01/$dayunknown/1987 till:10/$dayunknown/1987 text:"4"
 barset:break
   color:macos from:10/$dayunknown/1987 till:04/$dayunknown/1988 text:"5"
 barset:break
   color:macos2 from:04/$dayunknown/1988 till:05/13/1991 text:"6"
 barset:break
   color:macos from:05/13/1991 till:08/$dayunknown/1992 text:"7"
 barset:break
   color:macos2 from:08/$dayunknown/1992 till:09/$dayunknown/1994 text:"7.1"
 barset:break
   color:macos from:09/$dayunknown/1994 till:01/07/1997 text:"7.5"
 barset:break
   color:macos2 from:01/07/1997 till:07/26/1997 text:"7.6"
 barset:break
   color:macos from:07/26/1997 till:01/19/1998 text:"8"
 barset:break
   color:macos2 from:01/19/1998 till:10/17/1998 text:"8.1"
 barset:break
   color:macos from:10/17/1998 till:05/10/1999 text:"8.5"
 barset:break
   color:macos2 from:05/10/1999 till:10/23/1999 text:"8.6"
 barset:break
   color:macos from:10/23/1999 till:01/08/2001 text:"9"
 barset:break
   color:macos2 from:01/09/2001 till:06/17/2001 text:"9.1"
 barset:break
   color:macos from:06/18/2001 till:05/06/2002 text:"9.2"
 barset:osx
   shift:(5,-5) anchor:from fontsize:s
   color:macworks from:01/$dayunknown/1984 till:04/$dayunknown/1985 text:"Lisa/MW"
 barset:break
   color:macworks2 from:04/$dayunknown/1985 till:01/$dayunknown/1986
 barset:break
   color:macworks from:01/$dayunknown/1986 till:08/$dayunknown/1988 text:"Sun R."
 barset:break
   color:macworks2 from:08/$dayunknown/1988 till:06/$dayunknown/1990 text:"Plus"
 barset:break
   color:macworks from:06/$dayunknown/1990 till:01/$dayunknown/1996 text:"Plus II"
 barset:break
   color:osx from:03/16/1999 till:09/13/2000 text:"X S. 1.0"
 barset:break
   color:osx2 from:09/13/2000 till:03/24/2001 text:"β"
 barset:break
   color:osx from:03/24/2001 till:09/25/2001 text:"10"
 barset:break
   color:osx2 from:09/25/2001  till:08/24/2002 text:"10.1"
 barset:break
   color:osx from:08/24/2002 till:10/24/2003 text:"10.2"
 barset:break
   color:osx2 from:10/24/2003 till:04/29/2005 text:"10.3"
 barset:break
   color:osx from:04/29/2005 till:10/26/2007 text:"10.4"
 barset:break
   color:osx2 from:10/26/2007 till:08/29/2009 text:"10.5"
 barset:break
   color:osx from:08/29/2009 till:07/20/2011 text:"10.6"
 barset:break
   color:osx2 from:07/20/2011 till:07/25/2012 text:"10.7"
 barset:break
   color:osx from:07/25/2012 till:10/22/2013 text:"10.8"
barset:break
   color:osx2 from:10/22/2013 till:10/16/2014 text:"10.9"
barset:break
   color:osx from:10/16/2014 till:09/30/2015 text:"10.10"
barset:break
   color:osx2 from:09/30/2015 till:09/20/2016 text:"10.11"
barset:break
   color:osx from:09/20/2016 till:09/25/2017 text:"10.12"
barset:break
   color:osx2 from:09/25/2017 till:09/24/2018 text:"10.13"
barset:break
   color:osx from:09/24/2018 till:10/07/2019 text:"10.14"
barset:break
   color:osx2 from:10/07/2019 till:11/13/2020 text:"10.15"
barset:break
   color:osx from:11/13/2020 till:end text:"11"
 barset:nix
   shift:(5,-5) anchor:from fontsize:s
   color:aux from:02/$dayunknown/1988 till:06/$dayunknown/1990 text:"A/UX 1"
 barset:break
   color:aux2 from:06/$dayunknown/1990 till:04/16/1992 text:"2"
 barset:break
   color:aux from:04/16/1992  till:01/01/1995 text:"3"
 barset:reference
   color:current from:start  till:01/15/1986 text:"Macintosh"
 barset:break
   color:current2 from:01/16/1986 till:03/01/1987 text:"Plus"
 barset:break
   color:current from:03/01/1987 till:01/18/1989 text:"Mac II"
 barset:break
   color:current2 from:01/19/1989 till:01/19/1990 text:"SE/30"
 barset:break
   color:current from:01/20/1990 till:10/20/1991 text:"Portable"
 barset:break
   color:current2 from:10/21/1991 till:03/13/1994 text:"Quadra"
 barset:break
   color:current from:03/14/1994 till:08/14/1998 text:"Power Macintosh"
 barset:break
   color:current2 from:08/15/1998 till:08/31/1999 text:"iMac"
 barset:break
   color:current from:09/01/1999 till:06/23/2003 text:"G4"
 barset:break
   color:current2 from:06/24/2003 till:01/09/2006 text:"G5"
 barset:break
   color:current from:01/10/2006 till:01/29/2008 text:"Intel"
 barset:break
   color:current2 from:01/29/2008 till:06/11/2012 text:"MacBook Air"
 barset:break
   color:current from:06/11/2012 till:12/14/2017 text:"Retina MacBook Pro"
 barset:break
   color:current2 from:12/14/2017 till:10/$dayunknown/2020 text:"iMac Pro"
 barset:break
   color:current from:10/$dayunknown/2020 till:end text:"ARM"

</timeline>

参见[编辑]

外部链接[编辑]