计算机学科是一个有源可寻的学科不像是其他学科那样,是通过不断的实践与创新总结出来的经验学科(暂时可以这样理解为经验学科)从Alan图灵开始计算机科学开始产生到冯诺依曼体系延续至今,不断的推陈出新。计算机系统资源我们可以大概的分为两大部分:计算机硬件和计算机软件。而我们将要说到的操作系统是属于一种特殊的软件。简单的讲我们将可以看得到的计算机配件称为硬件,将看不到摸不到的东西称为软件,通俗意义上讲这个也是一个最简单的判断软硬件的方法吧!
下面我们来看看计算机硬件有哪些:
处理器控制计算机的操作实现数据处理功能,计算机完成主要的操作就是要靠处理器的控制和处理。传统意义上的计算机只有一个处理器,也就是我们所说的CPU
存储器通常指用于存储程序和数据的内存,也叫作主存,计算机主存的大小是衡量计算机存储性能的一个主要指标。
计算机硬件是所有计算机软件运行的物质基础,光有硬件的计算机系统用户用起来实在是不方便,就如刚刚开始发展起来的时候用一条纸带打孔。但是要想计算机软件能充分的发挥自己的作用,就得要一个良好的计算机硬件资源的基础。所以一个简单的概念就是,计算机硬件和软件相辅相成、缺一不可。
应用程序用户,也就是终端的用户,几乎是接触不到计算机硬件的部分。所以不必关系硬件实现的细节。但是从另一个角度上来说计算机硬件开发商来说只要开发出来一套满足用户需求的硬件计算机就可以,但从另一个方面来看似乎他们是要关心这个硬件机器上要运行哪一种软件或者是运行哪一种操作系统。在实践中我们看到应用软件可以运行到不同的操作系统上,从这个方面来看,我们是不是就可以简单的理解这个操作系统的概念,也就是说操作系统就是一个处于应用软件和计算机硬件之间的那个层次,其上层是系统软件工具软件和应用程序,操作系统对他们具有支配权力,又为它们提供了支撑。下层是计算机硬件,操作系统又对下层的计算机硬件直接的实现的控制与管理如中断系统,缓冲管理等
其实从另一个角度上理解,可以简单将操作系统看成从计算机硬件上的第一层的扩充,也可以这样理解,即最开始控制那个机器工作的那些纸带就可以简单的看成现在意义上的操作系统与应用软件的结合体。这里不难理解,计算机操作系统就是为用户提供了了一个接口,这个接口就将管理硬件与使用硬件分开。所以就有这个一个概念,就是说良好的用户接口是衡量操作系统好坏的一个重要的标准。
DOS系统曾经算是风靡一时的它是通过给用户提供一系列的接口命令来管理硬件的过程。这个之所以风靡一时的原因我想也是显然易见的人们再也不用纸带了。所以在DOS系统问世以后很受人们的欢迎,当然了在这期间用户与硬件的交互也不是没有别的方法,只是在这里举了一个很极端的例子这样有助于大家的理解。之后又出现了我们的一直沿用至今的Windows操作系统当然这其中也有很多的其他的操作系统比如说Linux Unix 等等。大量的事实表明,操作系统在计算机系统层次中起到的是一个承上启下的作用。
操作系统有两个重要的特点,
高效资源管理
方便用户使用
所以操作系统中许多的设计上的思想大概的意思是说“没有最好,只有更好”,从一个简单的角度上讲,我们可以类似的将图灵机做个简单的类比,我们知道图灵机从简单意义上讲就是一个可以按照某种规则执行某种操作的的机器,但是这个规则有了谁去执行啊,,,当然是那个机器了。所以这样子就可以顺理成章了,从这个角度上看我们是不是可以将操作系统理解为驱动这个机器执行的那个规则,我们的操作系统就是通过控制硬件来完成用户的操作的。我们怎样才能让这个机器变成高效执行的一个机器,,,这是一个问题??所以我们的操作系统有一个设计目标就是高效性。我们要让CPU更加高效的执行,这样才能完成用户的高效的操作要求,当然了我们在完成这个目标的同时不能将操作系统设计的太复杂了。从另一个角度上讲可以看出,复杂是创造不出来高效的产品的,因此这里有了另一个目标就是操作系统一定要方便,这个是站在用户的角度上对我们的操作系统提出的要求。计算机的产生就是为了解决问题的,从根本上就是来为用户服务的,所以,我们的开发应该可以是可以扩展的,我们不知道用户在某个时间有什么其他的要求要是没有扩展的空间的话,很难再满足用户要求。计算机大众化是一个大的潮流,在一定的程度上了我们可以增加操作系统的开放性要支持不同的平台的服务适应各方面的发展趋势。总结一下我们对于操作系统有以下四点要求
高效性
方便性
可扩展性
开放性