您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页苹果操作系统调研报告

苹果操作系统调研报告

来源:二三四教育网

(我们是维基百科的搬运工)

1984年1月24日,苹果公司发布了其第一台麦金塔个人电脑 ---- Macintosh 128K 。与其一起发布的操作系统当时被简单的称为System Software(系统软件),与7.6版本之后更名为Mac OS[1]。麦金塔对普及图形用户界面起到了很大作用。Mac OS被预装在几乎所有的麦金塔电脑上。同时,该系统也在苹果零售店和线上零售店进行单独收买。原始的麦金塔系统软件是部分基于Lisa OS的,该系统是苹果在1983年随Lisa的发布一同发行的。

在谈论苹果的操作系统时,我们大多都在谈论他的桌面操作系统(Mac OS),很少提及其面向服务器的操作系统。很多网站在统计服务器操作系统时,将其归为了Linux/Unix类服务器操作系统,从而很难具体得知其在市场的具体使用情况。另外,正式版本的Mac OS Server在苹果推出Mac OS X v10.7(Lion/ 2011年7月)后就不在单独提供,而是和桌面操作系统合并为一个版本,统一发布。这点也可以看出,苹果公司并没有单独发展服务器操作系统的考虑。因此,这里我将详细分析苹果公司的桌面操作系统,对于服务器操作系统就能找到的资料做一些分析。

截止到2015年的11月,苹果最新版的操作系统(Mac OS X)市场占有率约为5.11%左右,这里并没有统计其他版本的Mac OS,如果算上,粗略估计苹果才做系统的市场占有率可能在6%左右。从图中能明显看到,桌面操作系统windows认识主流。

发展历史

Mac OS的历史版本可以被分成操作系统的三个系列:

Classic Mac OS

该系列一个是老旧且已不被支持的“Classic” Mac OS(系统搭载在1984年销售的首部Mac与其后代上,终极版本是Mac OS 9)。采用Mach作为内核,在Mac OS 7.6.1以前用“System vX.X”来称呼。
System vX.X
System 1到System 4全都是单任务操作系统,意味着用户只能同时运行一个应用程序。 System 1.0, 1.1, 以及 2.0使用了一种名叫MFS的平面文件系统,MFS对于子文件夹的支持并不完善。System 2.1(Finder 5.0)改用了真正支持文件夹系统的HFS文件系统,这被认为是一个重大的进步。 System 3.0 随 Mac Plus 发行,而 System 4.0 随 Mac SE 及 Macintosh II一同出现。

System Software 5(或是简称 System 5)是苹果公司的操作系统。其增加了MultiFinder 来实现多任务处理。System Software 5 只在部分国家在很短的时间内出售, 这些国家包括美国、加拿大和欧洲的一些国家。

System 6(亦称System Software 6)是一个使用Macintosh电脑的图形用户界面的操作系统。System 6于1988年4月首次发布。直至System 7于1991年发布之前,它是最受欢迎的Macintosh操作系统。当时盒装版本的售价是49美元。

System 7(代号“Big Bang”,亦称Mac OS 7)是一个使用Macintosh电脑的单用户图形用户界面的操作系统。System 7于1991年5月13日首次发布。它是System 6的后继版,直至Mac OS 8于1997年发布之前,是当时最受欢迎的Macintosh操作系统。System 7的7.6版本开始被苹果公司改名为Mac OS。
Mac OS 8 & Mac OS 9
Mac OS 8于1997年7月26日发布。

Mac OS 9是苹果电脑于2000年发布的操作系统,一共发布了7个版本,直到2002年秋天发布的Mac OS 9.2.2为止。

1998年,苹果总裁史蒂夫·乔布斯发布了直到Mac OS X(Carbon)的操作系统路线,并决定,每隔半年发布系统更新,直到Mac OS X出炉,而Mac OS 9系列则是这系统路线的最后一个Mac OS系列。

“classic”Mac OS的特点是完全没有命令行模式,它是一个100%的图形操作系统。预示它容易使用,它也被指责为几乎没有内存管理、协同式多任务(cooperative multitasking)和对扩展冲突敏感。“功能扩展”(Extensions)是扩充操作系统的程序模块,譬如:附加功能性(例如:网络)或为特殊设备提供支持。某些功能扩展倾会发生相冲,或只能按某个特定次序载入。解决Mac OS的功能扩展冲突可能是一个耗时的过程。“classic” Mac OS也引入了一种新形的文件系统,一个文件包括了两个不同的“分支”(forks)。它分别把参数存在“资源分支”(resource fork),而把原始数据存在“数据分支”(data fork)里,这在当时是非常创新的。但是,因为不能识别此系统,这让它与其它操作系统的沟通成为挑战。最早的Macintosh使用的文件系统为MFS,由于它属于平面式(flat)文件系统,它只提供单一层级的目录结构。MFS文件系统很快的在1985年被有B*树结构的HFS取代之。

OS X

简单来说,它是Mac OS“版本10”的分支,然而它与早期发行的Mac OS相比,在Mac OS的历史上是倾向独立发展的。

它以Mach内核为基础,加入UNIX的BSD实现,再集成到NeXTSTEP当中(NeXTSTEP为当时史蒂夫·乔布斯(Steve Jobs)于1985年被迫离开苹果后,到NeXT公司所发展的)。新的OS X结合BSD Unix、OpenStep和Mac OS 9的元素。它的最底层建基于Unix基础,其代码被称为Darwin,实行的是部分开放源代码。

同时,苹果电脑企图创造一个独家拥有的"新世代"操作系统,但只有少部分成功。最后NeXT的操作系统(在当时称作NeXTSTEP)被选为苹果下个操作系统的基础形式,然后苹果电脑将NeXT全部买下来,并重新聘雇乔布斯。

乔布斯重回苹果的领导层次结构后,带领着苹果公司把原本倾向便利程序员的OPENSTEP,转换到苹果电脑主要销售的家用市场,以及受到专业人士欢迎的Rhapsody系统上。经历过打击Mac OS独立开发者忠诚度的失算策略、Mac OS 9转换到新系统,减轻转变之后,Rhapsody演化为Mac OS X。

OS X Server

OS X Server是苹果公司一个UNIX的服务器操作工具。是运行于OS X之上的应用软件,包括用于服务器的额外功能,应用和系统管理工具,用于管理和部署服务器。 早期的Mac OS X Server是一套独立的操作系统,但从Lion起,它只作为一个工具包存在。 OS X Server预装于Mac mini Server和Mac Pro中。现在它也在Mac App Store中单独销售,可用于任何运行OS X Yosemite的Mac。

Mac OS X Server 1.0 (Rhapsody) 是第一个版本的Mac OS X Server。Mac OS X Server 1.0是基于Rhapsody5.3,混合予从NeXT Computer的OPENSTEP以及Mac OS 8.5.1。

Mac OS X Server 10.0 (Cheetah Server)发布于2001年5月21日。Mac OS X Server 10.0包含新的Aqua用户界面、Apache、PHP、MySQL、Tomcat、WebDAV支持、Macintosh Manager及NetBoot。

Mac OS X Server 10.1 (Puma Server)发布于2001年9月25日。

Mac OS X Server 10.2 (Jaguar Server)于发布日期2002年8月23日。有以下新功能:Mac OS X Server 10.2包括Open Directory user及文件管理,而这一版本是基于LDAP的,当开始放弃NeXT-originated的NetInfo架构,新的工作组管理器的配置界面显著改善。同时,该版本对NetBoot及NetInstall有重大更新。开始支持许多常见的网络服务如NTP, SNMP, web server (Apache), mail server (Postfix and Cyrus), LDAP (OpenLDAP), AFP以及print server. The inclusion of Samba version 3 allows tight integration with Windows clients and servers. MySQL v4.0.16及PHP v4.3.7也包括在内。

Mac OS X Server 10.3 (Panther Server)发布于2003年10月24日。有以下新功能:Mac OS X Server 10.3包括Open Directory user及文件管理,而这一版本是基于LDAP的。新的工作组管理器的配置界面显著改善。同时,该版本对NetBoot及NetInstall有重大更新。开始支持许多常见的网络服务如NTP, SNMP, web server (Apache), mail server (Postfix and Cyrus), LDAP (OpenLDAP), AFP以及print server. The inclusion of Samba version 3 allows tight integration with Windows clients and servers. MySQL v4.0.16及PHP v4.3.7也包括在内。

Mac OS X Server 10.4 (Tiger Server)发布于2005年4月29日。有以下新功能Mac OS X Server 10.4增加对64位的应用程序支持,访问及控制列表,Xgrid,link aggregation,电子邮箱中的垃圾邮件过滤(SpamAssassin),病毒检测(ClamAV), Gateway Setup Assistant,软件更新服务器,使用Jabber的iChat服务器以及weblogs。

在2006年8月10日,苹果公司宣布的第一个通用二进制发布的Mac OS X Server,是10.4.7,同时支持PowerPC及Intel的处理器。同时,苹果公司宣布推出新的Intel-based Mac Pro及Xserve系统。

Mac OS X Server 10.5 (Leopard Server)发布于2007年10月26日。有以下新功能:Podcast Producer是个完备的点对点方案,可编码、发布及播送高质量的podcast。Podcast Producer最适于用在员工训练、大学课程—或任何公司所需的影音podcast— 它简化一切流程,方便您录制内容、编码及发布podcast,以便于iTunes与iPod、iPhones与Apple TV上播放。
Wiki Server:Mac OS X Server可让组群成员通过他们自己利用wiki架设的Intranet网站,伴随着组群日历、博客与邮递名单等等,彼此沟通协调合作。只要按几下,用户便能创建并编辑wiki网页、标签,以及交互引用的内容,上传文件与照片,加入评注,且利用点击以搜索内容。

iCal Server是Mac OS X Server上第一个日历服务器。现在,在工作组、小型企业或大型公司里,无论共享日历、安排会议,或协调事件都很容易。以开放标准通讯协议建构的iCal Server,集成首要的日历应用程序。跟其它日历应用方案不同的是,iCal Server并不会根据用户数量收取授权费,因此当您的企业成长时,也不需支付更多额外的授权费用。

Mac OS X Server 10.6 (Snow Leopard Server)发布于2009年8月28日。有以下新功能:完全的64位操作系统。
支持ZFS读写。
iCal Server 2改进对CalDAV的支持,一个新的Web日历应用,发送电子邮件邀请非iCal用户。
Podcast Producer 2支持双源视频,GUI工作流程编辑器供选择影片,transitions,标题,水印及effects。
可使用CardDAV议定书在多台计算机分享Address Book Server。
OpenCL利用GPU进行高性能计算的应用程序。
提供发送Push Notifications到你的iPhone或Macbook上的Push Notification Server。
Address Server以新兴的CardDAV规格为基础,利用WebDAV来交换vCards,让用户能在多部电脑间共享个人和组群联系信息及远程访问联系信息,不受LDAP纲要限制亦无其安全性问题。
邮件服务采用Dovecot的POP和IMAP,而不是Cyrus。

OS X Server 1 (Lion)发布于2011年7月20日。

OS X Server 2 (Mountain Lion)发布于2012年7月25日。

OS X Server 3 (Mavericks)发布于2013年10月22日。

有以下新功能:
  • 针对OS X Mavericks和iOS 7的更新内容;
  • SMB2是文件共享的新默认通讯协议,提供更佳的性能、更强的安全性并改进了Windows的兼容性;
  • “缓存服务器2”能加速通过App Store、Mac App Store、iTunes Store、iTunes U、软件更新和“OS X恢复”印象档的软件发送;
  • “描述档管理程序”支持OS X Mavericks和iOS 7,并且能分配从“大量采购方案”购买机构授权App和书籍;
  • “Xcode服务器”能让Mac和iOS的开发团队更轻松地制作稳定可靠的软件,这都归功于连续集成、测试和存储库托管服务;
  • Time Machine服务器支持配额功能,能设置可使用的存储空间数量限制。

OS X 10.10 (Yosemite Server 4.0)发布于2014年10月16日。

技术特色

OS X

Mac OS X是与先前麦金塔操作系统彻底地分离开来,它的底层代码完全地与先前版本不同,这个新的核心名为Darwin,是一个开放源代码、符合POSIX标准的操作系统,伴随着标准的Unix命令行与其强大的应用工具。尽管最重要的架构改变是在表面之下,但是Aqua GUI是最突出和引人注目的特色。柔软边缘的使用,半透明颜色和细条纹(与第一台iMac的硬件相似)把更多的颜色和材质带入到桌面上的视窗和控件,比OS9所提供的"白金"外观更多,引发了用户间大量的争论。很多旧的麦金塔用户把这个界面描述得像是玩具一般,缺乏专业的优美,而其他的人则为苹果革命的新GUI创新为所欢呼。这种外观非常立即地可以辨认出来,即使在第一个Mac OS X版本推出之前,第三方的开发者开始针对可以换外表的程序像是Winamp制作类似Aqua界面的外表。苹果电脑以法律行动,威胁那些声称是由他们有版权的设计下,所制造或散布且提供这种界面软件的人。

Mac OS X包含了自家的软件开发程序,其重大的特色是名为Xcode的集成开发环境。Xcode是一个能与数种编译器沟通的界面,包括Apple的Swift、C、C++、Objective-C、以及Java。可以编译出目前OS X Yosemite所运行的两种硬件平台之可执行文件,也可以用除了Swift以外的几种语言编写用于旧系统的程序。还可以编译成PowerPC平台专用,x86平台专用,或是跨越两种平台的通用二进制。

纯粹由系统销售的数字来看,这种GUI和核心的组合现在变成最畅销的Unix环境。
特色
为了解决以前版本的诸多问题,OS X开始使用基于BSD Unix的内核,并带来Unix风格的内存管理和先占式多任务(pre-emptive multitasking)。大大改进内存管理,允许同时运行更多软件,而且实质上消除了一个程序崩溃导致其它程序崩溃的可能性。这也是首个包括“命令行”模式的OS,除非执行单独的“终端”(terminal)程序。但是,这些新特征需要更多的系统资源,按官方的说法早期的Mac OS X只能支持G3以上的新处理器(它在较旧的G3处理器上执行起来比较慢)。Mac OS X Tiger以前的OS X有一个兼容层负责执行老旧的Mac应用程序,名为Classic环境(也就是程序员所熟知的“蓝盒子”[the blue box])。它把老的Mac OS 9.x系统的完整拷贝作为Mac OS X里一个程序执行,但执行应用程序的兼容性只能保证程序在写得很好的情况里在当前的硬件下不会产生意外。

2005-2007年苹果开始策划将全线产品更新到intel处理器,抛弃PowerPC处理器,当时的新版Mac OS X Tiger和Mac OS X Leopard同时支持intel与PowerPC处理器。但其后的Mac OS X Snow Leopard仅能在intel Core 2或更新的intel处理器上运行,不再支持PowerPC G3,G4,G5处理器,只可用Rosetta来模拟早期Mac OS X的程序。OS X Lion及OS X Mountain Lion只支持2008年后配备intel Core i3以上处理器的Apple计算机,不支持任何PowerPC程序,开放Mac App Store。目前最新的版本Yosemite以及El Capitan则提供了平面化的视觉设计。

OS X较之以前的版本采用了一下一些技术:

  • QuickDraw:首个供应大众市场所见即所得的成像模型
  • Finder:浏览文件系统和执行应用程序的界面
  • MultiFinder:首个支持多任务软件执行的版本
  • Chooser:访问网络资源的工具(例如:开启AppleTalk)
  • ColorSync:确保颜色匹配的技术
  • Mac OS内存管理:在转到UNIX前管理Mac内存和虚拟内存的方式
  • PowerPC模拟执行Motorola 68000:Mac处理从CISC到RISC结构转变的方式(请看Mac 68K模拟器)
  • 桌面附件:在MultiFinder或System 7出现前,与其它软件协作运行的小“助手”软件。

OS X Server

Mac OS X Servers是基于Unix架构开发的服务器操作系统,和桌面版的Mac OS X基于同样的构架,但包含额外的功能和特性,具有多种系统管理工具。这些管理工具提供了简化的网络服务管理,使系统具有很好的稳定性和灵活性,采用开源的标准和协议,大大方便了将现有的UNIX应用程序的移植。Mac OS X Server操作系统主要应用于苹果公司的机架服务器Xserve上,还被预装在苹果Mac Mini和Mac Pro计算机上。此外,Mac OS X Server系统单独发售,可以用于满足其最低硬件要求的任何Macintosh计算机上。

目前最新的苹果Mac OS X Server系统是代号为“Yosemite Server 4.0”的10.10版,在2009年8月28日正式发布。而第一代的Mac OS X Server 1.0是在1999年3月16日发布。从1.0到10.6,Mac OS X Server经历了10年八个版本,功能越来越丰富,速度和性能也在不断的提升。
特色
苹果服务器在技术方面提供以下几项功能/服务:

文件与打印服务

  • Mac (AFP, AppleTalk PAP, IPP)
  • Windows (SMB/CIFS, IPP)
  • UNIX及Linux (NFS, LPR/LPD)
  • Internet (FTP, WebDAV)

目录服务与认证

  • Open Directory (OpenLDAP, Kerberos, SASL)
  • NT Domain Services (Samba 3)
  • Backup Domain Controller (BDC)
  • LDAP directory connector
  • Active Directory connector
  • BSD configuration files (/etc)
  • RADIUS

邮件服务

  • SMTP(Postfix)
  • POP及IMAP (Cyrus)
  • SSL/TLS encryption (OpenSSL)
  • Mailing lists (Mailman)
  • Webmail(SquirrelMail)
  • Junk mail filtering (SpamAssassin)
  • Virus detection (ClamAV)

日历功能

  • iCal Server (CalDAV, iTIP, iMIP)

网站建置

  • Apache web server (2.2及1.3)
  • SSL/TLS (OpenSSL)
  • WebDAV
  • Perl (5.8.8), PHP (5.2), Ruby (1.8.6), Rails (1.2.3)
  • MySQL 5
  • Capistrano, Mongrel

合作服务

  • Wiki Server(RSS)
  • iChat Server 2 (Jabber/XMPP)

应用程序服务器

  • Apache Tomcat(6)
  • Java virtual machine (J2SE)
  • WebObjects Deployment (5.4)
  • Apache Axis(SOAP)

媒体流播送

  • QuickTime Streaming Server 6
  • QuickTime Broadcaster 1.5

客户端管理

管理首选项

  • NetBoot
  • NetInstall

软件更新服务器

便携式个人专属目录

网络及VPN

  • DNS server (BIND 9)
  • DHCP server
  • NAT server
  • VPN server (L2TP/IPSec、PPTP)
  • Firewall(IPFW2)
  • NTP

分布式计算

  • Xgrid 2
    高可用性功能

自动撤消

文件系统日志

IP故障转移

软件RAID

磁盘空间监控

文件系统

  • HFS+ (journaled, case sensitive)
  • 只读: UFS及ZFS

管理功能

  • Server Assistant
  • Server Admin
  • Server Preferences
  • Server Status widget
  • Workgroup Manager
  • System Image Utility
  • Secure Shell(SSH2)
  • Server Monitor
  • RAID Utility
  • SNMPv3 (Net-SNMP

投入情况

Mac OS作为一个闭源的系统,其开发的投入在网上并没很官方的说法。因此,这里我只能从网上查到的一些说法出发,进行一个大概的分析。

这里有一篇论文,分析了重新开发linux kernel 2.6(2004年发布),大概的成本。

MM-nominal-semidetached = 3*(KSLOC)^1.12 =
  = 3* (4287.449)^1.12 = 35,090 MM

Effort-adjustment =  1.15 * 1.0 * 1.65 * 1.11 * 1.0 * 1.15 *
    1.0 * 0.86 * 1.0 * 0.86 * 1.0 * 0.95 * 0.91 * 1.0 * 1.0
    = 1.54869

MM-adjusted = 35,090 * 1.54869 = 54,343.6 Man-Months
            = 4,528.6 Man-years of effort to (re)develop

If average salary = $56,286/year, and overhead = 2.40, then:
Development cost = 56286*2.4*4528.6 = $611,757,037

以上是一个大概的估算,算上所有人力物力成本,大约在6千万美金左右。这只是估算重头开发2004的一个linux kernel的成本,可能并不一定能反映出在当下的现实意义。但是,也能从侧面来反映,操作系统的开发,越是从底层开始开发,则成本越昂贵。

网上有资料显示,苹果在2014年全年的对科研的投入高达71亿($7.1 billion,对比Mircosoft $12 billion,Google $ 10.1 billion)美元,可见科技行业对技术研究的投入力度之大。这其中有多少投入在Mac OS X的研发上,目前没有官方的说法。

我们来分析一下苹果目前的生态环境的软硬件结构。目前的产品,在研发基础设施方面基本做到了软件和硬件均由自己开发,这里除了PC机的CPU。其移动设备的CPU已经实现了自主研发,并且可以说已经做到了业界的top。而且将来随着战略的发展,为了摆脱主流芯片制造商Intel的制约,很可能会进一步自主研发其PC设备的CPU。从目前来看,苹果每年用于科研的投入都在逐年增加(从当年营收的3%提高到5%),这一趋势可能不会改变。但CPU的研发花费是巨大的,因此可以预见这些投入中可能会有很大一部分将用于硬件的研发。

所以,我们假设,这71亿中有1/3用于软件的研发,再假设其中有1/2用于操作系统的研发,则这个数字大概为10亿美元左右。再进一步保守估计,这10亿中又有1/2用于iOS等移动设备,那么我们假设的苹果每年用于PC操作系统的投入可能在5亿美金左右。由于苹果的服务器操作系统基本和PC操作系统合并为一个版本,因此其研发投入也考虑在内。

总结

纵观苹果操作系统的发展历史,这种基于Unix/linux内核,加自主开发图形界面的系统似乎是深度开发操作系统的一种较为合理的选择。但是,可以看到即使是基于开源的操作系统内核进行开发,如果要得到一套完成成熟的系统,仍需要经历漫长的开发,以及巨大的财务上的投入。

如果单纯的从研究角度来进行操作系统的开发,如果不解决人力和财力的问题,可能会很难进行。苹果公司做法,是通过打造一个闭源的生态环境,以其硬件产品的收入来反哺整个生态下软硬件的发展。因此,如果能从硬件到软件形成一个能带来商业利润的或者财力收入的环境,那么经历一定时间的锤炼,可能也有机会开发出新活的操作系统。

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务