一个完整的计算机系统包含硬件系统和软件系统两大部分。
硬件通常是指一切看得见摸得到的设备实体;
软件通常是泛指各类程序和文件,它们实际上是由一些算法以及其在计算机中的表示所构成的。
一、硬件与软件的关系
硬件是计算机系统的物质基础,软件是计算机系统的灵魂。
硬件和软件是相辅相成的,不可分割的整体。
当前计算机的硬件和软件正朝着互相渗透,互相融合的方向发展,在计算机系统中没有一条明确的硬件与软件的分界线。硬件和软件之间的界面是浮动的,对于程序设计人员来说,硬件和软件在逻辑上是等价的。
固件是指那些存储在能永久保存信息的器件(如ROM)中的程序,是具有软件功能的硬件。
固件的性能指标介于硬件与软件之间,吸收了软、硬件各自的优点,其执行速度快于软件,灵活性优于硬件,是软、硬件结合的产物。
二、系列机和软件兼容
所谓系列机,是指一个厂家生产的,具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。
系列机从程序设计者的角度看具有相同的机器属性,即相同的系统结构。
这里的相同是指在指令系统数据格式字符编码中断系统、控制方式和输人输出操作方式等多个方面保持统一,从而保证了软件的兼容。
系列机的软件兼容分为向上兼容、向下兼容、向前兼容和向后兼容4种。
向上(下)兼容指的是按菜首次机器编制的程序,不加修改就能运行在比它更高(低)档的机器上
向前(后)兼容是指按某个时期投人市场的某种型号机器编制的程序,不加修饰就可以运行到在它之前(后)的机器上。
对于系列机的软件向下和向前兼容可以不做要求,但必须保证向后兼容,力争向上兼容。
三、计算机系统的多层次结构
现代计算机系统是一个硬件和软件组成的综合体,可以把它看作按功能划分的多级层次结构。
第零级 硬联逻辑级
第一级 微程序级
第二级 传统机器级
第三级 操作系统级
第四级 汇编语言级
第五级 高级语言级
第六级 应用语言级
第零级是硬联逻辑级。这是计算机的内核,由门、触发器等逻辑电路组成。
第一级是微程序机器级。这级的机器语言是微指令集,用微指令编写的微程序一般是直接由硬件执行的。
第二级是传统机器级。这级的机器语言是该机的指令集,用机器指令编写的程序可以由微程序进行解释。
第三级是操作系统机器级。从操作系统的基本功能来看,一方面它要直接管理传统机器中的软硬件资源,另一方面它又是传统机器的延伸。
第四级是汇编语言机器级。这级的机器语言是汇编语言,完成汇编语言翻译的程序称为汇编程序。
第五级是高级语言机器级。这级的机器语言就是各种高级语言,通常用编译程序来完成高级语言翻译的工作。
第六级是应用语言机器级。这一级是为了使计算机满足某种用途而专门设计的,因此这一级语言就是各种面向问题的应用语言。
把计算机系统按功能划分成多很层次结构,有利于正确理解计算机系院的工作过程明确软件、硬件在计算机系统中的地位和作用。
四、实际机器和虚拟机器
在多级层次结构中,对每一个机器级的用户来说,都可以将此机器级看作一台独立的使用自己特有的“机器语言"的机器。
实际机器是指由硬件或固件实现的机器
虚拟机器只对该级的观察者存在,即在某一级观察者看来,他只需要通过该级的语言来了解和使用计算机,至于下级是如何工作和实现就不必关心。