在计算机的发展过程中出现过许多不同的操作系统,比如DOS、Mac OS、Windows、Linux、Free BSD、Unix/Xenix、OS/2等等,其中90年代的很多操作系统至令仍风头强劲。但是同时期苹果公司力捧的Copland却折戟沉沙,悄然泯灭。其背后究竟为何?本文一探究竟。

一、90年代的那些操作系统们

90年代左右的操作系统市场是极为热闹的。

彼时的OS/2 1.x是一个全新的,和传统操作系统有很大不同的操作系统,它只保留了对DOS系统的有限的向下兼容性。

OS/2 2.x和后续版本则使用了多个DOS虚拟机来处理DOS仿真难题,因为它们通过80386的虚拟86模式,运行在带有硬件辅助的DOS虚拟机的芯片上。

NeXTstep是个UNIX操作系统,它早于FreeBSD,但它们是基于同一“BSD Unix”代码库的。NeXTstep“仅仅”引进了一个新的显示层,这个显示层本身是基于已有的Adobe PostScript代码,这在当时还是相对新的面向对象的开发技术。它是个了不起的进步,因为它是建立在已有代码的基础上,并不需要考虑向下兼容性。

BeOS则是一个从新打造的全新操作系统,它完全不需要考虑和其他任何操作系统的向下或横向兼容性。

NT是基于OS/2 3.x开发的,这个计划中的兼容不同CPU的便携式操作系统版本,集成了DEC公司的VMS操作系统的许多设计思想,因为由于它的首席架构师Dave Cutler同时也是VMS的首席架构师。另外,NT操作系统的核心不兼容任何其他系统,这很难被理解。NT也没有一个Win32兼容的内核。并且NT操作系统与其他任何系统都不兼容(包括VMS),它就是一个新事物。但是NT支持个性化,就像在内核之上运行了一个仿真层。当NT交付时,它包括了3种版本:OS/2版,POSIX版和Win32版——OS/2版现在已被废弃了; POSIX版已经发展成Linux子系统;Win32版仍然存在,只不过现在支持64位。

关键是,以上这些操作系统都不是任何其它操作系统的增强版本,也没有受限于对已有的驱动、扩展、应用程序或其他任何方面的兼容性。

当然的苹果公司想要走得更远,因此试图开发另外一个新的操作系统(Copland)来替换它那基于68000处理器的单用户单任务操作系统(后来变成了协作式多任务,也不是很好,68000处理器不像68030或者68040那样有存储器硬件保护机制)。

新的苹果操作系统将引入这些新特性:抢占式多任务、虚拟内存、存储器保护、基于标准的网络集成,等等。所有这些改变都将支持已有的应用程序,没有计划去重新设计或重写这些应该已有的应用程序。

不支持已有应用程序,就等于新操作系统没有市场,也意味着失败。

二、苹果的Copland最终失败了

与任何其他公司相比,苹果走的是一条更难的有争议性的路,没有什么经验可以借鉴,甚至当时连支持虚拟机的基础硬件都没有。

很遗憾这个操作系统(Copland)失败了。其实苹果公司已接近成功,它确实做出了一个可工作的原型。

苹果的Copland

人们常说,不是苹果公司接管NeXT公司,也不是苹果收购了NeXT公司。从很多重要方面来看,是NeXT公司接管了苹果公司。大多数苹果操作系统的开发人员和项目经理都离开了,NeXT公司的开发团队取而代之。

NeXT管理层抛弃了Copland,基本上除了QuickTime之外的大多数苹果自有的技术,如OpenDoc、OpenTransport、GameSprockets,都被抛弃。这是非常勇敢、彻底的行动。苹果已有的MacOS经典的API被采用了,这些API并不是一开始就计划和设计好的,在经过了近15年的演化,并且去除了那些不适合在一个整洁的、现代化的、具备内存管理能力的多任务操作系统上工作的所有部分,由此简化而来的清洁版API被命名为“Carbon”。这些API提供给开发人员使用,如果他们希望他们的应用程序在新的苹果操作系统上能运行,那就必须使用这些API。

或者,他们可以使用已有的、更干净的、和更丰富的NeXT API,现在它被命名为“Cocoa”。

NeXT开发团队没有真正尝试与经典MacOS系统兼容。相反,他们只是计划在虚拟机中运行所有经典的MacOS。在新的操作系统发布后,计算机的硬件性能将足够支持在基于Unix的NeXTstep系统(现在被重新命名为“MacOS X”)之上的窗口中运行一个完整的经典MacOS环境。如果你想让你的应用程序运行在虚拟机之外,你必须在”Carbon”上重建你的应用程序。基于”Carbon”的应用程序既可以运行在经典Mac OS的后续版本上,也可以运行在OS X的后期版本上。

这与NT所做的类似:它在基于NT的“个性化”中提供了一个Win32 API的安全子集,也给基于Win16的应用提供了DOS虚拟机。

这是一次勇敢的行动,令人印象深刻的是它工作得很好。这是为了拯救苹果公司和苹果操作系统平台的孤注一掷,当人被逼到墙角别无选择时,更容易做出重大的、勇敢的决定……尤其是那些让你陷入绝境的错误是别人造成的。

一大批老的Apple开发人员都厌恶地离开了,多年来他们所有的时间都放在Apple子系统和API的开发上,结果却被丢进了垃圾堆。一些第三方开发人员也不太高兴,但是至少现在有一个很好的前进方向。

三、苹果公司还有其他选择

事后看来,很明显苹果公司确实有其他选择。它有一个好的、相对现代的操作系统,以它为基础是可以向前推进的,这就是A/UX,它是苹果公司开发的基于680x0的Unix系统,基本上是作为满足美国军事采购的一个备选方案业余项目完成的。A/UX给人印象深刻的是它的推出时间——它在1988年推出,比Windows 3.0还早。它可以同时运行Unix应用程序和经典的MacOS应用程序,并在Unix上提供了一个友好的界面,而在80年代末和90年代初,Unix的界面非常丑陋。

然而A/UX从没有被移植到新的PowerPC苹果电脑上。

从另一方面来看,对NeXT公司的收购让史蒂夫·乔布斯回到了苹果。而NeXTstep操作系统也有着世界一流的开发工具,但是A/UX操作系统没有,而吉尔·阿梅里奥时代苹果公司的另一个外部可选项BeOS操作系统也不具备这一优势。

年轻的乔布斯

没有乔布斯,就没有下一代开发工具,也没有今天的苹果。

原文:https://liam-on-linux.livejournal.com/60604.html#/60604.html

作者:Liam Proven

译者:苏本如,责编:郭芮

推荐阅读:

  • 锤子变天?| 畅言

  • 面试 AI 岗,期望 40K,为什么老板给我翻倍?

  • 王者荣耀女性机器人面世;深圳中院受理金立破产案;Firefox 64 发布 | 极客头条

  • 数读|DApp现状揭底: 80%活不过一周; 大量游戏营收不到0.5 ETH; EOS已成"博彩链"

  • 我地铁都在努力改 Bug,为什么还要裁掉我?

  • 程序员加班很严重吗?看看国外程序员怎么怼老板!

  • 程序员为啥365天都背电脑包?这答案我服!

  • “男医生,女护士?”消除偏见,Google有大招

点击“阅读原文”,打开 APP 阅读更顺畅 

被苹果“先捧后杀”的操作系统相关推荐

  1. android会超过苹果,任正非:超过苹果和安卓的华为操作系统,不会超过三百年...

    原标题:任正非:超过苹果和安卓的华为操作系统,不会超过三百年 据报道称: 中国经济周刊-经济网讯 2020年4月22日上午,任正非在深圳华为总部接受<龙>杂志总编辑贾正的专访. 贾正称,他 ...

  2. 来自法国的山寨苹果系统——梨子系统PearOS,精美仿苹果风格的免费Linux操作系统(颇有iOS和OSX的神...

    我们都知道苹果 OS X 和 iOS 操作系统的设计都非常讨好人,但基本上只能购买 MacBook 或 iPhone.iPad 等设备才能体验它们.不过,今天被我发现了一款可以在PC上安装的精美仿苹果 ...

  3. 探秘苹果、微软、谷歌操作系统视觉设计,原来…

    如果现在你打开电脑,屏幕中黑底白字闪烁着光标,你大概率会认为,电脑宕了...这其实是最初的计算机界面,并由此开启了一个新技术改变世界的时代.从字符到二维平面,再到3D图形,计算机技术发展的同时,也带来 ...

  4. 苹果 iOS 8 新固件新功能特性总结汇总 (苹果 iPhone/iPad 最新移动操作系统)

    苹果在 WWDC 2014 大会上正式发布了其最新的 OS X Yosemite 桌面系统以及 iOS 8 移动操作系统,虽然 iOS 8 依然延续了 iOS7 的扁平化设计风格,但在功能上却还是给我 ...

  5. 操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统)

    ylbtech-操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统) iOS是由苹果公司开发的移动操作系统.苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计 ...

  6. 回顾苹果操作系统Mac OS的发展历史

    回顾苹果操作系统Mac OS的发展历史 时间:2011-07-15 10:49 来源:expreview 作者:expreview 在新的MacBook AIR和Mac OS X Lion即将发布之际 ...

  7. ios(苹果公司的移动操作系统)

    iOS是由苹果公司开发的移动操作系统. 苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的, 后来陆续套用到iPod touch.iPad以及Appl ...

  8. 华为鸿蒙在操作系统中占什么位置

    2019.08.09,华为在其全球开发者大会上,正式向全球发布了全新的自有系统 HarmonyOS 鸿蒙--基于微内核的面向全场景的分布式操作系统.余承东在现场表示, HarmonyOS 鸿蒙拥有分布 ...

  9. 国内操作系统OS分析(下)

    国内操作系统OS分析(下) 3.2 Android/iOS移动互联网时代 Android是一种基于Linux的自由及开放源代码的操作系统.主要使用于移动设备,如智能手机和平板电脑,由Google公司和 ...

最新文章

  1. m-orchastration system
  2. 几款高频环形磁芯的性能对比
  3. Linux 系统下显示文件内容(查看文件内容)的命令 more/less/cat/head/tail 比较
  4. 加密服务器显示到期,注册加密卡成功了,打开软件还是提示演示到期了,怎么解决?...
  5. 用深度学习解决Bongard问题
  6. 思科isis路由的优先级_华为 路由双点双向引入
  7. 西门子uss通讯实例_西门子plc1200系列的功能特点有哪些?
  8. [SAP ABAP开发技术总结]OLE
  9. Kava Labs已上线Trust Wallet专用桥接器以提供DeFi产品服务
  10. win10电脑桌面透明便签_Windows xp电脑便签在哪里找?XP系统怎么建桌面便签
  11. ConceptDraw Office Pro v8.0.2 Keygen
  12. MSF之IIS6WebDAV执行漏洞复现
  13. 谈谈服务器虚拟化解决方案
  14. 学计算机的能看出批图吗,P过的图片能看出来吗?给你4个鉴别方法!
  15. Android日历操作
  16. 二叉树 | 二叉树的镜像(翻转)
  17. mysql 分段执行_mySql 分段查询
  18. Java程序员未来的三大就业方向
  19. 银行外包996,骑驴找马要跳槽
  20. 关于几个图像质量评价参数的计算总结

热门文章

  1. 记录——《C Primer Plus (第五版)》第十章编程练习第四题
  2. redis 值字符串前面部分乱码_Spring-RedisTemplate写入数据乱码问题的复现与解决
  3. 史上最全JavaScript数组去重的十种方法(推荐)
  4. android titlebar 高度是多少,什么是TitleBar的默认高度和Android中Titlebar中的默认TextSize?...
  5. C语言的argv小案例
  6. 用VBA统计涂色单元格的信息
  7. 苹果:两个 M1 Max 拼一块儿,“史上最强 PC 芯片”M1 Ultra 就出来了!
  8. 256 变 4096:分库分表扩容如何实现平滑数据迁移?
  9. 没有弃用 Sun 拥抱 HP/Linux,亚马逊或已倒闭!
  10. 基于选项模式实现.NET Core的配置热更新