计算机的本质,是提供运算能力的机器。
人们编写各种各样的程序,在机器上运行,于是产生了各种各样的应用。
为了更方便的编写应用,让应用程序的开发门槛降低,我们迫切的需要一种中间层来隔离硬件,于是操作系统出现了。
有趣的是,几十年间,操作系统这个名词虽然存在,但其形式和概念已经发生了翻天覆地的变化。30年前,无法想象会出现现在的windows或是linux这样的操作系统。要知道,最初的所谓操作系统只不过是一个时钟调度(可以看作批处理)的简单程序而已。
这种变化来源于几个方面,一方面是计算能力的提高(内存越来越大,CPU越来越快),允许我们在计算机上赋予更多的内容,开发更复杂的应用,另一方面来源于硬件种类越来越多。
与其说是计算机需要操作系统,不如说应用程序需要操作系统。现代操作系统不是在一夜之间产生的,而是随着历史的发展,缓慢的形成的。简单说来,计算机的本质是应用,操作系统只是提供了应用的运行环境。
java芯片是一个非常有趣的东西,在这个芯片上,可以直接运行java的字节码,这种芯片不在需要一个强大的操作系统来管理硬件资源了。其本身就提供了java运行环境。(事实上,如果你的汇编足够强,那么就可以直接在任何芯片的计算机上直接编写应用程序--就像在单片机上作的那样--而不需要任何操作系统的支持,只不过,这比较麻烦而已。)
java的创举不是创造了虚拟机,事实上虚拟机的概念从smalltalk就存在了。java的创举是将虚拟机放到了不同的层次,在操作系统之上的层面,有jre环境,在操作系统之下的层面,有java芯片。对于不同的操作系统,有不同的jre。
未来的运行环境是什么呢?在大型机的年代,只有主机上上有真正操作系统,客户机只不过是登陆上去,使用主机的资源而已。技术历史不过是一个绕圈子的过程,一圈绕回来,上了一个台阶,但是本质在相当长的一段时间内,仍然是不变的。
有感而发,无意争论。
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=783584