开篇声明:
1、写作动机和热情来自两方面:一是自乔帮主回归后,苹果公司经历了从濒临破产到全球市值第一的华丽转身,其产品风靡全球。我本人当了4年的苹果用户,3年的weiphoner,在坛子上看到每天都有大量新人加入Mac/iOS大家庭,但是长期处于Win统治之下的普通电脑用户,对Win之外的世界乃至个人电脑的历史背景并不了解,有意无意地带着有色眼镜来看苹果和其他非Win平台、产品。坛子上经常有许多针对苹果和微软的极端言论,还为了一些仅仅是见仁见智的问题吵起来,我觉得有必要让大家更多地了解苹果及其产品,并消除一些广为流传的误解和偏见,让论坛少些纷争和小白问题,也让用着苹果产品的各位更开心更放心,不至于像某些人产生Mac“华丽的袍子下面却满是虱子”的怀疑。二是我这两天偶然看到《程序员》杂志官网登载的Mac OS X背后的故事系列文章,原作者王越,美国宾夕法尼亚大学计算机系研究生,中国著名TeX开发者,非著名OpenFOAM开发者。阅毕,我被其深深吸引了,Mac OS X的背后有着太多有趣而鲜为人知的故事,不仅仅关乎Mac本身,还牵扯到乔帮主、Linus等一众IT界领袖,足可以在IT发展史上留下浓墨重彩的N笔。“Mac OS X背后的故事”系列尽可能想做到通俗易懂,但还是有许多技术层面的东西难以为一般用户所理解,在这个论坛上估计也没有多少人愿意看技术性太强的文章。我所做的是借鉴“Mac OS X背后的故事”的写作思路和一些故事,把Mac OS X前世今生中(我自己认为,同时也认为大家会觉得)最有趣最具代表性的东西展现给大家,对技术性太强的部分尽我所能进一步简化(“尽我所能”一方面是指有些内容必须有一定的知识背景,不可能做傻瓜式讲解,这部分我可能会少讲甚至忽略;另一方面,有些地方我自己都不能理解,更谈不上给大家科普了),并附上尽可能多的补充文字、图片、视频(其实原文也有不少补充阅读的材料,有些已经“404 Not Found”了。我会尽力找其他的来源替代。有些资料是全英文,估计大家看了头大,如果我觉得有趣,我会择其要点用中文讲解。有些视频,包括许多乔帮主的珍贵视频,必须突破GFW,抱歉了,有空我会考虑下载后转到youku)等来帮助大家了解Mac OS X的发展史、趣闻轶事、苹果文化、各路人马。
2、《程序员》杂志登载的“Mac OS X背后的故事”系列文章我强烈推荐大家阅读,专业性太强的部分可以跳过。其大致框架如下:从20世纪90年代后期苹果公司的困境开始叙述乔帮主回归和Mac OS X的研发背景(第一篇),接下来讲述Mac OS X的内核(第二、三篇)、GUI(第六、七篇)和开发工具链(第五、八篇),中间穿插了戈尔(和小布什竞选总统失败的那位)与苹果公司的一段趣闻,堪称营销学的经典案例(第四篇)。最后三篇(第九篇的上中下)围绕Mac OS X从32位到64位的转换讲了每个发行版本的简史,顺带讲了Mac OS X的图形开发引擎OpenCL。
3、我的写作思路。写作内容上,Mac OS X采用了Unix内核,由于Unix内核是纯文字界面(不像Windows内核已经整合了许多图形界面的东西),苹果自己在其上开发了Aqua图形用户界面(GUI)的模式,所以我也将分内核和GUI来讲,文中有引用“Mac OS X背后的故事”或其他参考资料的地方我会标明,但绝不会有大段抄袭和雷同,另外我的时间线拉得比较长,会拉回到20世纪70-80年代,也就是Unix和GUI诞生的年代。开发工具链比较技术性,我会少讲,主要是介绍Interface Builder,到时候我会提供一个乔帮主在1993年亲自演示Interface Builder的珍贵视频,值得大家fq去看的。发行版本史也是要讲的,但不会只围绕32位到64位系统,会更全面,更贴近大家的日常使用。写作形式上,我会尽可能提供比“Mac OS X背后的故事”更多的各种资料,特别是图片视频等直观展示性资料,技术性的东西尽量少且简化,多讲有趣和大家日常使用中能感受到的东西。另外,我不会按时间顺序,不会按操作系统结构组成来写,因为本文不是技术帖,也不是教你用Mac OS X的教程帖,而是由一个个小故事,小专题组成的轶事轶闻集,在尊重事实的基础上,我会加进一些演义、想象的成分(比如YY一下当事人的想法)。
4、本人非理工科,专业和计算机基本无关,尽管编程成为我的兴趣爱好已近20年,但和专业学计算机的比我几乎是个小白。有不确定的地方我会查阅相关资料,绝不信口开河,但作为小白,文字中的专业错误在所难免,大家随时可以拍砖。
5、不做Win黑,也不做NC果粉。我在之前的一篇开箱帖中曾经说过,Win和Mac都是优秀先进的操作系统,难分伯仲,这个坛子上的大多数人是说不出Win和Mac有什么好坏的,无非是习惯、不习惯而已。这文章是Mac的主场,肯定要说Win的坏话,也有些时候仅仅是调侃(今天的第一部分中就有),而几乎不会说Mac的坏话。如果有人觉得我这样不客观,我只有认了。作为对Win和Win粉的一点安慰,整个系列的写作都将用我的小黑T420+正版Win7专业版+正版Office2010专业版完成。
6、本系列文章内容遵从CC版权协议, 在注明出处(Weiphone论坛 bbs.feng.com)和作者(weiphone id:fantacyleo)的前提下,可以随意转载。
最后一条:希望大家多多鼓励、支持、批评、拍砖,让我更有动力完成这个系列。并祝大家的苹果之旅愉快。
下面进入正题,今天带来的是:
第一章:Mac OS X内核故事之“N国语言”
这个系列文章里几乎不会讲Mac的坏话,但也不等于不讲Mac的坏话。这第一章我就来讲讲Mac的“坏话”——Mac OS X内核崩溃,俗称死机,别名“N国语言”(N是正整数)。为什么用N而不是一个确定的数字?答案是这个N实际上在不断变化,确切来说是不断增长。
内核是啥玩意儿?说白了内核也是一个程序、一个软件,是操作系统最核心最基础的部分,专门负责硬件资源管理和调度,以保障其他程序和软件的正常运行。大到你在暗黑3里厮杀,小到你按下键盘上的一个按键并在屏幕上显示出来,全都离不开内核的帮助。CPU、显卡、内存、硬盘、键盘、打印机等硬件本身都是些死东西,他们都会做好也只会做好份内的事情,比如你在键盘上按下字母“A”,键盘可以记录下“A”键被按,但它所能做的也仅限于此了,它可不会自动帮你在屏幕上打出“A”,要想在屏幕上打出“A”,就必须由内核来帮你牵线搭桥,接收键盘传来的信号并给屏幕发送指令。
内核也是程序,也是软件,也是人造的东西,所以它不可能不出问题,bug和用户的错误操作都可能让内核挂掉,当然,内核对自身的错误是有纠正机制的,不过这也不保险,严重的错误会突破内核的承受极限,于是内核崩溃了。内核的工作是如此基础而重要,一旦崩溃那是非常麻烦而棘手的。不过,内核临死前会给我们留下一些有用的线索,一是会把系统运行的情况记录在特殊的文件中,二是会在屏幕上留下一些可见的信息,就好像是内核的遗言,这也正是我要讲的。
目前,个人电脑上的操作系统内核主要有两大类:Windows内核和Unix/Linux内核(这两大阵营的恩恩怨怨可以写一大本书了。2002年有人拍了部纪录片:操作系统的革命,http://www.tudou.com/programs/view/Nbz3C92uFuQ/ 大家有兴趣可以去看看,我以后的文章里也会用到这部电影里的一些素材)。不同内核的遗言是不同的。Mac OS X的内核中包含了一个Unix的分支叫Free BSD,所以,Mac OS X早期版本的内核崩溃遗言就是Unix内核的崩溃遗言:
Mac OS X 10.0-10.1内核崩溃遗言:
再来两张有趣的Linux内核崩溃图:
看完上面几张内核崩溃图,除了那两个吐舌头的死人和死牛有点意思外,其他的大段英文和数字估计大伙都是一头雾水。没错,这些内核崩溃遗言都是给专业技术人员看的,帮助他们排查故障,但对普通用户来说无异于天书、火星文。早期的Mac OS X还不稳定,内核崩溃是家常便饭,时不时就跳出一段火星文。对普通用户来说,给他们一大段火星文和简单告诉他们电脑死机了没有任何区别,火星文或许还有副作用:会吓到普通用户。于是,一向注重用户体验的乔帮主不能忍了,他怒吼:苹果电脑就算是死机的用户体验也要做得比其他系统更好。帮主发话,下头的人哪敢敢怠慢,马上在10.2版本中拿出了一个用户体验更好的死机画面:
这个画面用英法德日四种语言告诉你需要按住电源数秒强行关机,这就是大家熟知的“四国语言”死机,也是“N国语言”的开始。这个“四国语言”提示真是与众不同,只告诉你有问题要重启,连系统崩溃了都不告诉你;当然,Unix内核崩溃的详细信息也还是保留的,只不过是记录在了专门的文件中,而不是打印在屏幕上给普通用户看。“四国语言”伴随大家走过了10.2、10.3、10.4、10.5,到了10.6雪豹系统,N增加到5,新增西班牙语,俗称“五国语言”:
我之前用pro玩那个GeekTool时遇到过几次,可惜当时没有截图留念。。。如今,论坛上还是经常看大家称呼“四国”、“五国”,其实,在10.8 Mountain Lion中,N已经增加到了6,新增的语言就是在10.8和iOS6中打了翻身仗的咱们的母语——中文:
不知道装了10.8的各位有没有遇到“六国语言”的?欢迎在下面跟贴出。当然,Mac OS X现在已经很稳定了,大家看到“N国语言”的机会非常非常渺茫,绝对比看到Win蓝屏的几率小。
好了,Mac OS的坏话先说到这里,既然提到Win的蓝屏,本文的最后就来调侃一下Win的死机画面吧:
win95/98的蓝屏,没有输出大量的错误信息,基本上只有一个错误代码和出错的内存地址。我认为这个蓝屏画面最经典的地方就是教会了大家按那三个键。
win2000蓝屏,内容增加了:
win xp/vista/7蓝屏,好多,越来越多:
可爱的win 8蓝屏,世界又清净了:
再来爆两个和Win系统蓝屏有关的糗事:
win 98发布会上,当着盖茨的面,98蓝屏鸟:
http://www.tudou.com/programs/view/_tw8KCE27pY/
Surface平板电脑在发布会上不堪演示者的乱点乱戳,当场死机:
http://v.youku.com/v_show/id_XNDE3MDc0MjA4.html
————————第一章到此完结——————————
下集预告:系统崩溃是任何操作系统都不可避免的事情,既然如此,Unix究竟有何种魅力,能够赢得无比挑剔的乔帮主的青睐,成为Mac OS X的基石呢?敬请期待第二章:Mac OS X内核故事之为什么是Unix。