计算机是由一堆硬件所组成的,为了更有效地控制这些硬件资源,于是乎就有操作系统的产生了。操作系统除了有效地控制这些硬件资源的分配,并提供计算机运行所需要的功能(如网络功能)之外,为了要提供程序员更容易开发软件的环境,所以操作系统也会提供一整组系统调用接口来给软件程序员开发用。
知道为什么要讲这些了吗?因为Linux就是一套操作系统。Linux就是内核与系统调用接口那两层。至于应用程序算不算Linux呢?当然不算啦!这点要特别注意。
由上图中我们可以看到其实内核与硬件的关系非常紧密。早期的Linux是针对386来开发的,由于Linux只是一套操作系统并不含有其他的应用程序,因此很多工程师在下载了Linux内核并且实际安装之后,就只能看着计算机开始运行了!接下来这些高级工程师为了自己的需求,再在Linux上面安装他们所需要的软件。
Torvalds先生在写出Linux的时候,其实该核心内核仅能『"驱动386所有的硬件』"而已,即所谓的『"让386计算机开始运行,并且等待用户指令输入』"而已,事实上,当时能够在Linux上面跑的软件还很少呢!
由于不同的硬件的功能函数并不相同,例如IBM的Power CPU与Intel的x86架构就是不一样!所以同一套操作系统是无法在不同的硬件平台上面运行。举例来说,如果你想要让x86上面跑的那套操作系统也能够在Power CPU上运行时,就得要将该操作系统进行修改才行。如果能够参考硬件的功能函数并修改你的操作系统程序代码,那经过改版后的操作系统就能够在另一个硬件平台上面运行了。这个操作我们通常就称为"软件移植"了!
请问Windows操作系统能否在苹果公司的麦金塔计算机(MAC)上面安装与运行?
答:由上面的说明中,我们知道硬件是由内核来控制的,而每种操作系统都有它自己的内核。2006年以前的苹果计算机公司是请IBM公司帮忙开发硬件(所谓的Power CPU),而苹果计算机公司则在该硬件架构上开发自家的操作系统(就是俗称的麦金塔,MAC是也)。Windows则是开发在x86架构上的操作系统之一,因此Windows是没有办法安装到MAC计算机硬件上面的。
不过,在2006年以后,苹果计算机专门请Intel设计其硬件架构,也即其硬件架构已经转为x86系统,因此在2006年以后的苹果计算机若使用x86架构时,其硬件则"可能"可以安装Windows操作系统了。不过,你可能需要自己想些方式来处理该硬件的兼容性。
Windows操作系统本来就是针对个人计算机x86架构的硬件去设计的,所以它当然只能在x86的个人计算机上面运作,在不同的平台当然就无法运行了。也就是说,每种操作系统都是在它专门的机器上面运行的喔!。这点得要先了解。不过,Linux由于是Open Source(开放源代码)的操作系统,所以它的程序代码可以被修改成适合在各种机器上面运行的,也就是说,Linux是具有『"可移植性』",这可是很重要的一个功能喔!
Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,所以相当稳定并且功能强大。此外,由于这个优良的架构可以在目前的个人计算机(x86系统)上面跑,所以很多的软件开发者渐渐将他们的工作心血移转到这个架构上面,所以Linux操作系统也有很多的应用软件。
虽然Linux仅是其内核与内核提供的工具,不过由于内核、内核工具与这些软件开发者提供的软件的整合,使得Linux成为一个更完整的、功能强大的操作系统。稍微了解了Linux是何物之后,接下来,我们要谈一谈为什么说Linux是很稳定的操作系统,以及它是如何来的