我所理解的计算机(三) 之 PC与大小提琴二重奏

       一台UNIX主机仍然是非常贵的,并且用户之间是虚拟隔离的,程序员这样的完全的自由主义者不会满足于此的,每个人都梦想着能真正的拥有自己独享的计算机。个人计算机是人们追求自由自我的光荣与梦想在计算机上的体现。这个梦想必然会导致计算机制造成本和使用门槛的降低,这个降低达到的程度是当时习惯了昂贵的服务器主机的人难以想象的。好些人都跳出来针对此作出预言,其中包括盖茨(怎么会用到比640K更大的内存呢),然后这些预言一个个成为业内著名的笑话。
      个人计算机之所以完全不同于UNIX的发展路线,是因为杰出的Intel和微软的光芒几乎掩盖了所有的竞争者。刚开始有个人计算机的时候也是群雄逐鹿,五花八门的什么产品都有。但是只有他们把握住了不断降低使用门槛这个PC市场的命门,从而在PC的大发展中获益最多,并不断的推波助澜,形成了竞争对手眼里臭名昭著的Wintel联盟。没有跟上降低拥有和使用成本的狂奔步伐的都不行了,王安电脑倒闭了,Apple接近破产了。那我就以它们为主线说PC的发展。
      PC机就是服务器主机在功能性能各个方面的缩减版,能够支持这个缩减,降低成本,而又有必不可少的功能必须要有低成本的CPU、控制芯片。在服务器设计上要很费劲做的东西,比如稳定性、可扩展性等都被PC芯片忽略了,一个PC机芯片就可以集成很多功能。等降到富有的个人能够买的起了,PC机市场就形成了。早期PC机可还是有钱人的象征啊,现在人们都把PC机放机房,那时候都是放客厅,跟古董瓷器放一起。
      Intel最早的PC机用CPU芯片是4044,8088,然后是80286,80386,80486,80586,P2,P3,P4。总线字长由8位、16位到32位。Intel的最成功之处就是以强悍的实力不断的以指数速度提高CPU的主频,真不知道它什么时候才能停下来歇一歇(也许快了)。不过总体来说PC芯片比同时期的服务器芯片都要差一些,比如直到386才有了保护模式,像超流水、指令乱序执行这些技术也都落后服务器芯片一段时间。PC控制芯片集成的功能也越来越多,不断有服务器和工作站的技术被移植到PC机上,极大的增加了PC的能力,尤其是在处理多媒体方面。显而易见现在多媒体能力成了吸引普通用户一个大卖点。
       这里不得不提到,以围绕着PC芯片的PCB(电路板)加工技术为起点,台湾的高新技术工业成为了计算机工业中不可缺少的一环,看看板卡有多少台湾产的就知道了。而且像威盛已经蜗牛爬上了墙,在产业链的上游成为了芯片的制造者。对比一下内陆就知道健康的市场环境比大笔的政府扶持经费要更有意义了。
       微软公司最初是做Basic编译器起家的,公司里肯定养着大量Basic程序员,所以可以理解Basic语言为什么在微软的操作系统里占着这么重要的地位。任何小看人类追求个性的强烈欲望的人都会受到惩罚,IBM肯定还在后悔在DOS项目上支持了微软,而微软在此基础上发展出了MSDOS,从而进入了操作系统市场。DOS是完全的单用户单任务操作系统,而且有很多用惯了UNIX的程序员不可理喻的限制,就像8.3的文件命名方式。但是就在80286那样的破芯片上,能提供这样的功能也不简单了。
       在386时代,微软走出了一着好棋,发布了Windows3.0操作系统,它引入了原创于Apple的图形用户界面。从UNIX的角度来看Windows3.0仍然是非常幼稚的,它使用非抢先式多任务调度,要依靠进程们自己遵守时间片规则。如你后来所知,它走上的是一条成功的道路。这在于它完全抛弃了UNIX的传统,从根本上把提高用户的易用性提高到比系统效率和稳定更高的地位上。图形用户界面在Apple那里没有像微软一样成功,有商业因素,但是这个原则是决定性的。所以在技术上Windows为了提高图形用户界面的响应时间和绘图效率,把窗口资源和设备资源集成到操作系统进程内,产生了Windows的重量级进程,Windows进程使用比UNIX庞大的多的进程内核。到现在Windows的程序更多的依赖于多线程执行来提供并行执行能力,而不是像UNIX里广泛的应用多进程。在Windows里被普遍使用的消息循环模式形成了一种在Windows平台上标准式的交互式程序基本结构。
        Windows95到98系列让微软取得了更大的成功,它的超级易用性捆住了大批的非专业使用者,它们没有发现更容易使用的操作系统。而且在技术上,Windows也终于添加了一些高级点的操作系统特性,比如有了抢先式多进程调度。但是在UNIX里使用非常普遍的管道、消息、共享内存等进程间通讯手段,对于Windows来说太简陋了。与别人的兼容性是微软最后关心的事,它发明了一种只在Windows上使用的进程间进行数据共享或者说通信的方式OLE(Object Linking and Embedding),有了它之后你才能对把图标表示的文件在窗口之间拖来拖去这样的事习以为常,如果再给OLE表示的数据封装一些可执行的代码,就有了后来的AcitiveX。这项技术的好处是简化了窗口程序之间通信的编程,而且迎合了组件编程的流行趋势。
       自有了Windows2000,微软已经不满足于霸占PC机操作系统市场,开始大踏步进军服务器市场。虽然应该尽量避免评论,因为我知道的实在有限。但是我还是要说Windows操作系统的先天不足导致在服务端的稳定性和效率表现不佳,不过易用性仍然是它的巨大优势。服务器端对技术必须精益求精,微软的工程师在AcitiveX的技术积累的基础上提出了COM(Component Object Model),成为了Windows平台上可执行组件的一个二进制标准。它是与开发语言无关的标准,同时照顾到了使用各种语言的程序员,但就是不照顾其他的操作系统了,谁让咱垄断呢。微软对这个技术押了很大的宝,让新生的Windows操作系统都建筑在COM组件的基础上,希望能提高OS的稳定性和效率。从这几年微软还很红火的事实看,COM还是取得了成功。
       还有一点与UNIX不同,Windows以窗口做标准用户环境,所以Windows的shell脚本编程能力非常差,据我不完全观察没几个人在用。为了弥补,Windows程序员都习惯使用从Basic发展而来的VBscript,谁让他们大多原来都用Basic呢。照顾Basic程序员的事还不只这个,Office系列中的可编程环境使用VBA(Visual Basic for Application),为了让Basic程序快速开发界面应用程序和程序组件,微软又推出了Visual Basic。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值