通过前面知识的学习,我们已经知道,计算机系统就是由硬件子系统和软件子系统两大部分组成,那么什么是组成计算机的硬件?什么是软件?
1.硬件
硬件(Hard Ware):构成计算机的金属部分,即那些看得见摸得着的东西。
从外看:由主机、显示器、键盘,鼠标、音响等组成,其中主机是计算机硬件的核心部件。打开主机的机箱外壳,我们可以看到一些什么呢(如图2-1所示)?
图2-1 计算机硬件
2.软件
软件(Software):是计算机程序及相关文档的集合。按照其功能和扮演角色的不同,软件分为两大类。
(1)系统软件:是保证计算机硬件正常工作的必备软件,如操作系统,诊断程序,测试程序,编译、连接、解释程序,数据库管理系统(DBMS)。
(2)应用软件:是为了扩展计算机的应用领域,由软件商家开发并销售的软件或用户自己编写的应用软件。如:WPS2000,OFFICE和应用于各行各业的管理软件。
3.程序
程序(Program):是为了解决给定问题,计算机所要执行的指令或语句的有序集合。一般都是由用户借助某一门计算机语言编写出来的。
4.指令
指令(Instruction):是指挥计算机完成特定操作的命令。
例如:mov ax, 40
Scanf ("% d", &x);
Printf ("% d", y);
5.指令系统
指令系统(Instruction Set):一台计算机所能执行的全部指令的集合。
6.语言
语言:用来相互交流情感的词句。
计算机语言:用户指挥计算机工作的指令或命令。
由于计算机只认识二进制数,所以能够直接被计算机认识的命令,只能用二进制数来描述,我们把直接用二进制数来表示的语言称为机器语言(机器码)。
使用机器语言来编写程序最大的优点:运行速度快,执行效率高,是计算机唯一能认识的语言。但缺点也十分明显:编写和阅读程序异常困难,调试和修改程序更是难上加难。所以现在已经没有这种程序。
为了提高编辑效率,人们开始思考用一些有助于记忆的符号来代替相应的机器语言指令,形成一种符号语言,这种符号语言后来就发展成了汇编语言。但是问题也就随之而来,因为计算机无法认识这些符号,所以必须借助一种类似于翻译官功能的软件把汇编语言程序翻译成机器语言程序。
除此之外,汇编语言和机器语言还有一个共同的特点:即一种面向机器的语言。也就是说不管是汇编语言还是机器语言都严格地依赖于具体的机器。不同CPU就有不同的汇编程序和机器语言,这样一来就会造成同一个汇编语言或机器语言程序在不同的机器上是不能运行的,程序的通用性和可移植性极差,这对于编程人员来讲是一件很痛苦的事。
鉴于此,人们就不得不思考,若是能用一种语言编写出来程序放到任何一种机器上都能运行,那该多好。实践的需要是事物发展的根本动力。
到了20世纪50年代后期,人们终于研制出一种接近于数学语言书写习惯,阅读时近似于英语习惯的高级语言,如FORTRAN,COBOL,经过几十年的发展,计算机高级语言已经形成了几大系列。
(1)Basic→Turbo basic (quick basic) →Vb
(2)Pascal→Turbo pascal→Dephi
(3)Dbase→Foxbase→FoxPro→Vfp
(4)C→Turbo C→C++→VC
当然不管使用哪一种高级语言编写的程序,都必须像汇编语言程序那样转换成机器语言程序,计算机才能执行(如图2-2所示),实现这种转换功能的程序按照转换方式的不同分为以下两种。
(1)编译程序:把高级语言编写的源程序全部翻译成目标代码程序(即二进制代码文件),然后才能加以执行。
(2)解释程序:对高级语言编写的源程序逐句分析并立即执行,即一边分析一边执行。Basic语言就是这种形式最典型的例子。
图2-2 转换过程
7.操作系统
操作系统:是一种管理计算机软件、硬件资源,以便使计算机资源更有效地发挥作用和方便计算机用户使用计算机的一组程序。