如何把硬件的复杂性与用户隔离开来?
基本方法是在计算机裸机上加上一层又一层的软件来组成整个计算机系统 。
每当在计算机上复盖一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。
众所周知,裸机是极难使用的,即使提供了很强的指令系统,从功能上来说局限性很大。加上软件之后,就可以在硬件基础上,对其功能和性能进行扩充和完善。至于软件之间的关系,也采用同样办法,一些软件的运行以另外一些软件的存在并为其提供了一定的运行支撑作为基础,而新添加的这些软件是在原来那些软件基础上的扩充和完善。
例如,在裸机上加上一层虚拟存储管理软件,用户就可以在这样的空间中编程,要多大存储空间就可以使用多大存储空间,完全不必涉及物理存储空间的容量、地址转换、程序重定位等物理细节。虚拟存储器是现代操作系统对计算机系统中多级物理存储体系进行高度抽象的结果。
如果又加上一层 I/O设备管理软件,用户就可以使用 I/O命令来进行数据的输入和输出,完全不必涉及显示器、打印机、扫描仪、键盘和鼠标等的物理细节,就可以使用 I/O设备。
如果又加上一层文件管理软件,它将磁盘和其它 I/O设备抽象成一组命名的文件,用户通过各种文件操作,按文件名来存取信息,完全不必涉及诸如数据物理地址、磁盘记录命令、移动磁头臂,搜索物理块及设备驱动等物理细节,便于使用、效率又高。
如果又加上一层窗口管理软件,由该软件把一台物理屏幕改造成许许多多窗口,每个应用可以在各自的窗口中操作,用户可以在窗口环境中方便地与计算机交互。
每当在计算机上复盖一层软件,提供了一种抽象,系统的功能便增加一点,使用就更加方便一点,用户可用的运行环境就更加好一点。
由于操作系 统是紧靠硬件的第一层软件 (不排除它自身又是由许多层软件组成的 ),所以,当计算机上复盖了操作系统后,便为用户提供了一台功能显著增强,使用更加方便,效率明显提高的机器。可以认为操作系统是建立在计算机硬件平台上的虚拟计算机( Virtual
Machine)。