- 计算机导论与C语言(第2版)
- 耿国华主编
- 1259字
- 2024-12-20 21:03:50
第3章 计算机系统
计算机系统由硬件系统和软件系统两部分组成,二者相辅相成,计算机硬件是计算机软件工作的基础,没有软件的计算机通常称为“裸机”,软件是计算机与应用之间连接的桥梁。本章着重介绍计算机的硬件组成部分及其功能,计算机性能的基本指标,计算机软件系统的分类及功能。
3.1 计算机硬件系统
3.1.1 计算机硬件系统的基本组成
计算机硬件是指计算机系统中由电子、机械和光电元件组成的各种计算机部件和设备,其基本功能是接受计算机程序的控制以完成数据输入、运算、输出等一系列操作。
目前计算机的种类很多,其制造技术也发生了极大的变化,但在基本的硬件结构方面,它一直沿袭着冯·诺依曼体系结构,从功能上可以划分为五大基本组成部分,即输入设备、输出设备、存储器、运算器和控制器,如图3.1 所示。其中,实线代表数据流,虚线代表控制流,计算机各部件间的联系通过信息流动来实现。原始数据和程序通过输入设备送入存储器,在运算处理过程中,数据从存储器读入运算器进行运算,并将运算结果存入存储器,必要时再经输出设备输出。指令是指示计算机执行某种操作的命令,它由一串二进制数码组成,指令也以数据形式存于存储器中,运算时指令由存储器送入控制器,由控制器控制各部件的工作。
图3.1 计算机系统基本硬件结构
计算机五大组成部分的功能:
(1)输入设备。输入设备的功能是将要加工处理的外部信息转换为计算机能够识别和处理的内部形式,以便于处理。
(2)输出设备。输出设备的功能是将信息从计算机的内部形式转换为使用者所要求的形式,以便能为人们识别或被其他设备所接收。
(3)存储器。存储器的功能是用于存储以内部形式表示的各种信息。(4)运算器。运算器的功能是对数据进行算术运算和逻辑运算。
(5)控制器。控制器的功能是产生各种信号,控制计算机各个功能部件协调一致地工作。
3.1.2 计算机工作原理
冯·诺依曼提出的现代计算机的基本工作原理如下:
● 计算机的指令和数据均采用二进制表示。
● 由指令组成的程序和要处理的数据一起存放在存储器中。机器一启动,控制器按照程序中指令的逻辑顺序,把指令从存储器中读出来,逐条执行。
● 由输入设备、输出设备、存储器、运算器、控制器五个基本部件组成的计算机硬件系统,在控制器的统一控制下,协调一致地完成由程序所描述的处理工作。
3.2 微型计算机硬件系统
微型计算机(MicroComputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线所组成的计算机。自从1971年微处理器和微型计算机问世以来,它就得到了异乎寻常的发展,至今,经历了三代演变,并进入第四代。目前的微型计算机以64位微处理器为主,并向多核微处理器发展。
微型计算机硬件系统的组成如图3.2所示。
图3.2 微型计算机硬件系统的组成
微型化的中央处理器称为微处理器,它包括运算器和控制器,是微型计算机系统的核心;ROM、RAM为内存储器;微处理器输出三组总线:地址总线AB、数据总线DB和控制总线CB。各组成部分通过这三组总线连接在一起。由微处理器和内存储器构成微型计算机的主机。此外,还有外存储器、输入设备和输出设备,它们统称为外部设备。微型计算机的结构如图3.3所示。
图3.3 微型计算机的结构
3.2.1 主板
主板又称母板,在主板上通常安装有CPU插座、CPU调压器、主板芯片组、存储器插槽、总线插槽、ROM BIOS、CMOS存储器、电池等,如图3.4所示。
CPU和存储器芯片分别通过主板上的CPU插座和存储器插槽安装在主板上。PC机常用外围设备通过扩充卡(例如声音卡、显示卡等)或I/O接口与主板相连,扩充卡通过卡上的印刷插头插在主板上的PCI总线插槽中。随着集成电路的发展和计算机设计技术的进步,许多扩充卡的功能可以部分或全部集成在主板上(例如,串行口、并行口、声卡、网卡等控制电路)。
主板上还有两块特别有用的集成电路:一块是只读存储器(ROM),其中存放的是基本的输入/输出系统(BIOS),它是PC机软件中最基础的部分;另一个集成电路芯片是CMOS存储器,其中存放着用户对计算机硬件所设置的一些参数(称为“配置信息”),包括当前的日期和时间、已安装的软驱和硬盘的个数及类型等。一旦设定参数后,CMOS将记住这些数据。由于CMOS芯片是一种易失性的存储器,必须使用电池供电,才能使计算机关机后也不会丢失所存储的信息。
图3.4 主板实物图
为了便于不同PC机主板的互换,主板的物理尺寸已经标准化。前些年使用比较多的是ATX规格的主板,目前一种功能更先进、通风性能更好的BTX主板正在逐步兴起。
芯片组(Chipset)是主板的灵魂,决定了主板的性能和价格。正如人的大脑分左脑和右脑一样,主板上的芯片组由北桥芯片和南桥芯片组成,如图3.5所示。北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、RTC(实时时钟控制器)、USB(通用串行总线)、ACPI(高级能源管理)等的支持。其中,北桥芯片起着主导性的作用,故也将其称为主桥(Host Bridge)。
需要注意的是,CPU类型或参数不同时需要配用不同的芯片组。CPU的系统时钟及各种与其同步的时钟均由芯片组提供。芯片组还决定了主板上所能安装的内存的容量、速度及可使用的内存条的类型。
图3.5 主板上的芯片组
3.2.2 中央处理器
中央处理器(Central Processing Unit)简称CPU,又称为“微处理器”。包括运算器和控制器两个部件,它是计算机系统的核心。CPU的主要功能是按照程序给出的指令序列分析指令、执行指令,完成对数据的加工处理。计算机所发生的全部动作都受CPU的控制。
控制器用来协调和指挥整个计算机系统的操作,它本身不具有运算功能,而是通过读取各种指令,并对其进行翻译、分析,而后对各部件做出相应的控制。它主要由指令寄存器、译码器、程序计数器、时序电路等组成。运算器主要完成算术运算和逻辑运算,是对信息加工和处理的部件,它主要由算术逻辑部件、寄存器组组成。
CPU品质的高低直接决定了计算机系统的档次。能够处理的数据位数是CPU的一个重要品质标志。人们通常所说的8位机、16位机、32位机、64位机即指CPU可同时处理8位、16位、32位、64位的二进制数。8位机是最早的微机产品,后来的IBM PC/XT、IBM PC/AT及286机均是16位机,386机和486机是32位机,奔腾586机也是32位机。其中,IBM PC/XT机的CPU芯片为Intel 8088、Intel 8086,IBM PC/AT的CPU芯片为Intel 80286,而386机、486机、586机的CPU芯片分别为Intel 80386、Intel 80486、Pentium。
目前,大多数微机都使用Intel公司生产的CPU。美国Intel公司成立于1968年,1971年Intel推出了4位微处理器(即4004),首次采用100MHz系统总线,相继生产出高档32位的时钟频率为400MHz和450MHz的微处理器PentiumⅡ。随后又推出PentiumⅢ、PentiumⅣ、Core(酷睿)等处理器,如图3.6所示。
图3.6 CPU实物图举例
近些年CPU技术中引入了多核技术,所谓的核又称为内核,是CPU最重要的组成部分,CPU所有的计算、接受/存储命令、处理数据都由核心执行,各种CPU核心都具有固定的逻辑结构,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元都会有科学的布局。在一个处理器上集成两个运算核心称为双核处理器,如果在一个处理器上集成多个运算核心则称为多核处理器,多核处理器可以在处理器内部共享缓存,提高缓存利用率,同时简化多处理器系统设计的复杂度。
3.2.3 存储器
存储器是计算机的记忆和存储部件,用来存放信息。对存储器而言,容量越大,存取速度越快,则该存储器的品质越好。计算机的操作,大量是与存储器之间交换信息,存储器的工作速度相对CPU的运算速度要低得多,因此存储器的工作速度是制约计算机运算速度的主要因素之一。目前计算机的存储系统由各种不同的存储器组成。通常至少有两级存储器:一个是包含在计算机中的内存储器,它直接和运算器、控制器联系,容量小,但存取速度快,用于存放那些急需处理的数据或正在运行的程序;另一个是外存储器,它间接和运算器、控制器联系,存取速度慢,但存取容量大,价格低廉,用来存放暂时不用的数据。
1.内存储器
内存又称为主存,它和CPU一起构成了计算机的主机部分。内存由半导体存储器组成,存取速度较快,由于价格上的原因,一般容量较小。内存中含有很多的存储单元,每个单元可以存放一个8位的二进制数,即一个字节。通常一个字节可以存放0到255之间的一个无符号整数或一个字符的代码,而对于其他大部分数据可以用若干个连续字节按一定规则进行存放。内存中的每个字节各有一个固定的编号,这个编号称为地址。CPU在存储器中存取数据时按地址进行。所谓存储器容量即指存储器中所包含的字节数,通常用KB和MB作为存储器容量的单位。
内存储器按工作方式的不同,可以分为随机存储RAM和只读存储器ROM两种。RAM是一种读写存储器,其内容可以随时根据需要读出,也可以随时重新写入新的信息。内存条就是将RAM集成块集中在一起的一小块电路板,它插在计算机中的内存插槽上,如图3.7所示。一般RAM又分为静态RAM SRAM和动态RAM DRAM两种。静态RAM的特点是只要存储单元上加有工作电压,它上面存储的信息就会保持。动态RAM由于是利用MOS管极间电容保存信息的,因此随着电容的漏电,信息会逐渐丢失,为了补偿信息的丢失,要每隔一定时间对存储单元的信息进行刷新。
图3.7 内存条
不论是静态RAM还是动态RAM,当电源电压去掉时,RAM中保存的信息都将会全部丢失。RAM在微机中主要用来存放正在执行的程序和临时数据。由于静态存储器成本较高,通常在存储器较小的存储系统中采用,以省去刷新电路。在存储量较大的存储系统中宜用动态存储器,以降低成本。
ROM是一种内容只能读出而不能写入和修改信息的存储器,其存储的信息是在制作该存储器时就被写入的。在计算机运行过程中,ROM中的信息只能被读出,而不能写入新的信息。ROM常用来存放一些固定程序、数据和系统软件等,如检测程序、ROM BIOS等。只读存储器除了ROM外,还有PROM、EPROM等类型。PROM是可编程只读存储器,但只可编写一次。与PROM器件相比,EPROM器件是可以反复多次擦除原来写入的内容,重新写入新的内容的只读存储器。EPROM与RAM不同,虽然其内容可以多次擦除和多次更新,但只要更新固化好后,就只能读出,而不像RAM那样可以随机读出和写入信息。不论哪种ROM,其中存储的信息不受断电影响,具有永久保存的特点。
由于CPU比内存速度快,目前,在计算机中还普遍采用一种比主存储器存取速度更快的超高速缓冲存储器,即Cache,置于CPU与主存之间,以满足CPU对内存高速访问的要求。有了Cache以后,CPU每次读操作都先查找Cache,如果找到数据,可以直接从Cache中高速读出;如果数据不在Cache中再由主存中读出。Cache的存储容量主要有256KB、512KB等。Cache的容量并不是越大越好,过大的Cache会降低CPU在Cache中查找的效率。
衡量内存的常用指标有容量与速度。目前微机内存容量主要有512MB、1GB、2GB等。微机内存的速度是指读或写一次内存所需的时间,数量级以纳秒(ns)衡量,主要有10ns、8ns、7ns等。
2.外存储器
内存由于技术及价格上的原因,容量有限,不可能容纳所有的系统软件及各种用户程序,因此,计算机系统都要配置外存储器。外存储器又称为辅助存储器,它的容量一般都比较大,而且大部分可以移动,便于不同计算机之间进行信息交流。在微型计算机中,常用的外存有磁盘、光盘、闪存和磁带,磁盘又可以分为硬盘和软盘。
1)软盘
软磁盘是一种磁介质形式的大容量存储器。它的磁盘片被装在一个保护套内,保护套保护盘面上的磁层不被损伤,也防止盘片旋转时产生静电引起数据丢失。在软盘套上开有若干个孔,其中有磁头读写孔、写保护口等。软盘驱动器的读/写磁头通过磁头读写孔与磁盘接触,将信息读出或写入。写保护口对磁盘中的数据进行保护,磁盘写保护时,磁盘上的信息只能被读出,不能写入。目前常用软盘种类是双面高密度3.5英寸盘,它的存储容量为1.44MB。
2)硬盘
硬磁盘是由若干个硬盘片组成的盘片组,一般被固定在主机箱内,如图3.8所示。硬盘的存储格式与软盘类似,但硬盘的容量要大得多,存取信息的速度也快得多。目前微机上所配置的硬盘容量主要有60GB、80GB和120GB等。硬盘在第一次使用时,也必须首先格式化。
图3.8 硬盘结构示意图
衡量硬盘的常用指标有容量、转速、硬盘自带Cache(高速缓存)的容量等。容量越大,存储信息量越多;转速越高,存取信息速度越快;Cache越大,计算机整体速度越快。目前普通硬盘的转速有5400转/分钟,高速硬盘有7200转/分钟。普通硬盘有2MB Cache,而高速硬盘有8MB Cache等。
3)光盘
光盘的存储介质不同于磁盘,它属于另一类存储器。主要利用激光原理存储和读取信息。光盘片用塑料制成,塑料中间夹入了一层薄而平整的铝膜,通过铝膜上极细微的凹凸坑记录信息,如图3.9 所示。由于光盘具有容量大、存取速度快、不易受干扰等特点,光盘的应用越来越广泛。光盘根据其制造材料和记录信息的方式的不同一般分为三类:只读光盘、一次性写入光盘和可擦写光盘。
图3.9 光盘实物图
只读光盘也称CD-ROM(Compact Disk-Read Only Memory),是生产厂家在制造时根据用户要求将信息写入到盘中,用户不能擦掉,也不能写入,只能通过光盘驱动器读出盘中信息。计算机上用的CD-ROM有一个数据传输速率指标,称为倍速。一倍速的数据传输速率是150KB/s,24倍速CD-ROM的数据传输速率是24×150KB/s=3.6MB/s。CD-ROM的标准容量是650MB。
一次性写入型光盘也称CD-R(Compact Disk-Recordable),可以由用户写入信息,但只能写一次,不能擦除和改写(像PROM芯片一样)。这种光盘的信息可多次读出,读出信息时使用只读光盘用的驱动器即可。一次性写入型光盘的存储容量一般为650MB。
可擦写光盘也称CD-RW,它可由用户自己写入信息,也可对已记录的信息进行擦除和改写,就像使用磁盘—样反复使用。可擦写光盘需插入特制的光盘驱动器进行读写操作,它的存储容量一般在几百MB至几个GB之间。
DVD-ROM是CD-ROM的后继产品,DVD-ROM盘片的尺寸与CD-ROM盘片完全一致。但不同的是DVD盘片光道之间的间距由原来的1.6μm缩小至0.74μm,而记录信息的最小凹凸坑长度由原来的0.83μm缩小到0.4μm。这直接导致了单面单层的DVD盘的存储容量可提高至4.7GB,是CD-ROM的7倍,而且DVD驱动器具有向下的兼容性,即也可以读取CD-ROM的光盘。
4)闪存
闪存是一种新型的EEPROM(电可擦除可编程只读存储器)内存。它的历史并不长,但已出现了各种各样的闪存,有常用的“U盘(USB Flash Drive)”、数码相机、MP3上用的CF(Compact Flash)卡、SM(SmartMedia)卡,MMC(MultiMediaCard)卡等,如图3.10所示。它们携带和使用方便,容量和价格适中,一般容量从64MB到2GB,存储数据可靠性强,因此普及很快,深受广大计算机使用者的青睐。
图3.10 闪存卡
5)移动硬盘
移动硬盘是一种主要利用计算机外设标准接口传输数据(USB/IEEE 1394)的硬盘,即插即用,无须驱动。它有容量大、单位存储成本低、速度快、兼容性好的特点,是一种便携式的大容量存储设备。
3.2.4 输入/输出设备
计算机处理的用户信息通常是以数字、文字、符号、图形、图像、声音以及表示各种物理、化学现象的形式表示出来的,但计算机所能存储加工的仅是以二进制代码表示的信息,因此要处理这些外部信息就必须把它们转换成二进制代码的内部表示形式。计算机的输入设备和输出设备(简称为I/O设备)就是完成这种转换的工具。
1.输入设备
输入设备将要加工处理的外部信息转换成计算机能够识别和处理的内部表示形式(即二进制代码),输送到计算机中。在微型计算机系统中,最常用的输入设备是鼠标和键盘。
1)键盘
目前微型机所配置的标准键盘有101(或104)个按键,104键盘的布局如图3.11所示,它包括数字键、字母键、符号键、控制键和功能键等。
图3.11 计算机键盘布局
① 键盘的分区。标准键盘的布局分三个区域,即主键盘区、数字键盘区和功能键区。主键盘区共有62个键,包括数字和符号键(22个)、字母键(26个)、控制键(14个)。数字键盘区共有30个键,包括光标移动键(4个)、光标控制键(4个)、算术运算符键(4个)、数字键(10个)、编辑键(4个)、数字锁定键、打印屏幕键等。功能键共有12个,包括【F1】~【F12】。在功能键中,前6 个键的功能是由系统锁定的,后面6 个键的功能可根据软件的需要由用户自己定义。数字键盘区的设置可对文字录入、文本编辑和光标的移动进行控制,为用户的操作提供了极大的方便。
② 键盘的常用键。常用键的功能如表3.1所示。
表3.1 常用键的功能表
● 在104个键中有4个“双态键”,它们是:【Ins】键(包括插入状态和覆盖状态)、【Caps Lock】键(包括大写字母状态和锁定状态)、【Num Lock】键(包括数字状态和自锁状态)和【Scroll Lock】键(包括滚屏状态和锁定状态)。它们本身都是状态转换开关,当计算机刚刚启动时,4个双态键都处于前一种状态,所有字母键均固定为小写字母键,如按【Caps Lock】键,指示灯亮,则为大写字母键。再按该键,指示灯灭,则恢复为小写字母键。
● 在104个键中有30个键是“双符”键,即每个键面上有两个字符。主键盘区的双符键由【Shift】键控制,数字键盘区的双符键由【Num Lock】键控制。另外,在104键盘中,键面上只有26个大写英文字母A~Z,若要输入大写英文字母,只须在输入前先按下【Caps Lock】键。在计算机处于刚刚启动时,各双符键都处于下面的字符和小写英文字母的状态。
● 在104键盘中有两个Windows键和一个快捷菜单键,按下Windows键相当于单击系统中的“开始”按钮,按快捷菜单键相当于单击鼠标右键的功能。
2)鼠标
鼠标是一种常见的输入设备。它与显示器相配合,可以方便、准确地移动显示器上的光标,并通过单(双)击选取光标所指的内容。鼠标按其按钮个数可以分为两键鼠标(PC鼠标)和三键鼠标(MS鼠标);按感应位移变化的方式可以分为机械鼠标、光学鼠标和光学机械鼠标。
3)扫描仪
扫描仪是一种典型的图像输入设备。它可以将纸质文档上的照片、图片、图形或文字资料扫描到计算机中,并将其转换成以二进制代码表示的图像文件存储于硬盘中。扫描仪主要有两类:手持式和平板式。平板式扫描仪的性能要优于手持式扫描仪。扫描仪的主要技术参数是分辨率,以每英寸的检测点数表示,其单位是dpi。一般的扫描仪的分辨率为600dpi。注意,最好选择两倍于打印机分辨率的扫描仪,才能获得最佳的图像效果。
鼠标和扫描仪的外观如图3.12所示。
图3.12 扫描仪和鼠标示意图
2.输出设备
输出设备是将计算机内部以二进制代码形式表示的信息转换为用户所需要并能识别的形式(如十进制数字、文字、符号、图形、图像、声音)或者其他系统所能接受的信息形式,并将其输出。在微型机系统中,主要的输出设备有显示器和打印机等,如图3.13所示。
图3.13 显示器和打印机
1)显示器
PC的显示系统由显示器和图形适配器(Graphics Adapter,也称为图形卡或显卡)组成。它们共同决定了图像输出的质量。显示器类型很多,按显示的内容可以分为只能显示ASCII码字符的字符显示器和能显示字符和图形的图形显示器;按显示的颜色可以分为单色显示器和彩色显示器;按显示原理可以分为阴极射线管显示器(CRT)和液晶显示器(LCD)。
CRT是一种使用阴极射线管(Cathode Ray Tube)的显示器,是采用电子发射击打荧光粉显示图像的显示器,具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等特点。
液晶显示器是一种采用液晶为材料的显示器。液晶是介于固态和液态间的有机化合物。将其加热会变成透明液态,冷却后会变成结晶的混浊固态。在电场作用下,液晶分子会发生排列上的变化,从而影响通过其的光线变化,这种光线的变化通过偏光片的作用可以表现为明暗的变化,从而达到显示图像的目的。液晶显示器具有机身薄、重量轻、节省电能、不产生高温、无辐射、画面柔和不闪烁等优点,因此目前在各个行业广泛使用。
显示器的主要性能指标有颜色、像素、点间距、分辨率和显存等。
● 颜色。指是单色显示器还是彩色显示器,彩色显示器还要看有多少种颜色可供选择。
● 像素。显示器所显示的图形和文字是由许许多多的“点”组成的,这些点称为像素。
● 点间距。点间距也称点距,是屏幕上相邻两个像素之间的距离,点距越小,图像越清晰,细节越清楚。常见的点距有0.21mm、0.25mm、0.28mm等。
● 分辨率。指在单位面积上能显示的像素的数目。分辨率越高,所显示的画面就越精细,但同时也会越小。目前的显示器一般都能支持800×600、1024×768、1280×1024等规格的分辨率。
● 显存。电脑在显示一帧图像时首先要将其存入显卡的内存。显存的大小会限制对显示分辨率及流行色的设置。
2)打印机
打印机主要有针式打印机、喷墨打印机、激光打印机等。针式打印机速度慢、噪声大,但它的耗材便宜。喷墨打印机价格便宜、体积小、噪声小、打印质量高,但对纸张要求高、墨水消耗量大,适于家庭使用。激光打印机是激光技术和电子照相技术的复合物,它将计算机输出的信号转换成静电磁信号,磁信号使磁粉吸附在纸上形成有色字体。激光打印机印字质量高、字符光滑美观、打印速度快、噪声小,但价格稍高一些。打印机的技术指标主要有打印速度、印字质量、打印噪声等。
打印机是将计算机的运算结果或中间结果以人所能识别的数字、字母、符号和图形等形式,依照规定的格式印在纸上的设备。打印机正向轻、薄、短、小、低功耗、高速度和智能化方向发展。
打印机的种类很多,按打印元件对纸是否有击打动作,分击打式打印机与非击打式打印机。按打印字符结构,分全形字打印机和点阵字符打印机。按一行字在纸上形成的方式,分串式打印机与行式打印机。按所采用的技术,分柱形、球形、喷墨式、热敏式、激光式、静电式、磁式、发光二极管式打印机等。
串式点阵字符非击打式打印机主要有喷墨式和热敏式两种。①喷墨式打印机。是应用最广泛的打印机。其基本原理是带电的喷墨雾点经过电极偏转后,直接在纸上形成所需字形。其优点是组成字符和图像的印点比针式点阵打印机小得多,因而字符点的分辨率高,印字质量高且清晰;可灵活方便地改变字符尺寸和字体;印刷采用普通纸,还可利用这种打印机直接在某些产品上印字;字符和图形形成过程中无机械磨损,印字能耗小;打印速度可达500字符/秒。广泛应用的有电荷控制型(高压型)和随机喷墨型(负压型)喷墨技术,近年来又出现了干式喷墨印刷技术。②热敏式打印机。通过印字头点电阻的脉冲电流产生的热传到热敏纸上,使其受热变色,从而印出字符和图像。主要优点是无噪声、结构简单、重量轻、印字清晰。缺点是速度慢、字迹保存性差。
行式点阵字符非击打式打印机主要有激光、静电、磁式和发光二极管式打印机。①激光打印机。激光源发出的激光束经由字符点阵信息控制的声光偏转器调制后,进入光学系统,通过多面棱镜对旋转的感光鼓进行横向扫描,于是在感光鼓上的光导薄膜层上形成字符或图像的静电潜像,再经过显影、转印和定影,便在纸上得到所需的字符或图像。主要优点是打印速度快,可达20000行/分钟以上;印字的质量高、噪声小;可采用普通纸;可印刷字符、图形和图像。由于打印速度快,宏观上看,就像每次打印一页,故又称页式打印机。②静电打印机。将脉冲电压直接加在具有一层电介质材料的特殊纸上,以便在电介质上获得静电潜像,经显影、加热定影形成字符和图像。它的优点是印刷质量高、字迹不退色、可长期保存、生成潜像的功耗小、无噪声、简单可靠。但需使用特殊纸,且成本高。③磁式打印机。它是电子复印技术的应用和发展。采用磁敏介质形成字符潜像,不需要高功率激光源,其优点是对湿度和温度变化不敏感;印刷速度可达8000 行/分钟;结构简单、成本低。④发光二极管式打印机。除采用发光二极管作光源外,其工作原理与激光打印机类似。由于采用了发光二极管,所以降低了成本、减小了功耗。
3.2.5 I/O总线与I/O接口
1.I/O总线
总线的英文名字是“BUS”,它指的是计算机各部件之间传输信息的一组公用的信号线及相关控制电路。前面曾经介绍过CPU总线(前端总线),这里要介绍的是I/O总线,也叫做主板总线,它是各类I/O设备控制器与CPU、存储器之间相互交换信息、传输数据的一组公用信号线,这些信号线与主板上扩充插槽中的各扩充板卡(I/O控制器)直接连接。
I/O总线上有三类信号:数据信号、地址信号和控制信号,负责传输这些信号的线路分别称为数据线、地址线和控制线。协调与管理总线操作的是总线控制器,总线控制器包含在主板的芯片组内。
总线最重要的性能是它的数据传输速率,也称为总线的带宽(BandWidth),即单位时间内总线上可传输的最大数据量。总线带宽的计算公式如下:
总线带宽(MB/s)=(数据线宽度/8)×总线工作频率(MHz)×每个总线周期的传输次数
采用I/O总线结构对PC机的设计、生产和维护带来了许多好处。例如,简化了系统设计,降低了成本,便于故障诊断和维修,也便于系统的扩充升级,同时,总线的标准也使得市场上有大量兼容的I/O产品可供选择。
随着CPU速度的加快、I/O设备性能的提高,I/O总线的传输性能必须大幅度改进。除了扩充数据线的宽度之外,还应缩短I/O总线与CPU之间的距离,使总线的工作速度能跟上CPU的速度。于是,1991年起PC机开始使用一种称为PCI的总线,它具有高性能(数据线宽度32位时传输速率为133MB/s,数据线宽度64位时传输速率为266MB/s)、低成本(引脚较少,节省空间)的优点,用于连接速度比较高的外部设备。近些年来,一种基于串行传输原理的性能更好的高速PCI总线(PCI-E)正在兴起,很可能会逐步替代使用了多年的PCI总线。
2.I/O设备接口
前面已经说过,I/O设备与主机一般需要通过连接器实现互连,计算机中用于连接I/O设备的各种插头/插座以及相应的通信规程及电气特性,就称为I/O设备接口,简称I/O接口。
PC机可以连接许多不同种类的I/O设备,所使用的I/O接口分为多种类型。从数据传输方式来看,有串行(一位一位地传输数据,一次只传输1位)和并行(8 位或者16 位、32位一起进行传输)之分;从数据传输速率来看,有低速和高速之分;从是否能连接多个设备来看,有总线式(可串接多个设备,被多个设备共享)和独占式(只能连接1个设备)之分;从是否符合标准来看,有标准接口与专用接口之分。表3.2是PC机常用I/O接口的一览表及其性能的对比。
表3.2 PC机常用I/O接口
3.3 微型计算机的性能指标
微型机的种类很多,根据计算机处理字长的不同有32位机和64位机之分。在选购计算机之前,需要了解其各项性能指标。不同用途的计算机,其侧重面也不同。下面列出有关的主要性能指标。
1.字长
字长是指CPU能够直接处理的二进制数的位数。它标志着计算机处理数据的精度,字长越长,精度越高。同时字长与指令长度也有一个对应关系,因而指令系统功能的强弱程度与字长有关。目前,一般的大型主机字长在128~256位之间,小型机字长在64~128位之间,微型机字长在32~64位之间。随着计算机技术的发展,各种类型计算机的字长有加长的趋势。
2.主频(Main CLK)
主频也就是CPU的时钟频率,其英文全称是CPU Clock Speed,简单地说也就是CPU运算时的工作频率。一般来说,主频越高,一个时钟周期里完成的指令数也越多,当然CPU的速度也就越快。不过由于各种各样的CPU的内部结构不尽相同,所以并非所有时钟频率相同的CPU的性能都一样。主频的单位是MHz或GHz,微处理器Pentium 4的主频为1024MHz,即1GHz。主频是计算机的主要性能技术指标,不要把CPU的时钟频率简单地等同于计算机的运算速度。例如:Intel Pentium Ⅲ 1.13GB表示英特尔公司生产的Pentium Ⅲ,主频为1.13GHz;Intel Pentium Ⅳ 2.4GB表示英特尔公司生产的Pentium Ⅳ,主频为2.4GHz。外频就是系统总线的工作频率。倍频则是指CPU外频与主频相差的倍数。
三者关系十分密切:主频=外频×倍频。
3.内存总线速度(Memory-Bus Speed)
存放在外存上的数据都要通过内存进入CPU进行处理。所以CPU与内存之间的总线的速度对整个系统性能有很重要的影响,由于内存和CPU之间的运行速度或多或少会有差异,因此便出现了二级缓存来协调两者之间的差异,而内存总线速度就是指CPU与二级高速缓存(L2 Cache)及内存三者之间的通信速度。
4.内存容量
任何程序和数据的读/写都要通过内存,内存容量的大小反映了存储程序和数据的能力,也反映了信息处理能力的强弱。存储容量越大,所运行的软件的速度越快。在微机上流行的Windows系列软件,一般需要较大的内存容量。
内存的性能指标如下:
(l)存储容量。即一根内存条可以容纳的二进制数的信息量,如目前常用的内存条的存储容量一般多为512MB、1GB或2GB。
(2)存储器的可靠性。存储器的可靠性用平均故障的间隔时间来衡量,可以理解为两次故障之间的平均时间间隔。
(3)性能价格比。性能主要包括存储器容量、存储周期和可靠性三项内容,性能价格比是一个综合性指标,对于不同的存储器有不同的要求。
5.外设配置
外设配置是指计算机的输入/输出设备、多媒体部件以及外存储器等的配置情况。其中主要有:键盘的按键数及它是否是多功能键盘;显示器和打印机的种类和性能指标;光盘驱动器是CD-ROM还是DVD,速度是多少;声卡和音响的种类和声道数;计算机是否配置有USB或者IEEE 1394接口等。
6.软件配置
由于目前微型机的种类很多,特别是各种兼容机种类繁多,因此,在选购微型机时,应考虑兼容性。一般微型机之间的兼容性包括软盘格式、接口、硬件总线、键盘形式、操作系统和I/O规范等方面。
以上列出了微型机一些主要的性能指标。显然,微型机的优劣不能根据一两项指标来评定,而是需要综合考虑经济合理、使用效率及性能价格比等多方面因素,以满足应用需求为目的。
3.4 计算机软件系统
3.4.1 计算机软件的概念
计算机软件指的是以计算机可以识别和执行的操作所表示的处理步骤和有关文档,要告诉计算机做些什么,按什么方法、步骤去做,人们必须把有关的处理步骤告诉计算机。把计算机可以识别和执行的操作所表示的处理步骤称为程序,简言之,软件=程序+文档。
1.计算机程序
我国颁布的《计算机软件保护条例》对程序的概念给出了更为精确的描述:“计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码转化指令序列,或者可被自动地转换成代码化指令序列的符号化序列,或者符号化语句序列。”
2.文档
文档是指用自然语言或者形式化语言所编写的用来描述程序的内容、组成、设计、功能规格、开发情况、测试结构和使用方法的文字资料和图表,如程序设计说明书、流程图、用户手册等。
文档不同于程序。程序是为了装入机器以控制计算机硬件的动作,实现某种过程,得到某种结果而编制的;而文档是供有关人员阅读的,通过文档人们可以清楚地了解程序的功能、结构、运行环境、使用方法,从而方便人们使用软件、维护软件。因此在软件概念中,程序和文档是一个软件不可分割的两个方面。
自从在第一台计算机上诞生第一个程序直到现在,计算机软件已经发展成为一个庞大的系统。从应用的观点看,软件可以分为三大类,即系统软件、支撑软件和应用软件,如图3.14所示。
图3.14 软件系统结构示意图
3.4.2 计算机软件的分类
1.系统软件
系统软件是计算机系统中最靠近硬件的软件。它与具体的应用无关,是软件系统的核心。其他软件一般都通过系统软件发挥作用。
系统软件是指那些参与构成计算机系统,供用户直接使用以扩展计算机硬件功能,管理协调整个系统,弥补用户的操作习惯与计算机硬件和计算机设备的操作方法之间的鸿沟的软件。系统软件与具体应用领域无关,它的功能主要是对计算机硬件和软件进行管理,以充分发挥这些设备的效力,方便用户的使用,为应用开发人员提供平台支持。如操作系统、程序设计语言、编译系统、网络软件、数据库管理系统及各种软件开发工具都属于系统软件,操作系统、程序设计语言是系统软件的典型代表。
计算机是一个高速运转的复杂系统:有CPU、内存储器、外存储器,以及各种各样的输入、输出设备,通常将其称为硬件资源;它的多个用户可以同时在计算机上运行他们各自的程序,共享大量数据,通常将其称为软件资源。如果没有一个对这些资源进行统一管理的软件,计算机不可能协调一致、高效率地完成用户交给它的任务。
从资源管理的角度来看,操作系统是为了合理、方便地利用计算机系统对其硬件资源和软件资源进行统一管理的软件。它是系统软件中最基本的一种软件,也是每个使用计算机的人员必须学会使用的一种软件。
2.支撑软件
支撑软件是支持其他软件的编制和维护的软件。随着计算机应用的发展,软件的编制和维护在整个计算机系统中所占的比重已远远超过硬件。从提高软件的生产率,保证软件的正确性、可靠性和易于维护性来看,支撑软件在软件开发中占有重要地位。当然,广义地讲,可以把操作系统看做是支撑软件,或者把支撑软件看做是系统软件的一部分。但是20 世纪70年代后期发展起来的软件支撑环境已和原来意义下的系统软件有很大的不同,它主要包括环境数据库和各种工具,如测试工具、编辑工具、项目管理工具、数据流图编辑器、语言转换工具、界面生成工具等。
3.应用软件
应用软件是为计算机在特定领域中的应用而开发的专用软件,如各种管理信息系统、飞机订票系统、地理信息系统等。应用软件包括的范围是极其广泛的,可以这样说,哪里有计算机应用,哪里就有应用软件。应用软件不同于系统软件,系统软件是利用计算机本身的逻辑功能,合理地组织用户使用计算机的软、硬件资源,以充分利用计算机的资源,最大限度地发挥计算机效率,便于用户使用、管理为目的。而应用软件是用户利用计算机和它所提供的系统软件,为解决自身的、特定的实际问题而编制的程序和文档。
应当指出,软件的分类并不是绝对的,而是相互交叉和变化的。例如,系统软件和支撑软件之间就没有绝对的界限,所以习惯上也把软件分为两大类,即系统软件和应用软件。
在应用软件发展初期,应用软件主要是由用户自己开发的各种应用程序。随着应用程序数量的增加和人们对应用程序认识的深入,一些人组织起来,把具有一定功能的、可以满足某类应用要求、可以解决某类应用领域中各种典型问题的应用程序,经过标准化、模块化后组合在一起,形成某种应用软件包。应用软件包的出现不仅减少了应用软件编制过程中的重复性工作,而且它们一般都是以商品形式出现的,有着很好的用户界面,只要它所提供的功能能够满足使用的要求,用户无须再自己动手编写程序就可以直接使用。而在数据管理中形成的有关数据管理的软件已经从一般的应用软件中分化出来形成了一个新的分支,特别是数据库管理系统,目前人们已不再把它当成一般的应用软件,而是视为一种新的系统软件。
随着计算机应用领域的不断扩大,应用软件也日益增多。如办公信息化系统、计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助教学(CAI)、计算机辅助测试(CAT)、翻译软件、游戏软件等。
3.4.3 操作系统
操作系统是硬件与所有其他软件之间的接口,是整个计算机系统的控制和管理中心。操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
操作系统的形态多样,不同类型计算机中安装的OS也不相同,如手机上的嵌入式操作系统和超级电脑上的大型操作系统等。操作系统的研究者对OS的定义也不一致,例如有些OS集成了图形化使用者界面,而有些OS仅使用文本接口,而将图形界面视为一种非必要的应用程序。
1.操作系统的功能
(1)进程管理。进程管理主要是对处理器进行管理。CPU是计算机系统中最宝贵的硬件资源。为了提高CPU的利用率,操作系统采用了多道程序技术。当一个程序因等待某一条件而不能运行下去时,就把处理器占用权转交给另一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占CPU。为了描述多道程序的并发执行,就要引入进程的概念。通过进程管理协调多道程序之间的关系,解决对处理器实施分配调度策略、进行分配和进行回收等问题,以使CPU资源得到最充分的利用。正是由于操作系统对处理器管理策略的不同,其提供的作业处理方式也就不同,从而呈现在用户面前的就是具有不同性质的操作系统。例如批处理方式、分时处理方式和实时处理方式等。
(2)存储管理。存储管理主要管理内存资源。随着存储芯片的集成度不断地提高、价格不断地下降,一般而言,内存整体的价格已经不再昂贵了。不过受CPU寻址能力以及物理安装空间的限制,单台机器的内存容量也还是有一定限度的。当多个程序共享有限的内存资源时,会有一些问题需要解决,比如,如何为它们分配内存空间,同时,使用户存放在内存中的程序和数据彼此隔离、互不侵扰,又能保证在一定条件下共享等问题,都是存储管理的范围。当内存不够用时,存储管理必须解决内存的扩充问题,即将内存和外存结合起来管理,为用户提供一个容量比实际内存大得多的虚拟存储器。操作系统的这一部分功能与硬件存储器的组织结构密切相关。
(3)文件管理。系统中所有的信息资源(如程序和数据)是以文件的形式存放在外存储器(如磁盘、光盘和磁带)上的,需要时再把它们装入内存。文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。操作系统一般都提供很强的文件系统。
(4)作业管理。操作系统应该向用户提供使用它自己的手段,这就是操作系统的作业管理功能。按照用户观点,操作系统是用户与计算机系统之间的接口。因此,作业管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行。
(5)设备管理。操作系统应该向用户提供设备管理服务。设备管理是指对计算机系统中所有输入输出设备(外部设备)的管理。设备管理不仅涵盖了进行实际I/O操作的设备,还涵盖了诸如设备控制器、通道等输入输出支持设备。
除了上述功能之外,操作系统还要具备中断处理、错误处理等功能。操作系统的各功能之间并非是完全独立的,它们之间存在着相互依赖的关系。
2.操作系统的分类
(1)批处理操作系统。用户一般不直接操纵计算机,而是将作业提交给系统操作员。操作员将作业成批地装入计算机,操作系统将作业按规定的格式存储在磁盘的某个区域,然后按照某种调度策略选择一个或几个作业调入内存加以处理。内存中多个作业交替执行,处理步骤事先由用户设定,作业的结果由操作系统按作业统一加以输出,由操作员将作业运行结果交给用户。
(2)分时操作系统。分时系统允许多个用户同时联机使用计算机,一台分时计算机系统连有若干台终端,多个用户可以在各自的终端上向系统发出服务请求,等待计算机的处理结果并决定下一步的处理。操作系统接收每个用户的命令,采用时间片轮转的方式处理用户的服务请求。
(3)实时操作系统。系统能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件的处理。实时系统作为一个特定应用中的控制设备来使用,具有及时响应和高可靠性的优点。一般分为两类:实时控制系统和实时信息处理系统。
(4)单用户操作系统。单用户操作系统是随着微机的发展而产生的,用来对一台计算机的硬件和软件资源进行管理,通常分为单用户单任务和单用户多任务两种类型。
单用户单任务操作系统的主要特点是:在一个计算机系统内,一次只能运行一个用户程序,此用户独占计算机系统的全部硬件和软件资源。常用的单用户单任务操作系统有MS-DOS、PC-DOS等。
单用户多任务操作系统也是为单个用户服务的,但它允许用户一次提交多项任务。例如,用户可以在运行程序的同时开始另一文档的编辑工作,边听音乐边打字也是典型的例子。常用的单用户多任务操作系统有OS/2、Windows系统等,这类操作系统通常用在微型计算机系统中。
(5)网络操作系统。计算机网络是通过通信设施将地理上分散的具有独立功能的多个计算机系统互连起来,实现信息交换,资源共享,互操作和协作处理的系统。网络操作系统就是在原来的各自计算机系统操作上,按照网络体系结构的各个协议标准进行开发,使之包括网络管理、通信、资源共享、系统安全和多种网络应用服务的操作系统。
(6)分布式操作系统。与网络操作系统类似,但分布式系统要求一个统一的操作系统,实现系统操作的统一性,分布式操作系统管理系统中所有资源,它负责全系统的资源分配和调度,任务划分,信息传输控制协调工作,并为用户提供一个统一的界面。具有统一界面资源、对用户透明等特点。
(7)嵌入式操作系统。嵌入式操作系统(EmbeddedOperating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件,具有实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等特点。比较典型的嵌入式操作系统有Palm OS、WinCE、Linux等。
3.典型的操作系统
目前最常用的操作系统有Windows、UNIX和Linux。在20世纪80年代和90年代初,DOS曾经是最常用的操作系统之一。
(1)DOS。DOS是磁盘操作系统(Disk Operating System)的缩写,它是一个单用户、单任务的操作系统,是曾经最为流行的个人计算机操作系统。DOS的主要功能是进行文件管理和设备管理,比较典型的DOS操作系统是微软公司MS-DOS。
自从DOS在1981年问世以来,版本就不断更新,从最初的DOS 1.0升级到了最新的DOS 8.0(Windows ME系统),纯DOS的最高版本为DOS 6.22,这以后的新版本DOS都是由Windows系统所提供的,并不单独存在。DOS的优点是快捷,熟练的用户可以通过创建BAT或CMD批处理文件完成一些烦琐的任务。因此,即使在Windows XP操作系统下CMD也是高手的最爱。
(2)UNIX/Xenix。UNIX是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。最早由Ken Thompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。由于UNIX具有技术成熟、结构简练、可靠性高、可移植性好、可操作性强、网络和数据库功能强、伸缩性突出和开放性好等优点,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。它主要安装在巨型计算机、大型机上作为网络操作系统使用,也可用于个人计算机和嵌入式系统。曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟Windows Server以及Linux的竞争中有所失利。
Xenix是Microsoft公司与SCO公司联合开发的基于INTEL80x86系列芯片系统的微机Unix版本。由于开始没有得到AT&T的授权,所以另外起名叫Xenix,采用的标准是AT&T的UNIX SVR3(System V Release 3)。
(3)Linux。Linux是一类UNIX计算机操作系统的统称,Linux操作系统也是自由软件和开放源代码发展中最著名的例子。过去,Linux主要被用作服务器的操作系统,但因它的廉价、灵活性及UNIX背景使得它很适合做更广泛的应用。传统上有以Linux为基础的“LAMP(Linux、Apache、MySQL、Perl/PHP/Python的组合)”经典技术组合,提供了包括操作系统、数据库、网站服务器、动态网页的一整套网站架设支持。而面向更大规模级别的领域中,如数据库中的Oracle、DB2、PostgreSQL、以及用于Apache的Tomcat JSP等都已经在Linux上有了很好的应用样本。
Linux与其他操作系统相比是个后来者,但Linux具有两个其他操作系统无法比拟的优点。其一,Linux具有开放的源代码,能够大大降低成本。其二,既满足了手机制造商根据实际情况有针对性地开发自己的Linux手机操作系统的要求,又吸引了众多软件开发商对内容应用软件的开发,丰富了第三方应用。
(4)Windows。Windows是微软公司推出的视窗电脑操作系统,支持键鼠功能,默认的平台是由任务栏和桌面图标组成的。随着电脑硬件和软件系统的不断升级,微软的Windows操作系统也在不断升级,从16位、32位到64位操作系统。从最初的Windows 1.0到大家熟知的Windows 95、NT、97、98、2000、Me、XP、Server、Vista、Windows 7各种版本的持续更新,微软一直在尽力于Windows操作系统的开发和完善。
3.4.4 程序设计语言和语言处理程序
著名的语言学家韦伯斯特(Webster)给语言下的定义是:“语言是为相当大团体的人所懂得并使用的字以及组合这些字的方法的统一体”,这个定义揭示了语言的两个要素:词法和语法。
语言是人们交流思想、传达信息的工具。中国人使用汉语,英国人、美国人使用英语,日本人使用日语等。这些语言是在人类历史的长期发展过程中逐步形成的,我们称之为自然语言(Natural Language)。
1.程序设计语言
为了告诉计算机应当做什么和如何做,必须把处理问题的方法、步骤以计算机可以识别和执行的操作表示出来,也就是说要编制程序。这种用于书写计算机程序的语言称为程序设计语言。
程序设计语言按语言级别有低级语言和高级语言之分,具体来讲,可分为机器语言、汇编语言和高级语言三类。低级语言包括机器语言和汇编语言。
(1)机器语言。机器语言是以二进制代码形式表示的机器基本指令的集合,是计算机硬件唯一可以直接识别和执行的语言。它的特点是运算速度快,每条指令都是0和1的代码串,指令代码包括操作码和地址码。此外,计算机不同,其机器语言也不同,而且机器语言难阅读、难修改。
(2)汇编语言。汇编语言和机器语言一样,都是面向机器的低级语言,其特点是与特定的机器有关,工作效率高,但与人们思考问题和描述问题的方法相距太远,使用烦琐、费时,易出差错,要求使用者熟悉计算机的内部细节,非专业的普通用户很难使用。
汇编语言是为了解决机器语言难于理解和记忆的问题,用易于理解和记忆的名称和符号表示的机器指令。汇编语言虽比机器语言直观,但基本上还是一条指令对应一项基本操作,对同一问题编写的程序在不同类型的机器上仍然不能通用。
(3)高级语言。高级语言是人们为了解决低级语言的不足而设计的程序设计语言。它由一些接近于自然语言和数学语言的语句组成。因此,它更接近于要解决的问题的表示方法,并在一定程度上与机器无关。用高级语言编写程序,接近于自然语言和数学语言,故易学、易用、易维护。但是,由于机器硬件不能直接识别高级语言中的语句,因此用高级语言编写的程序必须经“翻译程序”翻译成机器语言的程序,才能被执行。一般来说,高级语言的编程效率高,但执行速度没有低级语言快。
高级语言的设计是很复杂的,因为它必须满足两种不同的需要:一方面,它要满足程序设计人员的需要,用它可以方便自然地描述现实世界中的问题;另一方面,还要能构造出高效率的翻译程序,能够把语言中的所有内容翻译成高效的机器指令。从20世纪50年代中期第一种实用的高级语言诞生以来,人们曾设计出几百种高级语言。目前最常用的高级语言有FORTRAN语言、COBOL语言、BASIC语言、C语言、PROLOG语言等。随着面向对象和可视化编程技术的发展,出现了像Smalltalk、C++、Java等面向对象程序设计语言和像Visual Basic、Visual C++、Delphi等可视化程序开发工具。
2.语言处理程序
语言处理程序是一种程序转换工具,它可以把用一种程序设计语言表示的程序转换为与之等价的用另一种程序设计语言表示的程序。在计算机软件中,经常用到的语言处理程序是把汇编语言或高级语言“翻译”成机器语言的翻译程序。被翻译的程序称为源程序或源代码,经过翻译程序“翻译”出来的结果程序称为目标程序。
翻译程序有两种典型的实现途径,分别称为解释方式(如图3.15所示)和编译方式(如图3.16所示)。
图3.15 解释过程示意图
图3.16 编译过程示意图
(1)解释方式。解释方式是按照源程序中语句的执行顺序,逐条翻译语句并立即予以执行。即由事先置入计算机中的解释程序将高级语言源程序的语句逐条翻译成机器指令,翻译一条执行一条,直到程序全部翻译执行完为止。解释方式类似于不同语言的口译工作。翻译员(解释程序)拿着外文版的说明书(源程序)在车间现场对操作员做现场指导。对说明书上的语句,翻译员逐条翻译给操作员听;操作员根据听到的话(他能懂的语言)进行操作。翻译员每翻译一句,操作员就执行该句规定的操作。翻译员翻译完全部说明书,操作员也执行完所需的全部操作。由于未保留翻译的结果,若需再次操作,仍要由翻译员一边翻译,操作员一边操作。
(2)编译方式。编译方式是先由翻译程序把源程序静态地翻译成目标程序,然后再由计算机执行目标程序。这种实现途径可以划分为两个明显的阶段,前一阶段称为生成阶段,后一阶段称为运行阶段。采用这种途径实现的翻译程序,如果源语言是一种高级语言,目标语言是某一计算机的机器语言或汇编语言,则这种翻译程序称为编译程序。如果源语言是计算机的汇编语言,目标语言是相应计算机的机器语言,则这种翻译程序称为汇编程序。
编译方式类似于不同语言的笔译工作。例如,某国制作了某个剧本(源程序),我们计划在国内上演。首先须由懂得该国语言的翻译(编译程序)把该剧本笔译成中文版本(目的程序),翻译工作结束。得到了中文版本后,才能交给演出单位(计算机)去演(执行)这个中文版本(目的程序)。在后面的演出(执行)阶段,并不需要原来的外文剧本(源程序),也不需要翻译(编译程序)。
3.4.5 数据管理
计算机应用从科学计算进入到数据处理是一个跨时代的转折。信息在计算机中有两种不同方法进行保存:永久性的系统文件和数据库系统。文件方式存在的问题很多,如数据的冗余和不一致、数据访问困难、数据孤立、完整性问题、原子性问题、并发访问异常和安全性问题。而数据库系统能较好的解决这些问题。数据库系统具有数据的独立性、有效地访问数据、减少应用程序的开发时间、数据的一致性和安全性、统一的数据管理和并发的数据访问等特点。
1.数据库系统的基本概念
(1)数据(Data)。数据是描述现实世界事物的符号记录,是用物理符号记录的可以鉴别的信息。物理符号有多种表现形式,包括:数字、文字、图形、图像、声音及其他特殊符号。数据的各种表现形式都可以通过数字化后存入计算机。
(2)数据库(Database,DB)。数据库是长期存储在计算机内的有组织的、可共享的数据集合。
(3)数据库管理系统(Database Management System,DBMS)。数据库管理系统是位于用户与操作系统之间的一个数据管理软件,它的基本功能包括数据定义功能、数据操纵功能、数据库的运行管理功能及数据库的建立和维护功能。
(4)数据库系统(Database System,DBS)。数据库系统是指在计算机系统中引入数据库后构成的系统。一般由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只有DBMS远远不够,还要有专门的数据库管理员(Database Administrator,DBA)来完成。
2.数据库系统的组成
数据库系统DBS(Database System)是数据库、由硬件、软件和用户4部分构成整体。
(1)数据库。数据库是数据库系统的核心,是存储在一起的相互有联系的数据集合。数据库中的数据是集成的、共享的、最小冗余的、能为多种应用服务。数据是按照数据模型所提供的形式框架存放在数据库中。
(2)硬件。数据库系统是建立在计算机系统上的,运行数据库系统的计算机需要有足够大的内存以存放系统软件、需要足够大容量的磁盘等联机直接存取设备存储数据库庞大的数据。需要足够的脱机存储介质(磁盘、光盘、磁带等)以存放数据库备份。需要较高的通道能力,以提高数据传送速率。要求系统联网,以实现数据共享。
(3)软件。数据库软件主要是指数据库管理系统DBMS(Database Management System)。
DBMS是为数据库存取、维护和管理而配置的软件,它是数据库系统的核心组成部分,DBMS在操作系统支持下工作。DBMS主要包括数据库定义功能、数据操纵功能、数据库运行和控制功能、数据库建立和维护功能、数据通信功能。
(4)用户。数据库系统中存在一组管理(数据库管理员DBA)、开发(应用程序员)、使用数据库(终端用户)的用户。
3.数据模型
数据库系统开发过程是首先进行问题分析和需求分析,然后用数学方法分析问题,对实际问题适当简化后建立数学模型,找出主要变量及变量之间的关系,用科学的方法构造分析实际问题模型,再用工程的方法实现和测试所实现的系统。
数据建模,就是从实际问题出发,通过抽象概括,建立数学模型,再通过对模型的分析研究返回到实际问题中去认识问题、解决问题的方法。
1)数据模型的定义
数据模型是数据库系统中用以描述数据与数据之间关系、数据语义和数据约束的工具,是用户和数据库之间相互交流的工具。
数据模型必须真实地模拟现实世界,容易被用户理解,在计算机上容易实现。用户在进行数据库操作时,只要按照数据库所提供的数据模型,使用相关的数据描述和操作语言就可以把数据存入数据库,而无须了解计算机是如何管理这些数据的细节。
开发数据库应用系统时分两个层次建立数据模型,一个是面向事务用户的概念数据模型,也称实体模型;另一个是面向计算机的数据模型。
2)概念模型
概念模型也称为信息模型,从用户观点出发,将管理对象的客观事物及他们之间的联系,用容易为人所理解的语言或形式表述出来,实现事物从客观世界到计算机世界的表示转换。概念模型要能准确、方便的表示概念世界,E-R图(实体联系图)是对概念模型进行描述的一种有效工具。图3.17描述了学生实体集和课程实体集的E-R图。
图3.17 学生和课程的E-R图
3)计算机数据模型
数据库系统不能直接处理概念模型,因此需要把概念数据模型转换成计算机能处理的数据模型,即把概念模型中的实体及实体之间的联系以计算机规定的方式表示,标识出需要在数据库中存储的内容,并定义这些数据的结构关系。
计算机数据模型简称为数据模型,将要管理的现实世界,用人们构造的标记系统进行描述,即使用便于计算机处理的方式描述出来,主要包括网状模型、层次模型、关系模型等。
关系模型:将存放在数据库中的数据和它们之间的联系看做一张张二维表。这与我们日常习惯很接近。
层次模型:把数据之间的关系纳入一种一对多的层次框架来加以描述。例如学校、企事业单位的组织结构就是一种典型的层次结构。层次模型对于表示具有一对多联系的数据是很方便的,但要表示多对多联系需要采用分解的方法间接实现。
网状模型:可方便、灵活地描述非层次关系,能够更直接地描述现实世界,具有良好的性能,存取效率高。
由于关系模型概念清晰、结构简单、运算规范而得到广泛应用。目前微型机上常用的数据库管理软件都支持关系模型。
4.关系模型
1)关系的定义
关系模型中最基本的概念是关系(Relation)。表3.3给出的工资表就是一个关系。
表3.3 工资表
并非任何一个二维表都是一个关系。只有具备以下特征的二维表才是一个关系。
● 表中没有组合的列,也就是说每一列都是不可再分的。
● 表中每一列的所有数据都属于同一种类型。
● 表中各列都指定了一个不同的名字。
● 表中没有数据完全相同的行。
● 表中行之间顺序位置的调换和列之间位置的调换不影响它们所表示的信息内容。
具有上述特征的二维表称为规范化的二维表。如不做特殊说明文中提到的二维表均是规范化的二维表。
2)基本概念
关系:一个关系就是一张二维表,每个关系有一个关系名。在计算机里,一个关系可以存储为一个文件。
元组:表中的行称为元组。一行为一个元组,对应存储文件中的一个记录值。
属性:表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。
域:属性的取值范围,即不同元组对同一个属性的值所限定的范围。
关系模式:对关系的描述称为关系模式。
格式为:关系名(属性名1,属性名2,…,属性名n)
一个关系模式对应一个关系文件的结构。
例如:R(SNO,SNAME,SEX,BIRTHDAY,CLASS)
关键字(或码):属性或属性组合,其值能够唯一地标示一个元组。
主关键字(或主码):在一个关系中可能有多个候选关键字,从中选择一个作为主关键字。主关键字在关系中用来作为插入、删除、检索元组的区分标志。
外关键字(或外码):如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。
一般来说,属性值构成记录,记录构成关系。即一个关系描述现实世界的对象集,关系中的一个记录描述现实世界中的一个具体对象,它的属性值则描述了这个对象的属性。一个记录是由该行全体属性值组成,记录的全体组成了一个关系。
3)三种关系运算
我们把数据存入数据库是为了方便地使用这些数据。关系数据库管理系统为了便于用户使用,向用户提供了可以直接对数据库进行操作的查询语句。这种查询语句可以通过对关系(即二维表)的一系列运算来实现。
关系数据库系统至少应支持三种关系运算,即选择、投影和连接。
● 选择:从二维表中选出符合条件的记录,它是从行的角度对关系进行的运算。
● 投影:从二维表中选出所需要的列,它是从列的角度对关系进行的运算。
● 连接:同时涉及两个二维表的运算,它是将两个关系在给定的属性上满足给定条件的记录连接起来而得到的一个新的关系。
5.数据库应用系统的开发
数据库应用系统(Database Application Systems,DBAS)一般是指帮助用户建立、使用和管理数据库的软件系统。
DBAS的开发步骤可按照软件工程的思想进行,一般应先确定软件所需要的DBMS,然后可根据下面的步骤进行设计。
(1)需求分析。需求分析应包括两方面的主要分析,一是数据需求分析;二是功能需求分析。数据需求分析的结果可导出数据库的设计,而功能需求分析的结果是实现应用程序设计的基础。
(2)数据库设计。数据库的设计可以根据需求分析的内容按以下三个阶段进行:概念结构设计—逻辑结构设计—数据库物理设计。
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,一般用E-R图表示概念模型。
逻辑结构设计是将概念结构转化为选定的DBMS所支持的数据模型,并使其在功能、性能、完整性约束、一致性和可扩充性等方面均满足用户的需求。
数据库的物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),即利用选定的DBMS提供的方法和技术,以合理的存储结构设计一个高效的、可行的数据库物理结构。
(3)应用程序设计。可采用概要设计—详细设计—编码这三个阶段进行。这与前面的软件工程提到的理论是一致的。
(4)测试。在测试过程中,既要测试数据库的性能,也要测试应用程序的性能。在这一部分中用户的需求,特别是对数据库性能的需求的测试是最为关键的。
(5)维护。在用户使用过程中,既要对数据库进行维护,也要对应用程序进行维护。有时数据库维护的工作量要远远大于应用程序的维护。
习题
一、选择题
1.一个完整的计算机体系包括______。
A.主机、键盘和显示器
B.计算机与外部设备
C.硬件系统和软件系统
D.系统软件与应用软件
2.完整的计算机硬件系统一般包括外部设备和______。
A.运算器和控制器
B.存储器
C.主机
D.中央处理器
3.通常将微型计算机的运算器、控制器及内存储器称为______。
A.CPU
B.微处理器
C.主机
D.微机系统
4.关于微型计算机知识的叙述正确的是______。
A.外存储器中的信息不能直接进入CPU进行处理
B.CD-ROM是可读、可写的
C.USB接口不支持热插拔
D.Cache比CPU和内存的速度都慢
5.计算机的内存储器比外存储器______。
A.更便宜
B.存储容量更大
C.存储速度快
D.虽贵但能存储更多信息
6.当前微型计算机的主存储器可分为______。
A.内存与外存
B.RAM与ROM
C.软盘与硬盘
D.磁盘与磁带
7.微型计算机中运算器的主要功能是进行______。
A.算术运算
B.逻辑运算
C.算术和逻辑运算
D.初等函数运算
8.闪存是______。
A.一种新型的PROM内存
B.一种新型的EEPROM内存
C.一种新型的RAM内存
D.一种新型的EPROM内存
9.在下列设备中,______属于输出设备。
A.显示器
B.键盘
C.鼠标
D.微机系统
10.微型计算机系统采用总线结构对CPU、存储器和外部设备进行连接。总线通常由三部分组成,它们是______。
A.逻辑总线、传输总线和通信总线
B.地址总线、运算总线和逻辑总线
C.数据总线、信号总线和传输总线
D.数据总线、地址总线和控制总线
11.在计算机中,访问速度最快的存储器是______。
A.硬盘
B.软盘
C.光盘
D.内存
12.采用PCI的奔腾计算机,其中的PCI是______。
A.产品型号
B.总线标准
C.计算机系统名称
D.微处理器型号
13.配置高速缓冲存储器(Cache)是为了解决______。
A.内存与辅助存储器之间的速度不匹配问题
B.CPU与辅助存储器之间的速度不匹配问题
C.CPU与内存储器之间的速度不匹配问题
D.主机与外设之间的速度不匹配问题
14.在计算机系统中,软件与硬件之间的关系是______。
A.相互独立
B.相互依存,形成一个整体
C.有时相互依存,有时相互独立
D.只要有一部分即可
15.计算机能直接识别的程序是______。
A.源程序
B.机器语言程序
C.汇编语言程序
D.低级语言程序
16.一般操作系统的主要功能是______。
A.对计算机系统的所有资源进行控制和管理
B.对汇编语言、高级语言程序进行翻译
C.对高级语言程序进行翻译
D.对数据文件进行管理
17.操作系统文件管理的主要功能是______。
A.实现虚拟存储
B.实现按文件内容存取
C.实现文件的高速输入输出
D.实现按文件名存取
18.数据库系统的核心是______。
A.数据库
B.数据库管理员
C.数据库管理系统
D.文件
19.以下不是二维表的规范化规则的是______。
A.表中没有组合的列
B.不能有相同的列
C.不能有相同的行
D.不能调换行的顺序
20.下列叙述中正确的是______。
A.计算机中的可执行文件属于硬件
B.计算机软件是指存储在软盘中的程序
C.计算机每次启动的过程之所以相同,是RAM中的所有信息在关机后不会丢失
D.硬盘虽然装在主机箱内,但它属于外存
二、填空题
1.计算机硬件系统五大基本组成部分为_____、_____、_____、_____和_____。
2.当前计算机中最常用的输入、输出设备有_____。
3.显示器的主要技术指标有_____。
4.主板上的芯片组分为_____和_____。
5.CD-ROM的标准容量是_____。
6.USB接口具有热插拔功能,可以支持多达_____个外设。
7.LCD指的是_____显示器。
8.根据总线功能,总线可以分为_____、_____、_____。
9.计算机能直接执行的程序是_____。在机器内部是以_____编码形式表示的。
10.操作系统可以分为_____、_____、_____、_____、_____、_____和_____。
11.在关系型数据库中,每一个关系都是一个_____。
12.数据库系统采用的数据库模型有三种:即_____、_____和_____。
13.二维表中的列称为关系的属性,二维表中的行称为关系的_____。
三、简答题
1.什么是计算机硬件?什么是计算机软件?
2.简述计算机五大组成部分的名称与主要功能。
3.简述冯·诺依曼提出的计算机基本工作原理。
4.什么是指令?什么是计算机程序?
5.简述输入/输出设备功能,计算机中常用的输入/输出设备有哪几种?
6.主存储器(内存)与辅助存储器(外存)的区别是什么?
7.计算机的主要性能指标有哪几个?
8.计算机软件可分为哪几类?简述各类软件的含义。
9.什么是程序设计语言?常用的程序设计语言有哪些?
10.高级语言为什么必须要有翻译程序?翻译程序的实现途径有哪两种?
11.试述数据、数据库、数据库管理系统、数据库系统的概念。
12.简述数据库系统的组成。
13.数据模型主要有哪几种?