第1章 计算机基础知识
热点分析
计算机基础是事业单位招聘考试的重点考查内容之一,一般需要考生对常考的知识点进行强化记忆,并了解当前的计算机前沿技术。综观近几年各地事业单位计算机专业知识考试情况来看,考生需了解计算机发展、特点、分类、应用、主要技术指标,以及信息与信息技术的基本概念;掌握指令和程序设计语言的基本概念;熟悉微型计算机系统的构成;掌握信息在计算机中的表示,以及信息的计量单位;了解多媒体技术的概念及其发展、应用、压缩技术等;了解信息安全的基本概念、计算机病毒的定义、特征、防范、查杀等,以及防火墙的定义、作用等。
1.1 计算机的发展、特点、分类及应用
1.1.1 计算机的发展
以使用的基本逻辑元件为标志,可将计算机的发展划分为以下5个阶段。
1.第一代:电子管计算机时代(1946—1958年)
采用电子管制作基本逻辑部件,体积大、耗电量大、寿命短、可靠性差、成本高。
采用水银延迟电路或电子射线管作为存储部件,容量很小,后来外存储器使用了磁鼓存储信息,扩充了存储容量。
输入输出设备落后,还没有系统软件,只能用机器语言和汇编语言编程。
主要用于科学计算。
ENIAC属于第一代计算机。
2.第二代:晶体管计算机时代(1958—1964年)
采用晶体管制作基本逻辑部件,与第一代计算机相比,体积减小、重量减轻、能耗降低、制作成本下降,计算机的可靠性和运算速度得到了提高。
普遍采用磁芯作为主存储器,采用磁盘/磁鼓作为外存储器,存储容量有了提高。
开始有了系统软件,提出了操作系统的概念,出现了如FORTRAN、COBOL、ALGOL等高级程序设计语言。
应用领域扩大到数据处理、事务管理和工业控制等方面。
3.第三代:集成电路计算机时代(1964—1970年)
采用中、小规模集成电路制作各种逻辑部件。
采用半导体存储器作为主存,存储容量大幅度提高,增强了系统的处理能力。
系统软件有了很大发展,出现了分时操作系统,使多用户可以共享计算机软硬件资源。
采用结构化程序设计。
应用领域和普及程序迅速扩大,除用于科学计算、自动控制和数据处理外,还用于处理图形、图像及文字资料等方面。
集成电路使得计算机体积更小、质量更轻、耗电更省、寿命更长、成本更低、运算速度更快。
4.第四代:大规模或超大规模集成电路计算机时代(1970—1981年)
基本逻辑部件采用大规模或超大规模集成电路。
半导体存储器因集成度不断提高,而容量越来越大,外存广泛使用软硬磁盘和光盘。
各种输入输出设备相继出现,软件产业高度发展。
多媒体技术应用于计算机,集图像、图形、声音、文字处理于一体,广泛应用于社会各个领域。
5.第五代:智能计算机时代(1981年至今)
由日本在1981年10月东京第五代计算机国际会议上首次正式提出,并于1982年开始由通产省计划和组织实施。接着,美国国防部高级技术研究局于1983年制定了“战略计算机开发计划”,开始研制智能计算机。
“智能计算机”能够处理文字、符号、图像、图形和语言等非数值信息,即能进行知识处理的计算机。
第五代计算机的目标是进行知识处理。人类使用传统的计算机解决实际问题的一般过程如下:首先把要解决的问题抽象为模型,再给出解这个模型的算法,最后按此算法编制出计算机程序。如果把这一系列作业的一部分交给系统软件或硬件来完成,那么,计算机的应用就会变得更加方便和容易。因此,必须发展系统软件,使它更接近人们的思维。同时,也使硬件具有相应的功能,由硬件来承担现在软件和人所担负的大部分任务,从而给软件系统减轻负担。这样,就有可能把人所担负的任务交给软件来完成。这就是人们对第五代计算机的基本构想。
1.1.2 信息与信息技术
1.信息的概念和特点
随着计算机的普及,信息处理技术发展很快,人们对信息概念的认识也在不断加深,因此信息的含义也在不断发展。
在早期,信息是指音信或消息。现在人们一般认为信息是客观事物的特征和变化的一种反映,这种反映借助于某些物质载体并通过一定的形式(如文字、符号、色彩、味道、图案、数字、声音、影像等)表现和传播,它对人们的行为或决策有现实的或潜在的价值,它可以消除对客观事物认识的不确定性。
通常所说的信号、消息、情况、情报、资料、档案都属于信息的范畴,经过采集、存储、分类、加工等处理的数据都是信息,它们从不同的侧面、不同的视角反映了客观事物的特征和变化。物质载体的多样性,导致信息的表现和传播形式具有多样性,离开物质载体,信息无法表现和传播。人们在做出某种行为或决策之前,存在不确定性,随着相关信息的收集和分析,不确定性逐渐消除了。信息是无形财富,是战略资源,因此,正确、有效地利用信息,是社会发达程度的标志之一。
信息的主要特点如下:
· 广泛性:信息普遍存在于自然界、人类社会和人类思维活动中。
· 客观性:信息是客观事物的特征和变化的真实反映。
· 传递性:任何信息从信源出发,只有经过信息载体才能被信宿接收并进行处理和运用。信息可以在时间上或空间上从一点转移到另一点,可以通过语言、动作、文献、通信、电子计算机等各种媒介来传递,而且信息的传递不受时间或空间限制。信息在空间中的传递称为通信;信息在时间上的传递称为存储。可以通过不同的途径完成信息的传递,而互联网则为信息的传递提供了便捷的途径。
· 共享性:信息作为一种资源,不同个体或群体均可共同享有。
· 时效性:信息能够反映事物最新的变化状态。在一定的时间里,抓住信息、利用信息,就能取得成功。
· 滞后性:有些信息虽然当前用不上,但它的价值却仍然存在,以后还会有用。
· 再生性:人类可利用的资源可归结为3类,即物质、能源和信息。物质和能源都是不可再生的,属于一次性资源,而信息是可再生的。信息的开发意味着生产,信息的利用又意味着再生产。
· 不灭性:信息从信息源发出后,其自身的信息量没有减少,可以被复制并长期保存和重复使用。
· 能动性:信息的产生、存在和流通,依赖于物质和能量;反过来,信息可以控制和支配物质和能量的流动,并对其改变价值产生影响。
2.信息社会的概念和特点
信息社会也称信息化社会,是信息起主要作用的社会。
在信息社会中,信息成为比物质和能源更为重要的资源,以开发和利用信息资源为目的的信息经济活动迅速扩大,逐渐成为国民经济活动的主要内容,信息产业将成为整个社会最重要的支柱产业,信息经济在国民经济中占据主导地位。以计算机、微电子和通信技术为主的信息技术革命将推进智能工具的广泛使用,进一步提高整个社会的劳动生产率。智能化的综合网络将遍布社会的各个角落,固定电话、移动电话、电视、计算机等各种信息化的终端设备将无处不在,人们无论何时何地都可以获得文字、声音、图像等信息,易用、价廉、随身的数字产品及各种基于网络的家电产品将被广泛应用,人们将被各种信息终端所包围,信息技术将从根本上改变人们的生活方式、行为方式和价值观念。
信息社会的主要特点如下:
· 在国民经济总产值中,信息经济所创产值与其他行业所创产值相比占绝对优势。
· 信息社会的农业生产和工业生产将基于信息技术的智能化信息设备之上。
· 信息社会的电信、银行、物流、电视、医疗、商业、保险等服务将依赖于智能化的信息设备。家庭生活也将建立在智能化的信息设备之上。
· 信息技术的发展催生了一大批新的就业形态和就业方式,劳动力结构出现根本性的变化,从事信息职业的人数与从事其他职业的人数相比已占绝对优势。
· 全日制工作方式朝着弹性工作方式转变。
· 信息技术的发展所带来的现代化运输工具和信息通信工具使人们冲破了地域上的障碍,真正的世界市场开始形成。
· 信息技术提供给人们新的交易手段,电子商务成为实现交易的基本形态。
· 生活模式、文化模式的多样化和个性化得到加强,可供个人自由支配的时间和活动的空间都有较大幅度的增加。
· 尊重知识的价值观念成为社会风尚,是否拥有知识成为对劳动者的基本要求。
· 人类生活不断趋向和谐,社会可持续发展。
3.信息处理
对信息的收集、识别、存储、提取、加工、变换、传递、整理、检索、检测、分析、发布等一系列活动被称为信息处理。
在人类的发展过程中,信息处理大致经历了如下4个阶段。
· 原始阶段:本阶段的特点是使用语言、图画、算筹以及其他标记物(如结绳记事)来进行信息处理。
· 手工阶段:本阶段的特点是使用文字来进行信息处理,造纸技术和印刷技术的出现,推动了本阶段信息处理能力的提高。
· 机电阶段:本阶段的特点是使用机电手段来进行信息处理,蒸汽机、无线电报、有线电话和雷达的广泛使用,大大增强了人们进行信息处理的能力。
· 现代阶段:本阶段的特点是使用传感技术、计算机技术、通信技术和控制技术,在计算机、网络、广播电视等各种设备支持下进行信息处理。与过去相比,人们进行信息处理的能力发生了翻天覆地的变化。
信息与数据有着密切的关系,任何一种信息,当它可以经过编码转化为二进制的数据形式时,那么就可以通过计算机和互联网进行存储、加工、变换、检索、传递和发布。
4.信息技术的概念和特点
信息技术(Information Technology, IT)主要包括计算机技术、通信技术、传感技术和控制技术。信息技术因使用的目的、范围、层次不同而有不同的表述。广义而言,信息技术是指能充分利用与扩展人类信息器官功能的各种方法、工具与技能的总和。狭义而言,信息技术是指利用计算机、网络、广播电视等各种硬件设备、软件工具与科学方法,进行信息处理的技术之和。
信息技术的主要特点如下:
· 高速化:计算机和通信的发展追求的均是高速度、大容量。
· 网络化:信息网络分为电信网、广电网和计算机网。三网有各自的形成过程,其服务对象、发展模式和功能等有所交叉,又互为补充。信息网络的发展异常迅速,从局域网到广域网,再到国际互联网及有“信息高速公路”之称的高速信息传输网络,计算机网络在现代信息社会中扮演了重要的角色。
· 数字化:数字化就是将信息用电磁介质或半导体存储器按二进制编码的方法加以处理和传输,在信息处理和传输领域,广泛采用的是只用“0”和“1”两个基本符号组成的二进制编码,二进制数字信号是现实世界中最容易被表达、物理状态最稳定的信号。
· 个性化:信息技术将实现以个人为目标的通信方式,充分体现可移动性和全球性,实现个人通信全球性、大规模的网络容量和智能化的功能。
· 智能化:智能化的应用体现在利用计算机模拟人的智能,如机器人、医疗诊断专家系统及推理证明、智能化的各种辅助软件、自动考核与评价系统、视听教学媒体及仿真实验等。
1.1.3 计算机的特点和分类
1.计算机的特点
(1)快速的运算能力
电子计算机的工作基于电子脉冲电路原理,由电子线路构成其各个功能部件,其中电场的传播扮演主要角色。由于电磁场传播的速度很快,所以现在高性能计算机每秒能进行几百亿次的加法运算。如果一个人在一秒钟内能完成一次运算,那么一般电子计算机可在一小时内完成一个人100多年的工作量。
(2)足够高的计算精度
理论上,电子计算机的计算精度不受限制,一般的计算机均能达到15位有效数字,通过一定的技术手段,可以实现任何精度要求。
(3)超强的记忆能力
计算机中有许多存储单元,用以记忆信息。内部记忆能力是电子计算机和其他计算工具的一个重要区别。由于具有内部记忆信息的能力,在运算过程中不需要每次都从外部去取数据,而只需事先将数据输入到内部的存储单元中,运算时直接从存储单元中获得数据,从而大幅提高运算速度。
(4)复杂的逻辑判断能力
人是有思维能力的。思维能力本质上是一种逻辑判断能力,也可以说是对因果关系的分析能力。借助于逻辑运算法则,可以让计算机作出逻辑判断,分析命题是否成立,并可根据命题成立与否作出相应的对策。例如,数学中著名的“四色问题”,即不论多么复杂的地图,要使相邻区域颜色不同,最多只需4种颜色就够了。100多年来不少数学家一直想去证明它或者推翻它,却一直没有结果,成了数学中著名的难题。1976年,两位美国数学家使用计算机进行了非常复杂的逻辑推理,终于验证了这个著名的猜想是正确的。
(5)程序控制方式
一般的机器是由人控制的,人给机器一条指令,机器就能完成一个操作。计算机的操作也是受人控制的,但由于计算机具有内部存储能力,可以将指令事先输入到计算机存储起来,在计算机开始工作以后,从存储单元中依次去取指令,用来控制计算机的操作,使人们不必实时干预计算机的工作,从而实现操作的自动化。这种工作方式称为程序控制方式。
2.计算机的分类
计算机的分类很多,一般可以从以下几个方面来划分。
(1)从计算机规模来分:可分为巨型机、大型机、中型机、小型机和微型机。
(2)从信息表现形式和被处理的信息来分:可分为数字计算机(数字量、离散的)、模拟计算机(模拟量、连续的)、数字模拟混合计算机。
(3)按照用途来分:可分为通用计算机和专用计算机。
(4)按采用操作系统来分:可分为单用户机系统、多用户机系统、网络系统和实时计算机系统。
(5)从字长来分:可分为4位、8位、16位、32位和64位计算机。
(6)按厂家来分:可分为原装机和兼容机。
(7)按CPU来分:可分为386、486、586、PⅡ、PⅢ和PⅣ计算机等。
(8)按主机形式来分:可分为台式机、便携机、笔记本式机和手掌式机。
1.1.4 计算机的应用
计算机的应用已渗透到社会的各行各业,正在改变着传统的工作、学习和生活方式,推动着社会的发展。计算机主要应用于以下6个领域。
1.科学计算(数值计算)
科学计算是指利用计算机来解决科学研究或工程技术中提出的数学问题的计算。现代科学技术工作中的科学计算问题是大量而复杂的。利用计算机的高速计算、大存储容量和连续运算的能力,可解决人工无法完成的各种科学计算。这也是计算机最初的应用。
2.数据处理(信息处理)
数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,80%以上的计算机主要用于数据处理,这类工作量大、面宽,决定了计算机应用的主导方向。
3.辅助技术(计算机辅助设计与制造)
计算机辅助技术包括CAD、CAM、CAI、CIMS、CAT等。
(1)计算机辅助设计
计算机辅助设计(Computer Aided Design, CAD)是利用计算机系统辅助设计人员进行工程或产品设计,以实现最佳设计效果的一种技术。它已广泛地应用于飞机、汽车、机械、电子、建筑和轻工等领域。例如,在电子计算机的设计过程中,利用CAD技术进行体系结构模拟、逻辑模拟、插件划分、自动布线等工作,可大大提高设计工作的自动化程度。又如,在建筑设计过程中,利用CAD技术进行力学计算、结构计算、绘制建筑图纸等工作,不但提高了设计速度,且可极大改善设计质量。
(2)计算机辅助制造
计算机辅助制造(Computer Aided Manufacturing, CAM)是利用计算机系统进行生产设备的管理、控制和操作的过程。例如,在产品的制造过程中,用计算机控制机器的运行,处理生产过程中所需的数据,控制和处理材料的流动以及对产品进行检测等。使用CAM技术可以提高产品质量,降低成本,缩短生产周期,提高生产效率和改善劳动条件。
(3)计算机辅助教学
计算机辅助教学(Computer Aided Instruction, CAI)是通过计算机系统以使用课件来完成的教学。课件可以用著作工具或高级语言来开发制作,它能引导学生循序渐进地学习,使学生轻松自如地从课件中学到所需要的知识。CAI的主要特色是交互教育、个别指导和因人施教。
(4)计算机辅助测试
计算机辅助测试(Computer Aided Testing, CAT)领域的产品线包括三维空间扫描仪、检测臂等,主要为客户带来高精度的测量数据。产品的检测尺寸跨越度很大,既可以做精密零部件和产品的尺寸检测,亦可为工厂、流程工业提供大尺度的测量服务,在此基础上,还可以为企业用户提供测量的全面解决方案。计算机辅助测试技术主要应用于汽车、国防军工、航空航天等行业。
(5)计算机集成制造系统
计算机集成系统(Computer Integrated Manufacturing System, CIMS)是集设计、制造、管理三大功能于一体的现代化工厂生产系统,具有生产效率高、生产周期短等特点,是20世纪制造工业的主要生产模式。在现代化的企业管理中,CIMS的目标是将企业内部所有环节和各个层次的成员全都用计算机网络组织起来,形成一个能够协调、统一和高速运行的制造系统。
4.过程控制(实时控制)
过程控制是利用计算机及时采集、检测数据,按最优值迅速地对控制对象进行自动调节或自动控制。采用计算机进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。因此,计算机过程控制已在机械、冶金、石油、化工、纺织、水电、航天等行业得到广泛的应用。
5.人工智能(智能模拟)
人工智能(Artificial Intelligence)是计算机模拟人类的智能活动,诸如感知、判断、理解、学习、问题求解和图像识别等。现在人工智能的研究已取得不少成果,有些已开始走向实用阶段。例如,模拟高水平医学专家进行疾病诊疗的专家系统,具有一定思维能力的智能机器人等。
6.网络应用
计算机技术与现代通信技术的结合构成了计算机网络。计算机网络的建立,不仅解决了单位之间、地区之间、国家之间计算机与计算机的通信、各种软件资源的共享,同时实现了国际间的文字、图像、视频和声音等各类数据的传输与处理。
1.1.5 计算机的主要技术指标
一台计算机的性能是由多方面的指标决定的,不同的计算机其侧重面不同。主要性能指标包括以下8个。
(1)字长
计算机中的信息是用二进制数来表示的,最小的信息单位是二进制的位。
①字的概念:在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字(Word)。字的长度用二进制位数来表示,通常将一个字分为若干个字节(每个字节是二进制数据的8位)。例如,16位微机的一个字由2个字节组成,32位微机的一个字由4个字节组成。在计算机的存储器中,通常每个单元存储一个字。在计算机的运算器、控制器中,通常都是以字为单位进行信息传送的。
②字长的概念:计算机的每个字所包含的二进制位数称为字长,它是指计算机的运算部件能同时处理的二进制数据的位数。根据计算机的不同,字长有固定的和可变的两种。一种是固定字长,即字的长度不论什么情况都是固定不变的;另一种是可变字长,即在一定范围内,其长度是可变的。计算机处理数据的速率,自然与它一次能加工的二进制位数以及进行运算的快慢有关。如果一台计算机的字长是另一台计算机的两倍,即使两台计算机的速度相同,在相同的时间内,前者能做的工作是后者的两倍。字长是衡量计算机性能的一个重要因素,计算机的字长越长,则运算速度越快、计算精度越高。
(2)主频
主频指计算机的时钟频率,即CPU每秒内的平均操作次数,单位是兆赫兹(MHz),在很大程度上决定了计算机的运算速度。
(3)内存容量
内存容量即内存储器(一般指RAM)能够存储信息的总字节数。它直接影响计算机的工作能力,内存容量越大,则机器的信息处理能力越强。
(4)存取周期
把信息代码存入存储器,称为“写”。把信息代码从存储器中取出,称为“读”。存储器完成一次数据的读(取)或写(存)操作所需要的时间称为存储器的访问时间,连续两次读或写所需的最短时间称为存取周期。存取周期越短,则存取速度越快。
(5)硬盘性能
硬盘的主要性能指标是硬盘的存储容量和存取速度。
(6)外设配置
外设种类繁多,要根据实际需要合理配置,如声卡、显示适配器等。
(7)软件配置
通常是根据工作需要配置相应的软件。例如,操作系统、各种程序设计语言处理程序、数据库管理系统、网络通信软件和字处理软件等。
(8)运算速度
运算速度是一项综合性的性能指标,其单位是MIPS(百万条指令/秒)。因为各种指令的类型不同,所以执行不同指令所需的时间也不一样。影响机器运算速度的因素很多,主要是CPU的主频和存储器的存取周期。
1.2 指令和程序设计语言
计算机之所以能够按照人们的安排自动运行,是因为采用了存储程序控制的方式。所谓程序就是一组计算机指令序列。
1.2.1 计算机指令与程序
计算机的工作过程就是执行程序的过程,而程序则由按顺序存放的指令组成,计算机在工作时,就是按照预先规定的顺序,取出指令、分析指令、执行指令,完成规定的操作。
1.指令
简单说来,指令(Instruction)就是指挥机器工作的指示和命令,程序就是一系列按一定顺序排列的指令,执行程序的过程就是计算机的工作过程。通常一条指令包括两方面的内容:操作码和操作数。操作码决定要完成的操作,例如,加、减、乘、除、传送等;操作数是指参加运算的数据及其所在的单元地址。操作数指出参与操作的数据和操作结果存放的位置。
通常,一台计算机能够完成多种类型的操作,而且允许使用多种方法表示操作数的地址。因此,一台计算机可能有多种多样的指令,这些指令的集合称为该计算机的指令系统。指令系统反映了计算机所拥有的基本功能,可分为复杂指令系统和简化指令系统。
(1)复杂指令系统(CISC):不断地增加指令系统中的指令,增加指令复杂性及其功能,即增加新的指令来代替可由多条简单指令组合完成的功能,如现在用在PC机中的MMX多媒体扩展指令等,以此来提高计算机系统的性能。
(2)简化指令系统(RISC):其基本思想是简单的指令能执行得更快以及指令系统只需由使用频率高的指令组成。
2.程序
程序是设计者为解决某一问题而设计的一组有序指令,这些指令被要求逐一执行。它表达了程序员要求计算机执行的操作。程序是以某种语言为工具编制出来的,下面简单介绍程序设计语言。
1.2.2 程序设计语言
程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一种被标准化的交流方式,用来向计算机发出指令。计算机语言可以让程序员准确地定义计算机所要使用的数据,并精确地定义在不同情况下应当采取的行动。程序设计语言通常分为机器语言、汇编语言和高级语言三类。
1.机器语言
机器语言又称低级语言、二进制代码语言。它是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。计算机可以直接识别机器语言,不需要进行任何翻译。但是,在某种类型计算机上编写的机器语言程序不能在另一类型计算机上使用。可见机器语言的可移植性差。
2.汇编语言
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。在汇编语言中,用助记符号代替操作码,用地址符号或标号代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。因此汇编语言也称为符号语言。
3.高级语言
高级语言也称为算法语言,是一种更容易阅读理解而且用它来编写的程序具有通用性的计算机语言。其语言接近人们熟悉的自然语言和数学语言,直观易懂,便于程序的编写调试。高级语言的使用,大大提高了编程的效率,改善了程序的可读性。不同类型CPU的高级语言基本通用。目前常用的高级语言有Basic、C、C++、C#、JAVA等。
与汇编语言相同的是,CPU不能直接识别高级语言,所以也要把高级语言源程序翻译成目标程序才能执行,因此执行效率不高。高级语言的目标程序可以是机器语言的,也可以是汇编语言的。
将高级语言源程序进行翻译执行时,涉及解释程序和编译程序。
(1)解释程序
所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。
解释程序的工作方式非常适于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。
这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。
对源程序边解释翻译成机器代码边执行的高级语言程序。所以,解释程序的有点是方便性和交互性较好,早期一些高级语言采用这种方式,如BASIC、dBASE。它的弱点是运行效率低,程序的运行依赖于开发环境,不能直接在操作系统下运行。
(2)编译程序
把用高级程序设计语言或计算机汇编语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高且需要高效运行的高级语言书写的源程序。
1.3 微型计算机系统构成
美籍匈牙利科学家冯·诺依曼,对计算机的发展作出了巨大贡献,他提出了“程序存储、程序控制”的设计思想,同时指出计算机的构成包括如下几个方面。
(1)由运算器、存储器、控制器、输入设备、输出设备五大基本部件组成计算机系统,并规定了五大部件的基本功能,如图1—1所示。
(2)计算机内部采用二进制表示数据和指令。
(3)采用程序存储、程序控制技术(将程序事先存入主存储器中,计算机在工作时能在不需要操作人员干预的情况下,自动逐条取出指令并加以执行)。
图1—1 冯·诺依曼结构
现代意义的计算机系统由计算机硬件系统及软件系统两大部分构成,如图1—2所示。
计算机硬件:是计算机系统中由电子、机械和光电元件组成的各种部件和设备的总称,是计算机完成各项工作的物质基础,是计算机系统中的实际装置,是构成计算机的看得见、摸得着的物理部件。总之,它是计算机的“躯壳”。
计算机软件:是指计算机所需的各种程序及有关资料。它是计算机的“灵魂”。
图1—2 计算机系统的组成
1.3.1 计算机硬件系统
计算机硬件系统由中央处理器、存储器、输入设备和输出设备组成。
1.中央处理器
运算器和控制器合在一起称为中央处理器(Central Processing Unit, CPU)。在微型计算机中,运算器和控制器一般集成在一块芯片上,制成大规模集成电路。因此,CPU常常又被称为微处理器。
运算器也称为算术逻辑单元(Arithmetic Logic Unit, ALU),用于执行所有的算术和逻辑运算指令。计算机最主要的工作是运算,大量的数据运算任务都是在运算器中进行的。
控制器负责把指令逐条从存储器中取出,经译码分析后向整机发出取数、执行、存数等控制命令,以保证正确完成程序所要求的功能。控制器一般由指令寄存器、指令译码器、时序电路和控制电路组成。
CPU与寄存器通过内部数据总线相互连接,并通过系统总线(数据总线、地址总线、控制总线)同主存储器和外部设备进行数据交换。通常所说的286、386、486、586机,指的就是它们相应的CPU型号分别是80286、80386、80486、80586。
目前主流处理器为英特尔的酷睿处理器,各大厂商生产的个人计算机大部分采用了酷睿处理器。
英特尔酷睿微体系结构,是领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比,对服务器、台式机和笔记本电脑等多种处理器进行了多核优化,其创新特性可带来更出色的性能、更强大的多任务处理性能和更高的能效水平,各种平台均可从中获得巨大优势。目前Core 2系列已退隐市场,现役的主要是Core i3/i5/i7。
2.存储器
存储器是计算机的记忆部件,它的职能是存储程序和数据。存储器的分类如下所述。
(1)按存储器能否直接与CPU交换信息来划分,可分为主存储器和辅助存储器。
(2)按存储介质的材料及器件的不同,可分为磁介质存储器、半导体存储器以及激光光盘存储器。
(3)按存取方式的不同,存储器可分为随机存储器RAM和只读存储器ROM。
RAM的特点是存储器中每个单元的内容可随时读出和写入,且对任一存储单元进行读写操作所需的时间是一样的,关机后RAM中的信息消失。
ROM一旦存入了信息,在程序执行的过程中,只能读出其中的信息,不能随意写入信息,关机后信息不消失。
3.输入设备
输入设备用来接受用户输入的原始数据和程序,并将它们转换为计算机可以识别的二进制形式存放在内存中。常用的输入设备有键盘、鼠标、扫描仪和磁盘机等。
4.输出设备
输出设备与输入设备相反,是将存放在内存中由计算机处理的结果转换为人们所能接受的形式的设备,它由输出装置和输出接口电路组成。常用的输出设备有显示器、打印机、绘图仪、磁盘机和磁带机等。
1.3.2 计算机软件系统
计算机软件系统是程序和程序运行所需要的数据以及开发、使用和维护这些程序所需要的文档集合。软件内容丰富、种类繁多,根据软件用途可将其分为系统软件和应用软件两大类。
1.系统软件
系统软件是指控制计算机的运行、管理计算机的各种资源并为应用软件提供支持和服务的一类软件,是保证计算机系统正常工作必须配备的基本软件。系统软件通常包括操作系统、语言处理程序和各种服务性程序。
(1)操作系统
操作系统是系统软件的核心,是现代计算机的必备软件。它对计算机所有资源进行统一管理,使计算机的使用变得方便简捷。操作系统具有5项功能:处理机管理、文件管理、作业管理、设备管理、存储管理。
按功能分,操作系统可分为实时操作系统和作业处理系统两大类。
(2)语言处理程序
为使计算机能按人们的要求进行工作,仅输入数据是不够的,还要告诉计算机怎样处理这些数据。计算机能识别并执行的信息符号代码的指令集合称为计算机语言。计算机语言可以分为机器语言、汇编语言和高级语言3类。计算机语言处理程序就是将非机器语言进行处理的系统软件。
(3)服务性程序
服务性程序是指协助用户进行软件开发和硬件维护的软件,如各种开发调试工具软件、编辑程序、诊断程序等。
2.应用软件
应用软件是在系统软件基础上为解决用户的具体问题,面向某个领域而设计的软件,因此,又分为通用软件和专用软件。
常见的应用软件有文字处理软件、工程设计绘图软件、办公事务管理软件、图书情报检索软件、医用诊断软件、辅助教学软件、辅助设计软件等。
1.4 计算机中的信息
不同的信息在计算机中有不同的表现形式,不同的表现形式之间可以互相转换,并且有自己的计量单位。另外,数值在计算机中的表示有若干种形式,文字、字符的编码也有多种。
1.4.1 信息的表示形式
在计算机中,信息以数据的形式来表示。从表面上看,信息一般可以使用符号、数字、文字、图形、图像、声音等形式来表示,但在计算机中最终都要使用二进制数来表示。计算机使用二进制数来存储、处理各种形式和各种媒体的信息。由于二进制使用起来不方便,所以人们经常使用十进制、八进制和十六进制。
通常将计算机中的信息分为两大类:一类是计算机处理的对象,泛称为数据;另一类是计算机执行的指令,即程序。计算机内部的电子部件通常只有“导通”和“截止”两种状态,所以计算机中信息的表示只要有“0”和“1”两种状态即可。由于二进制数有“0”和“1”两个数码,所以人们在计算机中使用二进制数。由于人们习惯于使用十进制数,对二进制不熟悉,同时在一些程序设计中,为了方便地表示数,又要使用八进制和十六进制数,所以存在着它们之间的转换问题。
所谓进位计数制(简称数制)就是按进位的方法来计数。在不同的数制中,把某一进位计数制中涉及的数字符号的个数称为基数,基数为十则为十进制,基数为二则为二进制,基数为八则为八进制,基数为十六则为十六进制。
十进制数有0—9十个数码,逢十进位。
二进制数只有0和1两个数码,逢二进位。
八进制数有0—7八个数码,逢八进位。
十六进制有0—9和A、B、C、D、E、F(或小写的a—f)16个数码,其中A—F(或a—f)分别代表十进制中的数10—15,逢十六进一。
在计算机中,为了区分不同的进位计数制,有两种方式表示。
第一种方式是在数字后面加英文字母作为标识,标识如下:
B(Binary) 表示二进制数,如1011B;
O(Octonary) 表示八进制数,如237O;
D(Decimal) 表示十进制数,如318D;
H(Hexadecimal) 表示十六进制数,如6B1E7H。
第二种方式是将数字放括号中,在括号后面加下标,如下所示:
(1011)2 2表示二进制数
(4612)8 8表示八进制数
(8519)10 10表示十进制数
(3A1D)16 16表示十六进制数
1.4.2 数制转换
1.其他进制转换成十进制
在十进制中,一个十进制数198.06可表示成下面的展开形式:
(198.06)10=1×102+9×101+8×100+0×10-1+6×10-2
这里,10称为十进制的“基”数,100、101、102……叫做十进制各位的“权”数。1、9、8、0、6叫做基为10的“系数”。这种展开方法称为按权相加。
一般地,可将任何一种数制的展开式表示成下面的形式:
N=dn×rn-1+dn-1×rn-2+…+d1×r0+d-1×r-1+…+d-m×r-m
其中d为系数,r为基数。n、m为正整数,分别代表整数位和小数位的位数。
只要采用按权相加法就可将其他进制数转换成十进制数。
例如,二进制数1011.101、八进制数476.667、十六进制数B5A.E3的按权展开式为:
(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3
(476.667)8=4×82+7×81+6×80+6×8-1+6×8-2+7×8-3
(B5A.E3)16=11×162+5×161+10×160+14×16-1+14×16-1+3×16-2
【例1-1】将(11001.1001)2转换为十进制数。
(11001.1001)2
=1×24+1×23+0×22+0×21+1×20+1×2-1+0×2-2+0×2-3+1×2-4
=16+8+1+0.5+0.0625
=(25.5625)10
【例1-2】将(123)8转换为十进制数。
(123)8=1×82+2×82+3×80=(83)10
【例1-3】将(1A2D)16转换为十进制数。
(1A2D)16= 1× 163+10 × 162+ 2 × 161+ 13 ×160=(6701)10
2.十进制转换为二进制、八进制或十六进制
任何两个有理数如果相等,那这两个数的整数部分和小数部分一定会分别相等。因此,在进行各种数制之间的转换时,可以把整数部分和小数部分分别进行转换。
十进制数转换成二进制数、八进制数和十六进制数的原理均相同,转换时,整数部分和小数部分分别进行转换。
十进制整数转换成其他进制整数,通常采用“除基取余法”。
所谓除基取余法,就是将已知十进制数反复除以转换进制的基数r,第一次除后的商作为下次的被除数,余数作为转换后相应进制数的一个数码。第一次相除得到的余数是该进制数的低位(K0),最后一次余数是该进制数的高位(Kn-1)。从低位到高位逐次进行,直到商是0为止,则Kn-1Kn-2…K1 K0即为所求转换后的进制数。
十进制小数转换成其他进制小数,通常采用“乘基取整法”。
所谓乘基取整法,就是将已知十进制小数反复乘以转换进制的基数r,每次乘r后,所得乘积有整数部分和小数部分,整数部分作为转换后相应进制数的一个数码,小数部分继续乘r。从高位向低位依次进行,直到其满足精度要求或乘r后小数部分为0时停止。第一次乘r所得的整数部分为K-1,最后一次乘r所得的整数部分为K-m。所得的小数为0.K-1K-2…K-m。
【例1-4】将(26)10转换成二进制数。
因为:
所以,(26)10=(11010)2。
【例1-5】将(0.78125)10转换成二进制。
因为:
则(0.78125)10=(0.K-1K-2K-3K-4K-5)2=(0.11001)2。
如果十进制小数在转换时,乘积取整不为0或产生循环,那么只要保留所要求的精度即可。
【例1-6】将(26.78125)10转换为二进制数。
因为:(26)10=(11010)2, (0.78125)10=(0.11001)2
所以:(26.78125)10=(11010.11001)2
【例1-7】将(139)10转换成八进制数。
所以:(139)10=(213)8
【例1-8】将(0.425)10转换成八进制。
如果取5位小数能满足精度要求,则得(0.425)10≈(0.33146)8。
可见,十进制小数不一定能转换成完全等值的其他进制小数。遇到这种情况时,根据精度要求,取近似值即可。
3.二进制数转换为八进制或十六进制数
二进制数转换成八进制数的依据是23=8,根据表1-1所示进行转换,将二进制数整数部分从低位到高位,每3位对应1位八进制数,不足3位时在前面补0;小数部分则从小数的最高位开始,每3位对应1位八进制数,不足3位时在后面补0。
二进制数转换成十六进制数的依据是24=16,根据表1-1进行转换。将二进制数整数部分从低位到高位,每4位对应1位十六进制数,不足4位时在前面补0;小数部分则从小数的最高位开始,每4位对应1位十六进制数,不足4位时在后面补0。
表1-1 十进制、二进制、八进制、十六进制对照表
【例1-9】把(1101001)2转换成八进制数。
因为:
所以:(1101001)2=(151)8
【例1-10】把二进制小数(0.0100111)2转换成八进制小数。
因为:
所以:(0.0100111)2=(0.234)8
【例1-11】把(101101101.0100101)2转换成十六进制数。
因为:
所以:(101101101.0100101)2=(16D.4A)16
4.八进制、十六进制转换成二进制
八进制或十六进制数转换成二进制数,也是根据表1-1进行转换。只需将八进制数的每1位展开成对应的3位二进制数、将十六进制数的每1位展开成对应的4位二进制数即可。
【例1-12】把八进制数(643.503)8转换成二进制数。
因为:
所以:(643.503)8=(110100011.101000011)2
【例1-13】将(1863.5B)16转换成二进制数。
因为:
所以:(1863.5B)16=(1100001100011.01011011)2
5.二进制数的运算规则
在计算机中,采用二进制数可实现各种算术运算。
二进制数的算术运算规则类似于十进制数的运算。
加法规则:0+0=0, 0+1=1, 1+0=1, 1+1=10。
减法规则:0-0=0, 0-1=1(向高位借位),1-0=1, 1-1=0。
乘法规则:0×0=0, 0×1=0, 1×0=0, 1×1=1。
除法规则:0÷1=0, 1÷1=1。
1.4.3 信息的计量单位
1.几个基本概念
(1)位(Bit)
计算机存储信息的最小单位是“位”。“位”是指二进制数中的一个数位,一般称之为比特(Bit),其中的值为“0”或“1”。
(2)字节(Byte)
字节在计算机中作为计量单位,一个字节由8个二进制位组成,其最小值为0,最大值为(11111111)2=(FF)16=255。一个字节对应计算机的一个存储单元,它可存储一定的内容,例如存储一个英文字母“A”的编码,其对应的内容为“01000001”。
2.扩展存储单位
计算机存储容量的基本单位是字节,用B表示。还有KB、MB、GB、TB作为存储容量的计算单位,它们之间的关系为:
KB:千字节1KB=1024B=210B
MB:兆字节1MB=1024KB=220B
GB:吉字节1GB=1024MB=230B
TB:太字节1TB=1024GB=240B
1.4.4 数值在计算机中的表示
数值在计算机中是以二进制形式表示的,除了要表示一个数的值外,还要考虑符号、小数点的表示。小数点的表示隐含在某一位置上(定点数)或浮动(浮点数)。
1.二进制数整数的原码、反码和补码
在计算机中所有数和指令都是用二进制代码表示的。一个数在计算机中的表示形式称为机器数,机器数所对应的原来数值称为真值。由于采用二进制,计算机也只能用“0”、“1”来表示数的正、负,即把符号数字化,“0”表示正数,“1”表示负数。原码、反码和补码是把符号位和数值位一起编码的表示方法。
(1)原码
规定:符号位为“0”时表示正数,符号位为“1”时表示负数,数值部分用二进制数的绝对值表示,称为原码表示方法。
例如,假设机器数的位数是8位,最高位是符号位,其余7位是数值位。[+9]的原码表示为00001001, [-9]的原码表示为10001001。
注意:
数0的原码有两个值,有“正零”和“负零”之分,机器遇到这两种情况都当作0处理。[+0]的原码=00000000, [-0]的原码=10000000。
(2)反码
反码是另一种表示有符号数的方法。对于正数,其反码与原码相同。对于负数,在求反码时,是将其原码除符号位之外的其余各位按位取反。即除符号位之外,将原码中的“1”都换成“0”、“0”都换成“1”。
例如,[+9]的反码是00001001, [-9]的反码是11110110。
数0的反码也有两种形式,[+0]的反码是00000000, [-0]的反码是11111111。
(3)补码
正数的补码与其原码相同。负数的补码是先求其反码,然后在最低位加1。
例如:[+9]的补码是00001001, [-9]的补码是11110111。
数0的补码只有一种表示形式,即[+0]的补码=[-0]的补码=00000000。
2.数的小数点表示法
(1)定点数表示法
定点数表示法通常把小数点固定在数值部分的最高位之前,或把小数点固定在数值部分的最后面。前者将数表示成纯小数,后者把数表示成整数。
(2)浮点数表示法
浮点数表示法是指在数的表示中,其小数点的位置是浮动的。任意一个二进制数N可以表示成:N=2 E· M,式中M——数的尾数或数码,E——指数(是数N的阶码,是一个二进制数)。将一个浮点数表示为阶码和尾数两部分,尾数是纯小数,其形式为:
阶符,阶码;尾符,尾数
例如,N=(2.5)10=(10.10)2=0.1010×210的浮点表示为:
0, 10; 0, 1010
阶符 阶码 尾符 尾数
上面的阶码和尾数都是用原码表示,实际上往往用补码表示。浮点数的表示方法比定点数表示数的范围大,数的精度也高。
综上所述,计算机中使用二进制数,引入补码把减法转化为加法,简化了运算;使用浮点数扩大了数的表示范围,提高了数的精度。
3.二进制编码的十进制数
在计算机输入输出时,通常采用十进制数。要使计算机能够理解十进制数,就必须进行二进制编码。常用的有BCD码即8421码,是指用二进制数的4位来表示十进制数的1位。
例如,用8421码表示十进制数876,则8用1000表示,7用0111表示,6用0110表示,得到(876)10→(100001110110)8421。
1.4.5文字、字符的编码
由于计算机内部存储、传送及处理的信息只有二进制信息,因此各种文字、符号也就必须用二进制编码表示。在计算机内部处理字符信息的编码统称为机内码,机内码有内部码、地址码、字形码等。其中内部码是字符在计算机内部最基本的表达形式,是在计算机中存储、处理和传送字符用的编码。字形码是表示字符形态的字模数据,是为输出字符给人看而准备的编码。考虑到处理汉字的计算机系统要中西文兼容和其他原因,汉字的内部码与其交换码不完全相同。
1.ASCII码
美国信息交换标准代码(American Standard Code for Information Interchange, ASCII),已为世界所公认。这种字符标准编码是由7位二进制数码“0”和“1”组成,共27=128种,包括10个十进制数码、52个英文大小写字母、32个通用控制字符、34个专用符号,如表1-2所示。在计算机中常用1个字节(8位二进制数)来表示1个字符,而ASCII码由7位二进制数组成,多出的1位(最高位)常用作奇偶校验位,主要用来验证计算机在进行信息传输时的正确性,在字符编码中一般置为0。
字符通过输入设备转换为用ASCII码表示的字符数据,送入计算机;再由输出设备把要输出的ASCII码转换为字符传送给用户。
表1-2 ASCII字符编码表
2.汉字编码
计算机通过包含汉字在内的字符集与用户进行信息交换,这些信息由计算机处理时,首先要把它变成计算机能接受的代码形式,最终计算机处理的信息又必须将内部代码形式转换成汉字的字形,才能被用户所理解。
3.Unicode
Unicode(Universal Multiple-octet Coded Character Set)是一种由国际组织设计的编码方法,可以容纳全世界所有文字的字符编码方案。
计算机只能处理数字,在处理字母或其他字符时,需指定一个数字来表示。在Unicode之前,有数百种指定这些数字的编码系统,这些编码系统会相互冲突,也就是说,两种编码可能使用相同的数字代表两个不同的字符,或使用不同的数字代表相同的字符。例如,在简体中文(GB)、繁体中文(BIG5)和日文中,同一字“文”的编码各不相同,在不同的编码或平台之间会产生乱码。Unicode解决了这个问题,由于采用统一的编码,每个字符的编码各不相同且是唯一的,不必管它在哪种文字里。
Unicode给每个字符提供了一个唯一的数字,不论是什么平台、什么程序,还是什么语言,它将世界上使用的所有字符都列出来,并给每个字符一个唯一的特定数值。Unicode标准已经被业界主要厂商Apple、HP、IBM、JustSystem、Microsoft、Oracle、SAP、Sun、Sybase、Unisys和其他许多公司所采用,许多操作系统、所有最新的浏览器和许多其他产品都支持Unicode。Unicode标准的出现和支持它的工具的存在,是近年来全球软件技术最重要的发展趋势。
Unicode中采用两个字节的编码方案,可以表示216- 1=65535个字符,前128个字符是标准ASCII字符,接下来是128个扩展ASCII字符,其余字符供不同语言的文字和符号使用。在2000年公布的版本V3.0内包括10236个字母和符号、27786个汉字、11172个韩文拼音、6400个造字区、20249个保留区和65个控制符。Unicode只与ASCII兼容,与GB不兼容。目前Windows的内核已经采用Unicode编码,以便支持全世界所有的语言文字。
1.5 多媒体技术
1.5.1 多媒体的基本概念
1.媒体
媒体一词来源于拉丁语“Medium”,音译为媒介,意为两者之间。它是指人借助用来传递信息与获取信息的工具、渠道、载体、中介物或技术手段。也可以把媒体看作为实现信息从信息源传递到受信者的一切技术手段。媒体有两层含义:一是承载信息的物体,二是指储存、呈现、处理、传递信息的实体。
2.多媒体和多媒体技术
多媒体(Multimedia),在计算机系统中,组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。使用的媒体包括文字、图片、照片、声音(包含音乐、语音旁白、特殊音效)、动画和影片以及程序所提供的互动功能。
多媒体技术(Multimedia Technology),就是将文本、图形、图像、动画、视频和音频等形式的信息,通过计算及处理,使多种媒体建立逻辑连接,集成为一个具有实时性和交互性的系统化表现信息的技术。简而言之,多媒体技术就是综合处理图、文、声、像信息,并使之具有集成性和交互性的计算机技术。
1.5.2 多媒体技术的特性
1.信息媒体的多样性
信息媒体的多样性是多媒体的主要特性之一。在多媒体技术中,计算机所处理的信息空间范围拓展了,不再局限于数值、文本、图形和图像,并且强调计算机与声音、影像相结合,以满足人类感官空间对多媒体信息的需求。这在计算机辅助教育,以及产品广告、动画片制作等方面都有很大的发展前途。
2.多种信息的综合和集成处理
多媒体技术不仅要对多种形式的信息进行各种处理,而且要将它们有机地结合起来。突出的例子是动画制作,要将计算机产生的图形或动画与摄像机摄得的图像叠加在一起,在播放时再和文字、声音混合,这样,就需要对多种信息进行综合和集成处理。
多媒体的集成性主要体现在两点:一是多媒体信息的集成,是指各种媒体信息应能按照一定的数据模型和组织结构集成为一个有机的整体,以便媒体的充分共享和操作使用。二是操作这些媒体信息的工具和设备的集成,是指与多媒体相关的各种硬件设备和软件的集成,这为多媒体系统的开发和实现建立一个集成环境。
3.多媒体系统是一个交互式系统
多媒体的另一个关键特性是交互性。多媒体系统采用人机对话方式,对计算机中存储的各种信息进行查找、编辑及同步播放,操作者可通过鼠标或菜单选择自己感兴趣的内容。交互性为用户提供了更加有效的控制和使用信息的手段和方法,这在计算机辅助教学、模拟训练和虚拟现实等方面都有着巨大的应用前景。
1.5.3 多媒体计算机
1.多媒体计算机的概念
多媒体计算机技术(Multimedia Computer Technology)的定义是:计算机综合处理多种媒体信息,例如文本、图形、图像音频和视频,使多种信息建立逻辑连接,成为一个系统并具有交互性。简单地说,计算机综合地处理声、文、图信息,并且具有集成性和交互性。
由Microsoft公司联合主要PC厂商组成的MPC市场协会,分别在1991年、1993年和1995年制定了多媒体计算机(MPC)的标准(MPC1.0、MPC2.0、MPC3.0)。按照MPC联盟的标准,多媒体计算机包含5个基本单元:个人计算机、CD-ROM驱动器、音频卡、Microsoft Windows操作系统及一组音响或耳机,同时对个人计算机的CPU、内存、硬盘和显示功能等做了基本要求。
现代MPC的主要硬件配置必须包括CD-ROM、音频卡和视频卡,这三方面既是现代MPC的重要组成部分,也是衡量一台MPC功能强弱的基本标志。
MPC3.0标准制定以来,计算机的软硬件技术又有了新的发展,特别是网络技术的迅速发展和普及,使多媒体计算机不仅是娱乐中心,也有成为信息处理和通信中心的趋势。未来的多媒体计算机除了在多媒体功能上不断加强外,必须把网络功能和通信功能(如Fax/Modem及网络通信软件)作为基本配置列入标准。
2.多媒体计算机的主要技术
在多媒体计算机中,主要技术有以下几项。
(1)视频和音频数据的压缩和解压缩技术
视频信号和音频信号数字化后数据量大得惊人,这是制约多媒体发展和应用的最大障碍。一帧中等分辨率(640×480)真彩色(24位/像素)数字视频图像的数据量约占0.9MB的空间。如果存放在650MB的光盘中,以每秒30幅的速度播放,只能播放20几秒;双通道立体声的音频数字数据量为1. 4MB/秒,一个650MB的光盘只能存储7分钟声音的音频数据。一部放映时间为2小时的电影或电视,其视频和音频的数据量约占208800MB的存储空间。所以,一定要把这些信息压缩后存放,在播放时解压缩。所谓图像压缩,是指图像从以像素存储的方式,经过图像变换、量化和高速编码等处理转换成特殊形式的编码,从而大大降低计算机所需要存储和实时传送的数据量。
(2)超大规模集成(VLSI)电路制造技术
声音和图像信息的压缩处理需要进行大量的计算,视频图像的压缩处理要求实时完成,这对通用个人计算机来说是非常困难的。由于VLSI技术的进步,生产出低廉的数字信号处理器(DSP)芯片,使得通用个人计算机可以解决上述问题。在通用个人计算机需要多条指令才能完成的处理,在DSP上用一条指令即可。
(3)专用芯片
多媒体计算机要进行大量的数字信号处理、图像处理、压缩和解压缩及解决多媒体数据之间关系等问题,它需要使用专用芯片。专用芯片包含的功能较多,集成度可达上亿个晶体管。
(4)大容量存储器
目前,DVD-ROM用得较多,发展大容量的DVD-ROM存储器是目前要解决的问题。DVD (Digital Video Disc)意思是数字视频光盘,DVD盘的容量为4.7GB,而CD光盘的容量仅为700MB。
(5)虚拟现实技术(VR)
虚拟现实技术VR(Virtual Reality)是指利用计算机生成一种模拟环境,并通过多种专用设备使用户“投入”到该环境中,实现用户与该环境直接进行交互的技术。VR技术融合了数字图像处理、计算机图形学、人工智能、多媒体技术、传感器、网络以及并行处理技术,可以为用户同时提供视觉、听觉、触觉等多种直观而自然的实时感知。
(6)多媒体的数字水印技术
目前的信息安全技术是以密码学理论为基础的。数字化的多媒体数据实际上就是数字信号,对这类数据如果采用密码加密模式,则其本身的信号属性就会被忽略。近几年许多研究人员放弃了传统密码学的技术路线,尝试用各种信号处理的方法对音像数据进行隐藏加密,并将该技术用于制作多媒体的“数字水印”。数字水印(Digital Watermark)技术是指用信号处理的方法,在数字化的多媒体数据中嵌入隐藏的标记,这种标记通常是可见的,只有通过专用的检测器或阅读器才能读取。
(7)超媒体技术
超文本结构类似于人类的联想记忆结构,它采用一种非线性的网状结构来组织块状信息,没有固定顺序,也不要求按顺序浏览。超文本是一种按信息之间关系非线性地存储、组织、管理和浏览信息的计算机技术。超媒体技术是指采用超文本方法来表达丰富的多媒体信息的技术。
(8)研制适用于多媒体技术的软件
如多媒体操作系统,为多媒体计算机用户开发应用系统而设置的具有编辑功能和播放功能的创作系统软件,以及各种多媒体应用软件。
3.多媒体计算机的硬件
多媒体计算机的硬件系统是指系统的所有物理设备,它是多媒体系统的物质基础。多媒体计算机的硬件系统由主机、多媒体外部设备接口卡和多媒体外部设备构成。多媒体外部设备接口卡包括声卡、视频卡、VGA/TV转换卡和光盘接口卡等。多媒体外部设备按照功能可分为以下4类:
· 视频/音频输入设备,如摄像机、录像机、影碟机、扫描仪、话筒、录音机激光唱盘和MIDI合成器等。
· 视频/音频输出设备,如显示器、电视机、投影电视、扬声器、立体声耳机等。
· 人机交互设备,如键盘、鼠标、触摸屏、光笔等。
· 数据存储设备,如CD-ROM、磁盘、可擦写光盘、打印机等。
下面对一些多媒体计算机的硬件做简单介绍。
(1)声卡
音频卡简称声卡,从硬件上实施声音信号的数字化、压缩、存储、解压和回放等功能,并提供各种声乐设备(收音机、录放机、CD、合成器等)的接口与集成能力。
(2)视频卡
视频卡以硬件方式快速有效地解决活动图像信号的数字化、压缩、存储、解压和回放等重要视频处理和标准化问题,并提供各种视频设备如摄像机、录放像机、影碟机、电视等的接口与集成能力。视频卡按功能可分为视频转换卡、动态视频捕捉卡、视频压缩卡和视频合成卡等。
(3)DVD-ROM(或CD-ROM)驱动器
为了存储大量的影像、声音、动画、程序数据和高分辨率的图像信息,必须使用容量大、体积小、价格低的DVD(或CD-ROM)。DVD-ROM(或CD-ROM)驱动器分为单速(150 KB/s)、双倍速(300 KB/s)、3倍速(450 KB/s)、4倍速(600 KB/s)、8倍速(1200 KB/s)、10倍速(15000 KB/s)……40倍速等。
(4)扫描仪
扫描仪用于扫描文字、表格、图形和图像。分为黑白扫描仪和彩色扫描仪。
(5)触摸屏
触摸屏用于直接在屏幕上触摸来代替键盘、鼠标工作。
4.多媒体操作系统
多媒体操作系统是多媒体系统的核心。多媒体操作系统用于支持多媒体的输入输出以及相应的软件接口,具有实时任务调动、多媒体数据转换和同步控制、仪器设备驱动和控制、图形用户界面管理等功能。
多媒体操作系统主要有微软公司的Windows系列操作系统,以及Apple公司SYSTEM7.0中提供的Quick Time操作平台等。
1.5.4 多媒体信息技术
无论现在的多媒体电脑功能如何强大,其内部也只能处理数字信息。因此,同数字和字符一样,声音、图像或视频也要转换成许多比特(Bit)的二进制码0和1,才能被计算机识别和处理。模拟信号转换成能被计算机识别的二进制信息,一般经过采用、量化、编码等3个步骤。采样是每隔一定时间间隔对模拟波形上取一个瞬时值。量化是将每个采样点得到的瞬时值用最接近的数值来表示。编码则是将采样、量化后的数值以一定的格式记录下来。模拟信号经过采样成为离散信号,离散信号经过量化成为数字信号。此过程中用到的主要硬件设备便是模拟/数字转换器(Analog to Digital Con-verter, ADC)。
1.数字音频
数字音频技术可以利用数字化手段对声音进行录制、存放、编辑、压缩或播放。它是随着数字信号处理技术、计算机技术、多媒体技术的发展而形成的一种全新的声音处理手段。数字音频和一般彩带、广播、电视中的声音有着本质区别,它具有存储方便、存储成本低廉、存储和传输的过程中没有失真等特点,同时易于编辑和处理。我们熟悉的CD和MP3,都是典型的数字音频文件。常见的数字音频编辑工具有很多,例如Adobe Audition、Cool Edit Pro等。
2.数字图像
数字图像又称为数码图像或数位图像,是二维图像用有限数值像素的表示。通常,像素在计算机中保存为二维整数组的光栅图像,这些值经常用压缩格式进行传输和存储。数字图像可以由许多不同的输入设备和技术来生成,例如数码相机、扫描仪、坐标测量机等;也可以通过对任意的非图像数据进行合成来得到,例如数学函数或三维几何模型。常见的图形图像文件格式有BMP、JPG、GIF、PNG等;常见的数字图像编辑工具有Photoshop、CorelDraw等。
3.数字视频
数字视频就是以数字形式记录的视频。与模拟视频相比,数字视频有不同的产生方式、存储方式和播出方式,两者常见的区别如下。
· 数字视频可以不失真地进行无数次复制,而模拟视频信号每转录一次,就会有一次误差累积,产生信号失真。
· 模拟视频长时间存放后视频质量会降低,而数字视频便于长时间存放。
· 可以对数字视频进行非线性编辑,并可以对其增加特技效果。
· 数字视频数据量大,在存储与传输的过程中必须进行压缩编码。
常见的视频文件格式有AVI、MPEG、Divx、MOV等,为了与互联网更好地结合,还有流媒体文件格式ASF、WMV、RM、RMVB、SWF、FLV等。常见的数字视频编辑工具有Ulead Video Studio、RealMedia Editor等。
1.5.5 数据压缩技术
经过数字化的声音、图片、尤其是视频信息的数据量非常大。例如,每秒30帧分辨率为1280× 1024的24位真彩色高质量电视图像,如果现实1分钟需要大约1280×1024×3Byte×30f/s×60S≈6.6 GB。
1.为什么要对多媒体信息进行压缩
一张650MB的光盘只能存放大约6秒这样的图像,由此可见视频的数据量之大,如果不进行处理,计算机系统在对其进行存储和传输的过程中需要占用大量资源。因此,在多媒体计算机系统中,为了达到令人满意的图像、视频画面质量和听觉效果,必须解决视频、图像、音频信号数据的大容量存储和实时传输问题。解决的方法,除了提高计算机本身的性能及通信信道的带宽以外,更重要的是对多媒体进行有效的压缩。
多媒体数据之所以能够压缩,是因为视频、图像、声音这些媒体具有很大的压缩力。以目前常用的位图格式的图像存储方式为例,在这种形式的图像数据中,像素与像素之间无论是在行方向还是在列方向都具有很大的相关性,因而整体上数据的冗余度很大;在允许一定限度失真的前提下,能对图像数据进行很大程度的压缩。
2.多媒体信息压缩的方法
根据解码后数据与原始数据是否完全一致进行分类,压缩方法可以分为有损压缩和无损压缩两大类:
· 有损压缩会减少信息量,并且损失的信息是不能恢复的,因此这种压缩是不可逆的。
· 无损压缩则去掉或减少了数据中的冗余,但这些冗余是可以重新插入到数据中的,因此无损压缩是可逆的过程。
常用的文件压缩工具WinRAR,压缩的文件就属于典型的无损压缩;数字音频中的MP3格式采用的是有损压缩方式,而APE格式采用的是无损压缩方式;数字图像中的JPG格式采用的是有损压缩方式,而PNG格式采用的是无损压缩方式。
1.6 信息安全
1.6.1 信息安全的基本概念
1.计算机信息安全
计算机信息系统是一个人机系统,基本组成有3部分:计算机实体、信息和人。在计算机信息系统中,信息的采集受制于人,信息的处理受制于人,信息的使用受制于人。人机交互是计算机信息处理的一种基本手段,也是计算机信息犯罪的入口。
计算机信息系统安全的范畴主要包括:实体安全、信息安全、运行安全和人员安全。
实体安全是指保护计算机设备、设施(含网络)以及其他媒体免遭破坏的措施、过程。破坏因素主要有人为破坏、雷电、有害气体、水灾、火灾、地震、环境故障。实体安全范畴包括环境安全、设备安全、媒体安全。计算机实体安全的防护是防止信息威胁和攻击的第一步,也是防止对信息威胁和攻击的天然屏障。
信息安全是防止信息被故意地和偶然地非法授权、泄漏、更改、破坏或使信息被非法系统识别、控制。信息安全的目标是保证信息保密性、完整性、可用性、可控性。信息安全范围主要包括操作系统安全、数据库安全、网络安全、病毒防护、访问控制、加密、鉴别7个方面。
运行安全是指信息处理过程中的安全。运行安全范围主要包括系统风险管理、审计跟踪、备份与恢复、应急4个方面的内容。系统的运行安全检查是计算机信息系统安全的重要环节,用来保证系统能连续、正常地运行。
人员安全主要是指计算机工作人员的安全意识、法律意识、安全技能等。除少数难以预知和抗拒的天灾外,绝大多数灾害是人为的,由此可见人员安全是计算机信息系统安全工作的核心。人员安全检查主要是法规宣传、安全知识学习、职业道德教育和业务培训等。
2.计算机信息面临的威胁
计算机信息系统本身的缺陷和人类社会存在的利益驱使,不可避免地存在对计算机信息系统的威胁。
(1)计算机信息系统的脆弱性
计算机信息系统的脆弱性可从以下几个环节来分析。
①信息处理环节中存在的不安全因素
信息处理环节的脆弱性存在于:输入系统的数据容易被篡改或输入假数据。数据处理部分的硬件容易被破坏或盗窃,并且容易受电磁干扰或自身电磁辐射而造成信息泄漏。数据容易在传输线路上被截获,传输线路容易被破坏或盗窃。软件(包括操作系统、数据库系统和程序)容易被修改或破坏。输出信息的设备容易造成信息泄漏或被窃取。系统的存取控制部分的安全存取控制功能还比较薄弱。
②计算机信息系统自身的脆弱性
信息系统自身的脆弱性是体系结构存在先天不足,其主要有以下3个方面。
· 计算机操作系统的脆弱性:操作系统不安全性是信息不安全的重要原因。操作系统的程序是可以动态连接的,包括I/O的驱动程序与系统服务,都可以通过打补丁进行动态连接;该方法合法系统可用,黑客也可以用。操作系统的安全隐患还有:为系统开发人员提供的便捷入口,操作系统安排的隐蔽信道和无口令入口。
· 计算机网络系统的脆弱性:网络协议建立时,基本没有考虑安全问题。ISO7498是在后来才加入了5种安全服务和8种安全机制,TCP/IP也存在类似问题,Internet出现后使安全问题更为严重。TCP/IP提供的FTP、TELNET、E-MAIL、NFS、RPC存在漏洞。通信网络也存在弱点,通过未受保护的线路可以访问系统内部,通信线路可以被搭线窃听和破坏。
· 数据库管理系统的脆弱性:数据库管理系统安全应与操作系统的安全级别相同。
③其他不安全因素
在信息处理方面也存在许多不安全因素,主要存在以下几个方面。
· 存储密度高。在一张磁盘或U盘中可以存储大量信息,很容易放在口袋中带出去,容易受到意外损坏或丢失,造成大量信息丢失。
· 数据可访问性。数据信息可以很容易地被复制下来而不留任何痕迹。
· 信息聚生性。信息系统的特点之一,就是能将大量信息收集在一起进行自动、高效地处理,产生很有价值的结果。当信息以分离的小块形式出现时,它的价值往往不大,但当将大量信息聚集在一起时,信息之间的相关特性,将极大地显示出这些信息的重要价值。信息的这种聚生性与其安全密切相关。
· 保密困难性。计算机系统内的数据都是可用的,尽管可以设许多关卡,但对一个熟悉计算机的人来说,获取数据并非很难。
· 介质的剩磁效应。存储介质中的信息有时是擦除不干净或不能完全擦除掉的,会留下可读信息的痕迹,一旦被利用,就会泄密。
· 电磁泄漏性。计算机设备工作时能够辐射出电磁波,任何人都可以借助仪器设备在一定的范围内收到它,尤其是利用高灵敏度仪器可以清晰地看到计算机正在处理的机密信息。
· 信息介质的安全隐患。在磁盘信息恢复技术方面,硬盘被格式化多遍,其残留信息仍能被恢复。当对磁盘“以旧换新”时,往往没有注意这种形式的信息外泄。
(2)信息系统面临的威胁
计算机信息系统面临的威胁主要来自自然灾害构成的威胁、人为和偶然事故构成的威胁、计算机犯罪的威胁、计算机病毒的威胁和信息战的威胁等。
自然灾害构成的威胁有火灾、水灾、风暴、地震、电磁泄漏、干扰、环境(温度、湿度、振动、冲击、污染)影响。不少计算机机房没有防、避雷措施,使计算机遭雷击损失。
人为或偶然事故构成的威胁有如下几方面:硬、软件的故障引起安全策略失效;工作人员的误操作使系统出错,使信息严重破坏或无意地让别人看到了机密信息;环境因素的突然变化,如高温或低温、各种污染破坏了空气洁净度,电源突然掉电或冲击造成系统信息出错、丢失或破坏。
计算机犯罪的威胁是指利用暴力和非暴力形式,故意泄露或破坏系统中的机密信息,以及危害系统实体的不法行为对个人、社会造成的危害。暴力是对计算机设备和设施进行物理破坏;非暴力是利用计算机技术及其他技术进行犯罪。
计算机病毒的威胁是指遭受为达到某种目的而编制的、具有破坏计算机或毁坏信息的能力、自我复制和传染能力的程序的攻击。我国90%的局域网,曾遭受过病毒的侵袭,比西方国家的50%的病毒感染率高出许多。例如,1996年夏,武汉证券所的Netware网络受“夜贼”(Byrglar)DOS型病毒的袭击,首先影响双向卫星通信,接着造成网络瘫痪,仅当天直接经济损失达500多万元。病毒的威胁主要是计算机本身的薄弱性带来的。
信息战的威胁是指为保持自己在信息上的优势、获取敌方信息并干扰敌方信息的信息系统、保护自己的信息系统所采取的行动。现代信息技术在军事上的使用称为信息武器即第四类战略武器。信息武器大体分为3类:具有特定骚扰或破坏功能的程序,如计算机病毒;具有扰乱或迷惑性能的数据信号;具有针对性信息擦除或干扰运行的噪声信号。
(3)计算机信息受到的攻击
计算机信息受到的攻击可分为两类:对实体的威胁和攻击;对信息的威胁和攻击。信息攻击的目的是对信息保密性、完整性、可用性、可控性进行破坏。
对实体的威胁和攻击主要是威胁和攻击计算机及其外部设备和网络。如各种自然灾害和人为的破坏、设备故障、电磁场干扰或电磁泄漏、战争破坏、媒体被盗或遗失等。
对信息的威胁和攻击主要手段有两种:信息泄漏和信息破坏。前者是偶然地或故意地获得目标系统中的信息,其手段有侦攻、截获、窃取、分析破译;后者是偶然事故或人为破坏信息,其手段有利用系统本身的脆弱性、滥用特权身份、不合法地使用、修改或非法复制系统中的数据。
攻击分为主动攻击与被动攻击。
①主动攻击
主动攻击是指以各种方法,有选择地修改、删除、添加、伪造和复制信息。
主动攻击的主要方法有以下5种。
· 窃取并干扰通信线路中的信息。
· 返回渗透。有选择地截取系统中央处理器的通信,然后将伪造信息返回给系统用户。
· 线间插入。当合法用户占用信道而终端设备还没有动作时,插入信道进行窃听或信息破坏活动。
· 非法冒充。采取非常规的方法和手段,窃取合法用户的标识符,冒充合法用户进行窃取或信息破坏。
· 系统人员的窃密和毁坏系统数据、信息的活动等。
② 被动攻击
被动攻击是在不干扰系统正常使用的情况下进行侦收、窃取系统信息,利用观察信息、控制信息的内容来获取目标系统的设置、身份,利用研究机密信息的长度和传递的频度获取信息的性质。被动攻击的特点是隐蔽,不易被用户察觉,攻击持续性长,危害大。
被动攻击的主要方法有以下5种。
· 直接侦收。利用电磁传感器或隐藏的收发信息设备直接侦收或搭线侦收信息系统的中央处理器、外转设备、终端设备、通信设备或线路上的信息。
· 截获信息。系统及设备在运行时散射的寄生信号容易被截获,短波、超短波、微波和卫星设备有相当大的辐射面,市话线路、长途架空明线电磁辐射也相当严重。
· 合法窃取。利用合法用户身份,设法窃取未授权的信息;利用合法查询的数据,推导出不该了解的机密信息。
· 破译分析。对已经加密的机要信息,进行解密,获取信息。
· 从遗弃的媒体中分析获取信息。从遗弃的打印纸、各种记录和统计报表、窃取或丢失的软盘中获取信息。
3.计算机信息安全技术
计算机信息安全保护的内容主要包括两个方面:一是国家实施的安全监督管理体系;二是计算机信息系统使用单位自身的保护措施。无论哪个方面都包括3点:安全法规、安全管理和安全技术。
(1)计算机信息的安全体系
信息安全体系就是要将有非法侵入信息倾向的人与信息隔离开。计算机信息安全体系保护的层次包括:信息、安全软件、安全硬件、安全物理环境、法律、规范、纪律、职业道德和人。其中最里层是信息本身的安全,人处于最外层,需要层层防范。信息处于被保护的核心,与安全软件和安全硬件均密切相关。
(2)计算机信息的实体安全
在计算机信息系统中,计算机及其相关的设备、设施(含网络)统称为计算机信息系统的“实体”。实体安全是指为了保证计算机信息系统安全可靠运行,确保计算机信息系统在对信息进行采集、处理、传输、存储过程中,不至于受到人为或自然因素的危害,导致信息丢失、泄漏或破坏,而对计算机设备、设施、环境人员等采取适当的安全措施。
实体安全主要分为环境安全、设备安全和媒体安全3个方面。
①环境安全。计算机信息系统所在的环境保护,主要包括区域保护和灾难保护。
②设备安全。计算机信息系统设备的安全保护主要包括设备的防毁、防盗、防止电磁信息辐射泄漏和干扰及电源保护等方面。
③媒体安全。计算机信息系统媒体安全主要包括媒体数据的安全及媒体本身的安全。
实体安全的基本要求是:中心周围100米内没有危险建筑;设有监控系统;有防火、防水设施;机房环境(温度、湿度、洁净度)达到要求;防雷措施;配备有相应的备用电源;有防静电措施;采用专线供电;采取防盗措施等。
(3)信息运行安全技术
保证计算机信息运行的安全是计算机安全领域中最重要的环节之一。这方面的技术主要有风险分析、审计跟踪技术、应急技术和容错存储技术。
①风险分析
风险分析是用于估计威胁发生的可能性以及由于系统容易受到攻击的脆弱性而引起的潜在损失的方法。风险分析一般分为3个阶段,即设计前和运行前的静态分析,意在发现对信息的潜在安全隐患;信息运行时的动态分析,跟踪记录运行过程,意在发现运行期的安全漏洞;系统运行后的分析,得出系统脆弱性方面的分析报告。
风险分析方法就是按危险的严重性和可能性进行风险评价,划分等级,得出风险指数,并给出的处理方法。
严重性等级分4级:Ⅰ级(灾难的)、Ⅱ级(严重性)、Ⅲ级(轻度的)和Ⅳ级(轻微的)。
可能性等级分5级:A级(频繁)、B级(很可能)、C级(有时)、D级(极少)和E级(不可能)。
②审计跟踪技术
审计是对计算机信息系统的运行过程进行详细的监视、跟踪、审查、识别和记录,从中发现信息的不安全问题。审计可能防止信息从内部泄露、防止和发现计算机犯罪。审计的主要内容有:记录和跟踪信息处理时各种系统状态的变化;实现对各种安全事故的定位;保存、维护和管理日志。
③应急技术
应急技术是在风险分析和风险评估基础上制定的应急计划和应急措施。应急计划的制定主要考虑3个方面的因素:紧急反应、备份操作和恢复措施。
与此对应的应急措施,应做到以下几方面:紧急行动方案;信息资源备份;快速恢复技术。
④容错存储技术
容错存储技术主要用于信息备份与保护的应急措施中。这些技术主要有以下几种。
· 自制冗余度:利用双硬盘自动备份每日的数据,当工作硬盘损坏后,仅损失当天的数据,可以减少信息的损失程度,也可以缩短备份的时间间隔。
· 磁盘镜像:这种技术也称为热备份技术。在信息处理时,通过智能控制器和软件同时对两个物理驱动器进行信息的写入,这样当一个工作驱动器损坏时,不会有数据损失。由于两个驱动器的信息完全相同,称其为镜像。
· 磁盘双工:磁盘双工通过提供两个控制器供信息处理和成对的驱动器记录信息,它比磁盘镜像更先进。
(4)计算机系统安全等级
为了有效地保护信息,防范各种可能的入侵,帮助系统设计者和使用者明确系统安全的程度,必须有一个安全等级的标准和内容。美国国防部制订了《可信赖计算机评估准则(Trusted Computer Standards Evaluation Criteria)》将信息处理的等级和采取的应对策略划分为多个安全类和级别,级别从低到高,依次是D级、C1级、C2级、B1级、B2级、B3级、A1级、超A1级。这些类和级别既可用于设计、评判,也可用于用户选择安全产品。
①D类,非安全保护类。只有一级。最低安全等级,为不需要任何安全限制的系统准备的。
②C类,自主保护类。各级提供无条件保护,并通过审计跟踪提供主体及其结果的责任,分两个级别。C1级,自主保护安全。通过提供用户与数据之间的隔离来满足可信任计算机(Trusted Com-puting Base, TCB)的自主安全保护(又称无条件安全保护),即隔离控制、标识验证、领地维权。账号现口令就属于此类。C2级,可控安全保护。这是比C1级更精细的无条件存取控制,通过注册程序、审计以及隔离等措施使用户对它的活动负责。除C1级的功能外,还提供防止存取权力的扩散,自动识别系统中各个个体的能力等。
③B类,强制保护类。采取使用敏感性的标号来执行一组强制性存取控制的规则,有3个安全级别。B1级,标记强制安全保护;B2级,结构强制安全保护;B3级,强制安全区域保护。
④A类,验证保护类。采用最高形式设计规范说明文件(Formal Top-Level Specification, FTLS)和验证技术系统,目前只使用A1级,也有专家已提出了超A1级。A1级,验证设计安全保护。主要验证原则有安全策略模型文本、能使TCB执行的抽象定义、能表明TCB的FTLS与模型一致、TCB实现与FTLS一致、用形式化分析技术来标识和分析隐蔽信道。
(5)信息安全技术
计算机信息安全技术是指信息本身安全性的防护技术,以免信息被故意地和偶然地破坏。主要有以下4种安全防护技术。
①加强操作系统的保护
由于操作系统允许多用户和多任务访问存储区域,加强I/O设备访问控制,限制过多的用户通过I/O设备进入信息和文件系统。
共享信息不允许完整性和一致性的损害,对于一般用户只给予只读性的访问。所有用户应得到公平服务,不应有隐蔽通道。操作系统开发时留下的隐蔽通道应及时封闭,对核心信息采用隔离措施。
②数据库的安全保护
数据库是信息存放集中的位置。数据库系统是在操作系统支持下运行的,对数据库中的信息加以管理和处理。在安全上虽然有了操作系统给予的一定支持和保障,但信息最终是要与外界通信的,数据库系统由于本身的特点,使操作系统不能提供完全的安全保障,因此还需要对其加强安全管理技术防范。数据库主要有以下几个安全特点。
· 数据库中存储的信息众多,保护客体存在多方面,如文件、记录、字段,它们保护的程序和要求不同,数据库中某些数据信息生命周期较长,需要长期给予安全保护。
· 分布广域、开发网络的数据库系统中,用户多而分散,安全问题尤为严重,数据库的语法和语义上存在缺陷,可能导致数据库安全受损。
· 需要防止通过统计数据信息推断出机密的数据信息,要严防操作系统违反系统安全策略、通过隐蔽通道传输数据。
根据上述数据库的安全性特点,加强数据库系统的功能需要构架安全的数据库系统结构,确保逻辑结构机制的安全可靠;强化密码机制;严格鉴别身份和访问控制,加强数据库使用管理和运行维护等。
③访问控制
访问控制是限制合法进入系统用户的访问权限,主要包括授权、确定存取权限和实施权限。访问控制主要是指存取控制,它是维护信息运行安全、保护信息资源的重要手段。访问控制的技术主要包括目录表访问控制、访问控制表、访问控制矩阵等。
④密码技术
密码技术是对信息直接进行加密的技术,是维护信息安全的有力手段。它的主要技术是通过某种变换算法将信息(明文)转化成别人看不懂的符号(密文),在需要时又可以通过反变换将密文转换成明文,前者称为加密,后者称为解密。明文是指加密前的原始信息;密文是指明被加密后的信息,一般是杂乱无章、毫无意义的字符序列,使人难以理解和分析。密钥是指控制加密算法和解密算法中实现的关键信息。加密密钥和解密密钥可以相同或不同。
4.计算机网络安全技术
目前,计算机网络采用5层网络系统安全体系结构,即网络安全性、系统安全性、用户安全性、应用程序安全性和数据安全性。
· 网络安全性,网络安全性问题的核心在于网络是否能得到控制。
· 系统安全性,主要考虑的问题有两个:一是病毒对于网络的威胁;二是黑客对于网络的破坏和侵入。
· 用户安全性,用户的安全性所要考虑的问题是:是否只有那些真正被授权的用户才能够使用系统中的资源和数据?要有强有力的身份论证,确保用户的密码不会被他人破译。
· 应用程序安全性。需要解决的问题是:是否只有合法的用户才能够对数据进行操作。
· 数据安全性。所要解决的问题是:机密数据是否还处于机密状态?在数据的保存过程中,机密的数据即使处于安全的空间,也要对其进行加密处理,以保证万一数据失窃,偷盗者(如网络黑客)也读不懂其中的内容。
保护计算机网络安全的具体方向如下。
(1)网络加密技术
密码学是信息安全防护领域里的一个重要的内容,内容涉及到加密、解密两个方面。
①保密密钥法
保密密钥法也叫对称密钥法,这类加密方法在加密时使用同一把密钥,这个密钥只有发信人和收信人知道。由于使用同一密钥,发信人和收信人在开始传输数据之前必须先交换密钥,由此引出了如何保证传输密钥的通道是安全的问题。因此收、发信人必须事先拟订一套在正式传输开始之前安全交换密钥的方案。目前应用范围最广的是数字加密标准。
②公开密钥法
公开密钥法也称为不对称加密。这类加密方法需要用到两个密钥:一个私人密钥和一个公开密钥。在准备数据传输时,发信人先用收信人的公开密钥对数据进行加密,再把加密后的数据发送给收信人,收信人在收到信件后要用自己的私人密钥对它进行解密。公开密钥在概念上很简单,但要生成一对既能密切配合,又能高度保密的密钥,其过程是很复杂的。这个过程的复杂性,正好体现了数据的安全性,在传输数据间,人们不必再交换私人密钥。
③数字签名
数字签名(Digital Signature, DS)是通过某种加密算法在一条地址消息的尾部添加一个字符串、而收件人可以根据这个字符串验明发件人身份的一种技术。数字签名的作用与手写签名相同,能唯一地确定签名人的身份,同时还能在签名后对数据内容是否又发生了变化进行验证。数字签名在确定信件发信人方面的准确性和可靠性方面更强,但存在一个如何确认收信人的私人密钥没有泄密的问题。解决这个问题的一种方案是引入一个第三方,由它来确定密钥拥有者的身份并向收信人证明这一结论。人们把这些第三方称为认证机构(CA),它们是公共密钥体系的一个关键组成,一般由政府来承担。
(2)身份认证
随着网络经济的发展,网上支付形式将成为一种必然的趋势,但网上支付除了传输安全以外,最重要的一点是如何保证其支付的合法性。要确保自身的利益不受损失,首先要确认对方的消息及传送者的真实性。认证技术要验证的身份信息一般指对方身份和授权界限,身份的作用是让系统知道确实存在这样一个用户,授权的作用是让系统判断该用户是否有权访问其申请的资源和数据。
(3)防火墙技术
黑客(Hacker)是指通过网络非法入侵他人系统、截获或篡改计算机数据、危害信息安全的计算机入侵者。黑客们非法侵入有线电视网、在线书店和拍卖点,甚至政府部门的站点,更改内容,窃取敏感数据。对付黑客和黑客程序的有效方法是安装防火墙,在联网的机器中使用信息过滤设备,防止恶意、未经许可的访问。防火墙是指建立在内外网络边界的过滤封锁机制。内部网络被认为是安全和可信赖的,外部网络被认为是不安全和不可信赖的。由于网络协议本身存在安全漏洞,所以外部侵入是不可避免的,防火墙的作用是防止不希望的、未经授权的通信进出被保护的内部网络,通过边界控制强化内部网络的安全政策。
(4)Web网中的安全技术
采用超文本链接和超文本传输协议(HTTP)技术的Web是Internet上发展最为迅速的网络信息服务技术。目前解决Web安全的技术主要有两种:安全套接字层(简称SSL)和安全HTTP (SHTTP)协议。SSL是由网景公司提出的建立在TCP/IP协议之上的提供客户机和服务器双方网络应用通信的开放协议。它由SSL记录协议和SSL握手协议组成。SSL握手协议在SSL记录协议发送数据之前建立安全机制,包括认证、数据加密和数据完整性。实现通信双方之间认证、连接的保密性、数据完整性、数据源点认证等安全服务。SHTTP是由EIT公司提出的增强HTTP安全的一种新协议,即将成为一项新的IETF标准。
(5)虚拟专用网(VPN)
虚拟专用网(VPN)是将物理分布在不同地点的网络通过公用骨干网,尤其是Internet连接而成的逻辑上的虚拟子网。为了保障信息的安全,VPN技术采用了鉴别、访问控制、保密性和完整性等措施,以防信息被泄漏、篡改和复制。
有两种VPN模式:直接模式和隧道模式。直接模式VPN使用IP和编址来建立对VPN上传输数据的直接控制。对数据加密,采用基于用户身份的鉴别,而不是基于IP地址。隧道模式使用IP帧作为隧道发送分组。大多数VPN都运行在IP骨干网上,数据加密通常有3种方法:具有加密功能的防火墙、带有加密功能的路由器和单独的加密设备。
1.6.2 计算机病毒的定义与特征
1.计算机病毒的定义
《中华人民共和国计算机信息系统安全保护条例》中明确将计算机病毒定义为:“编制或者在计算机程序中插入的破坏计算机或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码。”
计算机病毒都是人为故意编写的程序。编写病毒程序的人出于不同的目的而编写病毒程序,有的为了证明自己的能力,有的出于好奇,也有的是因为个人目的没能达到而采取的报复方式等。对大多数病毒制作者的信息,从病毒程序的传播过程中,都能找到一些蛛丝马迹。
2.计算机病毒的特征
计算机病毒的特征大致可归为以下几点。
(1)传染性
计算机病毒的传染性是指病毒程序在计算机系统中的传播和扩散。计算机病毒具有很强大的传染性,通过自我复制,计算机病毒可以迅速地在程序之间、计算机之间以及计算机网络之间传播。
(2)破坏性
计算机病毒可能对计算机系统产生不同程度的损害,主要表现为占用系统资源、破坏文件和数据、干扰程序运行、影响屏幕显示,甚至摧毁系统等。
(3)隐蔽性
病毒程序一般都比较短,技巧性高,极具隐蔽性,很难被发现。它通常依附于一定的媒介,不单独存在。
(4)潜伏性
计算机病毒可长期潜伏在文件中,在满足触发条件之前,计算机病毒可能不会表现出任何症状,只有触发了特定的条件才会进行传染或对计算机系统进行破坏。
(5)攻击的主动性
病毒对系统一般采取主动攻击,不以人的意志为转移。也就是说,从一定程度上讲,计算机系统无论采取多么严密的防范措施都不可能彻底地排除病毒对系统的攻击,而防范措施只是一种预防的手段而已。
(6)病毒的不可预见性
从病毒的检测方面来看,病毒还具有不可预见性。相对反病毒软件而言,病毒永远是超前的。新一代计算机病毒甚至连一些基本的特征都隐藏了,有时病毒利用文件中的空隙来存放自身代码,有的新病毒则采用变形来逃避检查。
1.6.3 计算机病毒的结构与分类
1.计算机病毒的结构
病毒可以附加在程序的头部或尾部,或者采用其他方式嵌入。它运行的关键在于当被感染的程序被调用时,将首先执行病毒代码,然后再执行原程序的代码。
2.计算机病毒的分类
从1987年美国首次公开报道计算机病毒以来,世界上发现的计算机病毒数量已超过4万种。从不同的角度,可以把这些病毒分成不同的类别。
(1)按寄生的方式分类
①引导型病毒:这类病毒把自身或自身的一部分存放于硬盘的引导区内,而把磁盘原引导区内容转移到别处。当系统启动时,首先选择病毒程序,从而获得CPU的控制权,这类病毒曾广为流行。
②文件型病毒:这类病毒专门感染可执行文件(如后缀为.com、.exe、.sys等的文件),当运行带有病毒的程序时,文件型病毒会被引入内存并会自身复制到其他未感染的文件中,这类病毒数量最大。
③混合型病毒:这类病毒既感染硬盘的引导区,又感染可执行文件,具有上述两类病毒的特点。
(2)按破坏的后果分类
①良性病毒:这类病毒的制作者目的在于表现自己,大多数出于恶作剧。病毒发作时,往往会占用大量CPU时间和存储资源,降低运行速度,干扰用户工作,但它们不破坏系统的数据,一般也不会导致系统瘫痪。一旦病毒被消除后,系统就恢复正常,例如“小球”病毒就属于良性病毒。
②恶性病毒:这类病毒的目的在于破坏系统的数据资源和文件。病毒发作时,往往会破坏系统数据,甚至删除系统文件,重新格式化硬盘等,其造成的后果十分严重。即使消除了病毒,所造成的破坏也难以恢复。例如CIH病毒、“黑色星期五”等都属于恶性病毒。
(3)按入侵的方式分类
①操作系统型病毒:当操作系统启动时,病毒就会自动装入内存,用它自己的程序去取代部分操作系统进行工作,因此这类病毒具有很强的破坏力。
②源码型病毒:这类病毒是在程序被编译之前,就插入到使用高级语言编写的程序中。
③外壳型病毒:这种病毒通常旋转在主程序的周围,一般情况下不对源程序做修改,这种病毒较常见。
④入侵型病毒:这种病毒把病毒程序段直接插入到现有程序中,这种病毒入侵后,不破坏现有程序就难以消除病毒程序。CIH病毒也属于一种入侵型病毒,它将自己隐藏在寄生文件的空隙中,但可以不改变文件长度,且保持所寄生的文件正常运行,并在条件满足时将自己重新装配起来再发作。
1.6.4 计算机病毒的防范与查杀
1.计算机病毒的防范
对于没有上网的微型计算机,计算机病毒传染的主要媒介是磁盘和光盘。一张带毒磁盘,在健康的计算机上使用后,就使得系统受到感染,病毒就潜伏在内存或硬盘中,这以后,在这台计算机上使用过的磁盘,都可能被病毒感染。
为了防范计算机病毒,要养成良好习惯,主要有以下几点。
(1)尽可能用硬盘中无毒的操作系统启动系统,而不要用软盘启动系统,尤其是不要用来历不明的软盘启动。如果确实需要用软盘启动,应使用确保无毒的系统盘。
(2)尽量不要使用外来磁盘、光盘或复制他人的软件,除非做过彻底的检查。同时,也不要把软盘随意借给别人,除非做好备份并把归还的软盘重新格式化。
(3)坚持经常做好备份。无论是应用软件,还是数据文件,都应及时做好备份。
(4)对不需要再写入数据的软盘进行写保护,以防病毒的写入。
(5)经常利用正规的杀毒软件对磁盘和文件进行检查,以便及时发现和消除病毒。
(6)不从网上下载来历不明的软件。确有必要下载的软件,要查毒后,再使用。
(7)在收到电子邮件后,也应先查毒,再阅读。
防毒、解毒程序一般分为3种类型:预警类、检测类和清除类。有些具有上述多种功能。
总之,养成良好的习惯,就可防“毒”于未然,减少计算机被病毒感染的机会。
2.常用杀毒软件
国内著名的杀毒软件有金山毒霸、360杀毒等,国外著名的杀毒软件有Norton、Scan、卡巴斯基等。杀毒软件并不能完全将病毒遏制,新的计算机病毒不断制造,杀毒软件就需要不断更新、升级。
3.黑客和黑客程序
黑客分为6种:解密者、恶作剧者、网络小偷、职业雇佣杀手、网络大侠和国家特工。对网络安全构成威胁的黑客指的是网络小偷、职业雇佣杀手和国家特工,他们通过有组织、有针对性的大规模攻击,破坏企业和国家信息系统,给国家和企业造成无法挽救的损失。
目前所发现的黑客程序主要有网络间谍、网络巴士、网络后门、网络后洞4类。这4类黑客程序尽管分类不同,而且采用的技术也不同,但它们的目的是相同的,就是通过在计算机中的非法驻留,打开一个通道,进而通过网络得到计算机中的一切秘密。
2000年2月7日至2月9日3天时间里,美国的主要几大网站——雅虎(Yahoo)、亚马逊(Ama-zon.com)、电子港湾、CNN等几乎同时受到黑客的攻击,致使这几大网站陷入瘫痪,被迫关闭数小时。这些黑客属于DdoS型,其攻击的原理是首先对网站进行大范围的扫描,针对一些已知的操作系统弱点寻找漏洞,一旦找到某服务器的漏洞,便采用“拒绝服务”攻击手段,即用大量垃圾邮件发向对方的邮件服务器,使其电子邮件系统被堵塞以至崩溃,使网站瘫痪。
从某种意义上说,黑客对计算机及信息安全的危害性比一般计算机病毒更为严重。目前世界上推崇的信息系统防黑策略是著名的防黑管理型PDRR。P(Protection)即做好自身的防黑保护;D(De-tection)即防黑扫描、检测;第一个R(Response)即反应,反应要及时;第二个R(Recovery)是恢复,如果万一被黑,就要想办法立即恢复。一个信息系统要尽量做到P>D+R,如果这样,这个系统就是安全的。这也就是防黑站点的标准——保护严密、检测迅速、反应及时。
1.6.5 防火墙基础
1.防火墙的定义
防火墙原指古人在房屋之间修建的一道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。网络安全系统中的防火墙则是一道位于内部网络或计算机与外部网络之间的屏障,实质就是一个软件或者是软件与硬件设备的组合。用户通过设置防火墙提供的应用程序和服务以及端口访问规则,达到过滤进出内部网络或计算机的不安全访问,从而提高网络和计算机系统的安全性和可靠性。
2.防火墙的功能
防火墙用于监控进出内部网络或计算机的信息,保护内部网络或计算机的信息不被非授权访问、非法窃取或破坏,并记录了内部网络或计算机与外部网络进行通信的安全日志,如通信发生的时间和允许通过的数据包和被过滤的数据包信息等,还可以限制内部网络用户访问某些特殊站点,防止内部网络的重要数据外泄等。
如果没有启用防火墙,那么类似Internet Explorer、Outlook Express以及Windows Messenger等访问Internet的程序在浏览网页、收发电子邮件和进行即时通信时,所有通信数据就能畅通无阻地进出内部网络或用户的计算机。用防火墙以后,通信数据就会根据防火墙设置的访问规则受到限制,只有被允许的网络连接才能与内部网络或用户计算机进行通信,其他连接则被拒绝,也只有被允许的信息才能够进出内部网络或用户计算机。
3.防火墙的类型
防火墙的类型比较多,从不同的角度看可以分成不同的类型。按照防火墙实现技术的不同可分为包过滤防火墙、状态检测防火墙、代理防火墙、动态自适应防火墙和分布式防火墙等。现在有些防火墙产品中已经嵌入了病毒的实时监控和查杀病毒的功能,所以又称病毒防火墙。
按照使用对象的不同可分为个人防火墙和企业防火墙。
(1)个人防火墙
个人防火墙一般就是一个软件,用户安装好防火墙软件以后再进行一些简单的访问规则的设置即可实现对计算机的实时监控,只允许正常的网络通信数据进出计算机,而将非授权访问拒绝,如图1—3所示。
图1—3 个人防火墙示意图
(2)企业防火墙
企业防火墙一般是软件与硬件设备的组合,大多数防火墙产品都是把防火墙的功能集成在路由器或网关等设备中,将防火墙置于内部网络与外部网络之间。其主要作用如下:
①过滤不安全的服务,提高企业内部网的安全。
②控制对特殊站点的访问,一般Mail、FTP、WWW服务能被外部访问。
③集中化的安全管理,降低成本。
④对网络访问进行记录和统计。
利用防火墙可以很好地保护内部网络不受外部网络的非授权访问和来自外部网络的不安全因素,如病毒的入侵、黑客的攻击等,还可以限制内部网络用户访问某些不安全站点,保护企业内部的重要数据不被外泄,如图1—4所示。
图1—4 企业防火墙示意图
企业防火墙中访问规则的设置相对比较复杂,需要由专业的网络系统管理员完成,产品常用的有CISCO PIX系列和TP-LINK防火墙路由器等。
4.个人防火墙应用举例——Windows防火墙
在Windows XP操作系统中自带了一个Windows防火墙,用于阻止未授权用户通过Internet或网络访问用户计算机,从而帮助保护用户的计算机。
(1)Windows防火墙的作用
在Windows XP的SP3版本中,Windows防火墙默认处于启用状态,时刻监控计算机的通信信息。Windows防火墙的主要作用如下:
①阻止从Internet或网络传入的“未经允许”的尝试连接。
②允许某些应用程序访问外部网络并设置访问的范围。
③开放某些端口,允许外部网络通过这些端口进行通信。
虽然防火墙可以保护用户计算机不被非法授权访问,但是防火墙的功能还是有限的,如表1-3所示列出了Windows防火墙能做到的和不能实现的防范,为了更全面地保护用户的计算机,除了启用防火墙外,用户还应该采取一些其他的防范措施,如安装防病毒软件、定期更新操作系统、安装系统补丁以堵住系统漏洞等。
表1-3 Windows防火墙的功能
(2)Windows防火墙的设置
打开【控制面板】中的【Windows防火墙】,在如图1—5所示的【Windows防火墙】对话框的【常规】选项卡中可以启用或关闭防火墙。
切换到如图1—6所示的【例外】选项卡,列出了当前系统允许进行网络连接访问的应用程序,单击【编辑】按钮可以对该应用程序允许的网络访问地址范围进行修改。单击【添加程序】或【添加端口】按钮则可以设置其他应用程序或端口的限制访问规则。
图1—5 Windows防火墙图
图1—6 允许访问网络的程序和服务