大家好,我是小风哥。
计算机是非常复杂的系统,涉及CPU、内存、编译器(编程语言)、操作系统等等,那么有没有可能一个人同时搞定整个计算机系统呢?
答案是肯定的,而且是早在1976年就搞定了,从头到尾一人搞定整个计算机系统,包括硬件以及软件,这台计算机系统长这样:
打造这台计算机的就是图片中右边这个家伙,天才工程师Steve Wozniak(以下简称沃兹):
1975年3月5日,在加利福尼亚门洛帕克市Gordon French(一位美国的计算机程序员)的车库里家酿计算机俱乐部(homebrew computer club)举行了它的第一次聚会,首次参加这个聚会的沃兹深受启发,并开始立刻着手设计自己的计算机系统(立刻行动的重要性)。在没有Github以及Google的年代里,沃兹单枪匹马就搞定了整个计算机系统并将其在俱乐部里展示了出来,甚至还帮助俱乐部中其它成员打造出了自己的计算机系统(开源精神就是这么来的?)。有了天才的工程师然后天才的产品经理乔布斯出现了,乔布斯决定售卖沃兹制作的电路板,为了资助他们创建的小公司,乔布斯卖掉了他的车,沃兹卖掉了自己的HP-65计算器,很快新公司开张并接到订单要求他们制作完整的计算机系统,这就是Apple I。(这大概就是苹果售卖完整计算机设备基因的起源,你会发现苹果公司出售的都是软硬件完整的计算机系统,它既不会单独售卖硬件也不会单独售卖软件)
沃兹在设计最初使用的是摩托罗拉6800处理器(好吧,CPU不是自己设计的),搭载了4K内存(内存也不是),软件方面则是沃兹自己实现的BASIC解释器,好吧,实际上apple I中并没有操作系统,有的只是一个所谓的machine language monitor,这在1970s到1980s年代的计算机上非常流行:
machine language monitor类似于现在的shell,可以让用户输入命令并查看或者修改内存中的内容,沃兹实现的monitor有三个功能:可以让你以16进制来编程、检查一段代码的内容或者在特定地址运行一段程序,该monitor程序运行在一段256字节大小的内存空间中,你可以把monitor看做那个年代的操作系统。1976年7月,apple I开始以666.66美元的价格开始售卖,因为沃兹喜欢重复的数字(666的鼻祖),这款计算机设备售卖一年后让位给了apple II,apple II让苹果公司家喻户晓(美国):
又过了几十年后划时代的iPhone发布,苹果享誉全球并成为世界上市值最高的企业。可以看到,即使是在1970年代计算机发展初期,Woz也没有自己动手设计CPU以及内存,而是采用现成的处理器与内存,你需要知道的仅仅是如何对该处理器进行编程,然而即使是这其中看似简单的一项可能就会花费你几周的时间,而搞定一个处理器尤其是可以商用的处理器绝非玩具处理器可比,如果你自己实现的简单处理器是这样一座桥的话:
你可以说这都是桥,但这基本上就是两个不同的物种,商用处理器中的设计、实现、测试、调优、debug等等任何一项拿出了绝不是一个人能搞定的,其它的像内存、硬盘、SSD等等皆是如此,完成这些后等着你的还有操作系统,同样,商用操作系统与教学或者玩具操作系统也是云泥之别。因此现代计算机系统打造更像是搭建积木,将现成的软件和硬件调试好后组装起来,即使对于富可敌国的苹果来说也是近两年才搞定桌面端处理器,在此之前依然要依靠intel。好啦,本文就到这里,本周太忙技术文没肝出来,下周一定。如果你喜欢小风哥的写作风格并且对操作系统感兴趣那么小风哥自己写的书《深入理解操作系统》绝不能错过。最后,我建了微信技术群,扫描下方二维码备注写“加群”二字即可,一起见证我们的成长。