计算机专业英语课文(第四版)全文翻译

1.2 总线互连
总线是连接两个或多个设备的通信通路。总线的关键特征是,它是一条共享传输介质。 多个设备连接到总线上,任一个设备发出的信号可以为其他所有连接到总线上的设备所接 收。如果两个设备同时传送,它们的信号将会重叠,引起混淆。因此,一次只能有一个设备 成功地(利用总线)发送数据。 典型的情况是,总线由多条通信通路或线路组成,每条线(路)能够传送代表二进制 1 和 0 的信号。一段时间里,一条线能传送一串二进制数字。总线的几条线放在一起能同时并行 传送二进制数字。例如, 一个 8 位的数据能在 8 条总线线上传送。 计算机系统包含有多种不同的总线, 它们在计算机系统层次结构的各个层次提供部件之 间的通路。连接主要计算机部件(处理机, 存储器, I/O)的总线称为系统总线 系统总线。系统总线通常 系统总线 由 50~100 条分立的(导)线组成。每条线被赋予一个特定的含义或功能。虽然有许多不同的 总线设计,但任何总线上的线都可以分成三个功能组:数据线、地址线和控制线。此外可能 还有为连接的模块提供电源的电源线。 数据线提供系统模块间传送数据的路径, 这些线组合在一起称为数据总线。 典型的数据 总线包含 8、16 或 32 根线,线的数量称为数据总线的宽度。因为每条线每次传送 1 位,所 以线的数目决定了每次能同时传送多少位。数据总线的宽度是决定系统总体性能的关键因 素。 地址线用于指定数据总线上数据的来源和去向。 例如, 如果处理机希望从存储器中读一 个字的数据,它将所需要字的地址放在地址线上。显然,地址总线的宽度决定了系统最大可 能的存储器容量。 控制线用来控制对数据线和地址线的访问和使用。由于数据线和地址线被所有部件共 享, 因此必须用一种方法来控制它们的使用。 控制信号在系统模块之间传送命令和定时信息。 定时信息指定了数据和地址信息的有效性,命令信号指定了要执行的操作。 大多数计算机系统使用多总线,这些总线通常设计成层次结构。图 1.3 显示了一个典型 的高性能体系结构。 一条局部总线把处理机连接到高速缓存控制器, 而高速缓存控制器又连 接到支持主存储器的系统总线上。 高速缓存控制器集成到连接高速总线的桥中。 这一总线支 持连接到:高速 LAN、视频和图形工作站控制器,以及包括 SCSI 和 FireWire 的局部外设 总线的接口控制器。 低速设备仍然由分开的扩充总线支持, 用一个接口来缓冲该扩充总线和 高速总线之间的通信流量。

PCI
外部设备互连是流行的高带宽的、 独立于处理机的总线, 它能够作为中间层或外围设备 总线。 当前的标准允许在 66MHz 频率下使用多达 64 根数据线, 其原始传输速率为 528MB/s, 或 4.224Gbps。PCI 被设计成支持各种各样基于微处理机的配置,包括单处理机和多处理机 的系统。因此,它提供了一组通用的功能。PCI 使用同步时序以及集中式仲裁方案。 在多处理机系统中,一个或多个 PCI 配置可通过桥接器连接到处理机的系统总线上。 系统总线只支持处理机/高速缓存单元、主存储器以及 PCI 桥接器。使用桥接器使得 PCI 独 立于处理机速度,又提供快速接收和传送数据的能力。

2.1 光存储介质:高密度存储器 光存储介质:
2.1.1 光盘
光盘技术最终可能使磁盘和磁带存储淘汰。用这种技术,磁存储器所用的读/写头被两

束激光代替。一束激光通过在光盘上刻制微小的凹点,对记录表面进行写;而另一束激光用 来从光敏感的记录表面读取数据。 由于光束容易被偏转到光盘上所需要的位置, 所以不需要 存取臂。 对用户而言,光盘正成为最有吸引力的选择。它们(光盘)对环境变化不太敏感,并且它 们以每兆字节比磁盘低得多的存储器价格提供更多的直接存取存储器。光盘技术仍在出现, 并且还需要稳定;然而,目前有三种主要类型的光盘。它们是 CD-ROM、WORM 盘和磁光 盘。

CD-ROM
1980 年引入的,非常成功的 CD,或紧密盘是设计来提高音乐的录音重放质量的光盘。 为了制作一张 CD,把音乐的模拟声音转换成等价的数字声音,并且存储在一张 4.72 英寸的 光盘上。在每张光盘上可以用数字格式(用 20 亿数字位)记录 74 分钟的音乐。因为它的巨 大存储容量,计算机工业的企业家们立刻认识到光盘技术的潜力。事实上,任何可以被数字 化的东西都能存储在光盘上:数据、正文、声音、静止图象、音乐、图形和视频。 CD-ROM(读作 C—D—ROM)是音频 CD 技术的副产品。CD-ROM 代表紧密盘—只 读存储器。该名字隐含了它的应用。只读光盘与 (能长期播放的) 唱片一样,在工厂里“压 制”并带着预先录好的内容 (如莎士比亚全集,或电影“飘”的前 30 分钟部分),分发出去。 一旦光盘插入光盘驱动器,正文、视频图像等等就能读入主存进行处理或显示;然而,在只 读光盘上的数据是固定的—它们不能被改变。当然,这是与磁盘的读/写能力不同的。 大量的、低成本直接存取存储器(是光盘使之成为可能)已经打开了通向许多新应用的 大门。

WORM 盘(即,CD—R) — )
写一次,读多次或 WORM 光盘被那些面向最终用户的公司用来存储它们自己的专用信 息。一旦数据已写到该介质,它们只能读,不能再更新或改变。 WORM 盘有可能替代磁带作为档案存储器。

磁光盘
磁光盘有希望使得激光盘成为商业上可行的读/写存储技术。 5*1/4 英寸的磁光盘可以存 储高达 1000Mb。目前磁光盘太贵且根本未达到用户对磁介质所期望的那种可靠性。此外, 存取时间相对而言比较慢,大约与低档温彻斯特盘相同。 随着光盘技术成熟到可靠,性能价格合算,可读/可写,将来它最终会象现在磁盘、磁 带那样统治二级存储器。

2.1.2 数字视盘
DVD 是新一代光盘存储技术。用数字视盘技术能把视频、音频和计算机数据都编码到 一张紧密盘(CD)上。一张数字视盘能比传统的 CD 存储更多的数据。一张标准的单层、 单面数字视盘能存储 4.7GB 数据;一张两层标准盘把单层、单面的盘增加到 8.5GB。数字视 盘可以是双面的,最大存储为 17GB/张。需要一台数字视盘播放器来读数字视盘。这种播放 器已配备成能读较老的光存储技术。 数字视盘技术的提倡者企图用单一的数字视盘数字格式 来代替当前的各种数字存储格式(诸如激光盘,CD-ROM,音频 CD) ,所以也称为数字通 用盘。

DVD 论坛因建立下一代数字多媒体的统一规范而获得最高信息技术工业奖 论坛因建立下一代数字多媒体的统一规范而获得最高信息技术工业奖

DVD 论坛今天宣布, 因该论坛成功制定了 DVD-ROM 规范而获得 1997 年 PC 杂志的 (制 定标准的) 卓越技术奖。 “新的标准特别重要, 因为它们承诺把更高级的技术革新和市场兼容性带给今天的技术 用户, ”PC 杂志主编 Michael J. Miller 说, “DVD-ROM 是被选出的激发兴趣的技术,因为它 是一种熟悉的格式,它把大量的新计算、新教育、新游戏和新娱乐的可能性带给用户。 ” 在对 DVD-ROM 技术的颁奖词中, PC 杂志称,DVD 将会“代替 CD-ROM 作为 PC 内容 (即各种软件和资料) 传播的主要手段。 ”参加规范开发的三个公司的代表(日立,松下,东 芝)代表 DVD 论坛在 11 月 7 日,Las Vegas COMDEX '97 举行的庆祝典礼上接受该项奖。 “基于 DVD 论坛定义的规范的产品现在正在大量运往世界各地的计算机和电子产品市 场,并且卓越技术奖增加了市场对成功制定标准的认可, ”东芝公司 DVD 产品部总经理和 DVD 论坛创办成员 Koji Hase 说, “我们非常高兴地看到 DVD 论坛的工作被公认为个人计 算机工业中重要的技术成就之一,特别是在 1998 年因更大的,全球的会员,论坛扩大了它 的工作范围。 ” “DVD 论坛的成员把 DVD-ROM 规范开发作为最好的技术方法和对市场上客户的最好 方法”松下有限公司的 DVD 商业开发办公室主任 Sakon Nagasaki 说, “该格式的接受说明 了制定标准的努力如何提高整个电子工业的目标。 ” 除了论坛在开发 DVD-ROM 和 DVD-Video 标准的作用外,论坛也提出了可记录 DVD 的格式,称为 DVD-R 和可重写的 DVD,称为 DVD-RAM,并提交国际标准组织。定义 DVD-Audio 规范的工作也正在继续着。 “DVD 论坛的任务是,在汇合计算机工业和消费电子产品工业中,通过与最广泛代表 性的制造商与技术最终用户小组一起工作,确定从 CD 技术向 DVD 技术的平滑过渡的途 径。日立有限公司执行官之一和 DVD 论坛 DVD-RAM 工作组主席 Yoshita Tsunoda 博士说, ” “不同工作组已完成三个不同的 DVD 技术标准的定义,并且我们已开始开发下一代规范的 工作,这些规范将很好地提供可兼容产品到下一世纪。 ” PC 杂志的卓越技术奖的获得者是由编辑、捐助者和 PC 实验室全体成员组成的小组在 几个月的评价和讨论后提名。PC 杂志,卓越技术奖的主办者,是由 Ziff-Davis 公司出版、 有 1.175 百万冊发行量的杂志。PC 杂志一年印刷出版 22 次,每季度出 CD,并且连续地在 环球网上。

2.4 外部接口 SCSI 和火线 外部接口:
I/O 模块到外设的接口必须按该外设的性质和操作来设计改制。接口的一个主要特性是 串行还是并行。在并行接口中,连接 I/O 模块和外设的线有多根,同时传送多位,就象在数 据总线上同时传送一个字的所有位。在串行接口中,只有一条线用于传送数据,每次传送一 位。通常,并行接口用于高速外设,诸如磁盘和磁带。串行接口更常用于打印机和终端。

小型计算机系统接口
外设接口的一个例子是 SCSI。1984 年 SCSI 首先在 Macintosh 机上普及, 现在已广泛地 用于 Macintosh 和 Windows/Intel 系统以及许多工作站中。 SCSI 是 CD-ROM 驱动器、 音频设 备及外部大容量存储设备的标准接口。SCSI 采用并行接口,有 8、16 或 32 条数据线。 尽管实际上设备是按菊花链连接在一起,但 SCSI 配置通常称为总线。每个 SCSI 设备 有两个连接:一个用于输入,一个用于输出。所有设备链接在一起,链的一头接到主机。所 有设备独立起作用,并可互相交换数据,也可与主机交换数据。例如,硬盘可以备份到磁带 驱动器,而不需主机处理机参与。数据以信息包形式传送。最大数据传送速率为 20M 字节/

秒或 40M 字节/秒。

火线串行总线
随着处理机速度到达 1GHz, 以及存储设备有几千兆位,个人计算机和服务器对 I/O 的 要求是很苛刻的。因此,对开发一种高速接口来替换 SCSI 和其他小型系统的 I/O 接口一直 存在着很大的兴趣。其结果是高性能串行总线的 IEEE 标准 1394, 通常称为火线。 火线比 SCSI 和其他 I/O 接口有许多优点。它的速度快、价格便宜而且容易实现。事实 上,火线不仅在计算机系统,而且在消费者电子产品,如数码相机、VCR 和电视机都很受 欢迎。在这些产品中,火线用于传送视频图像,这些视频图像正在越来越多地来自于(诸如 数码相机,数码摄相机等)数字化设备。 火线接口的强项之一是采用串行传送(每次一位)而不是并行传送。并行接口,如 SCSI, 需要较多的线, 这意味着较宽、 较贵的电缆以及较宽、 较贵的带有更多引脚 (要弯曲或断开) 的连接器。一条带有多根线的电缆需要屏蔽保护以避免线之间的电干扰。 此外,恰恰在计算机增加计算能力和 I/O 要求时,它们的体积正变得更小。手提式和袖 珍式计算机给连接器很小的空间,但却需要高速数据传输率来处理图象和视频。 火线的目的是提供单个接口, 带有简单的连接器, 它能够通过单个端口来处理许多设备, 因此,鼠标、激光打印机、SCSI、外部磁盘驱动器、声音,和局域网连接都能用这单个连 接器所取代。这种连接器是受 Nintendo Gameboy 中所用的连接器的启发。它的使用是如此 方便,用户只要在机器背后插入即可。 火线使用菊花链配置, 从单个端口可连接多达 63 个设备。 而且多达 1022 条火线总线能 用桥接器互连,使得系统能支持所需要那么多的外设。 火线提供大家所知的热插入, 它不需要关闭计算机系统或重新配置系统就能连接和断开 外设。

3.1

C++和面向对象的程序设计 和面向对象的程序设计

一些面向对象的程序设计概念在语言间渗透。例如微软 Quick Pascal 是允许使用对象的 第一批语言中的一个。 C++有什么使得它是一种适合于开发面向对象程序的语言?如同先前 所提到的,答案是类(class)数据类型。给该语言建立对象之能力的是建立在 C 结构类型 之上的 C++类(class)类型。还有,C++把另外几个特性引入面向对象的程序设计,这些特 性并不包含在简单地利用对象的其他一些语言中。C++的优点包括强类型、运算符重载和较 少地强调预处理。 的确你能使用其他一些产品和采用其他一些语言来进行面向对象的程序设 计, 但是采用 C++的众多好处是显著的。 这是为面向对象的程序设计而设计的语言, (现 并非 有语言的)式样翻新。 面向对象的程序设计是一种程序设计技术,使得你能把一些概念看作各种各样的对象。 通过使用对象, 你能表示要被执行的任务、 它们之间的相互作用和必须观察的某些给定的条 件。一种数据结构经常形成某个对象的基础;因此,在 C 或 C++中,结构类型能形成某种 基本对象。与对象的通信,如前提到的,能通过使用消息来完成。消息的使用类似于在面向 过程的程序中对函数的调用。 当某对象收到一个消息时, 包含在该对象内的一些方法作出响 应。方法类似于面向过程程序设计的函数。然而,方法是对象的一部分。 C++的类是对 C 和 C++结构类型的扩充,并且形成了面向对象程序设计所需要的抽象数 据类型。类能包含紧密相关的一些条目,它们共享一些属性。更正式地说,对象只不过是类 的实例。 最终,应该出现包含很多对象类型的类库,你能使用这些对象类型的实例去拼合程序代 码。 在你更详细地考察这些术语之前, 一个好的主意是熟悉与 C++和面向对象程序设计相关

的另外几个概念,如同下面几节所述的。 封装 封装指的是每个对象把它的成员数据和成员函数 (方法) 组合成单个结构的方式。 3-1 图 举例说明了你如何能组合数据域和方法以建立对象。 数据域 数据 方法 成员函数 成员函数 数据 数据 成员函数 成员函数 成员函数 数据 图 3-1 成员函数

为建立对象而组合的数据域和方法

典型地,一个对象的描述是一个 C++类的一部分, 且包括对该对象内部结构的描述、 该对象如何与其他对象相关, 以及把该对象的功能细节和该类的外部相隔离的某种形式的保 护。C++类结构做到了所有这些。 在一个 C++类中,你使用私有的、公共的和/或受保护的描述符来控制对象的功能细节。 ,使得该类可在各 在面向对象的程序设计中,公共(public)部分一般用于接口信息(方法) 应用中重用。如果数据或方法被包含在公共部分,它们在该类外部也可用。类的私有部分把 数据或方法的可用性局限于该类本身。 包含数据或方法的受保护部分被局限于该类和任何派 生子类。 类层次结构 C++类实际上用作创建对象的模板或模式。从类描述形成的对象都是该类的实例。开发 类层次结构是可能的,其中有一个主类和几个子类。在 C++中, 做这事的基础是派生类。 父类表示更一般化的任务,而派生子类执行一些特定的任务。例如,早先讨论的林肯类也许 包含整个林肯系列公共的数据和方法,诸如引擎、检测仪表、电池、制动能力和操纵。从父 类派生的子类,诸如 Tour Car、Mark Ⅷ和 Continental 可能包含该类专用的一些款项。例如, 1995 Continental 是该系列中唯一具有主动悬架系统的汽车。 继承 面向对象程序设计中的继承使得一个类能继承某对象类的一些性质。父类用作派生类的 模式,且能以几种方式被改变(在下一章中你将了解成员函数能被重载、新的成员函数能被 添加,并且成员存取特权能被改变) 。如果某个对象从单个父类继承其属性,称为单继承。 如果某个对象从多个父类继承属性,便称为多继承。继承是一个重要概念,因为它使得无须 对代码做大的改变就能重用类定义。继承鼓励重用代码,因为子类是对父类的扩充。 多态性 与类层次结构相关的另一个重要的面向对象概念是公共消息能被发送到诸父类对象和 所有派生子类对象。按正式的术语,这称为多态性。 多态性使每个子类对象能以一种对其定义来说适当的方式对消息格式作出响应。 试设想 收集数据的一个类层次结构。父类可能负责收集某个个体的姓名、社会安全号、职业和雇佣

年数,那末你能使用子类来决定根据职业将添加什么附加信息。一种情况,一个管理职位会 包括年薪,而另一种情况,销售员职位会包括小时工资和回扣信息。因此,父类收集一切子 类公共的通用信息, 而子类收集与特定工作描述相关的附加信息。 多态性使得公共的数据收 集消息能被发送到每个类。 父类和子类两者都以对该消息是恰当的方式作出响应。 多态性促 进现有代码的可扩充性。 虚函数 多态性赋予对象以当对象的精确类型还未知时响应来自例行程序之消息的能力。 C++ 在 中这能力是迟绑定的结果。使用迟绑定,地址在运行时刻动态地确定,而不是如同传统的编 译型语言在编译时刻静态地确定。这静态的(固定的)方法往往称为早绑定。函数名被替换 为存储地址。 你使用虚函数来完成迟绑定。 在随后的派生类将通过重定义函数之实现而重载 该函数时,在父类中定义虚函数。当你使用虚函数时,消息不是直接传给对象,而是作为指 向对象的指针传送。 虚函数利用了地址信息表, 该表在运行时刻使用构造符而被初始化。一个构造符每当 创建它的类的一个对象时被调用。 这里构造符的工作是把虚函数与地址信息表链接, 在编译 运转期间虚函数的地址是未知的;相反,给出的是(在运行时刻确定的)地址表中将包含该 函数(入口)地址的位置。

4.2 窗口管理程序
窗口管理程序管理那些用来交换应用程序和用户之间信息的设备。 输出设备包括视频显 示器和声音合成器。输入设备包括键盘和指点器,诸如鼠标、操纵杆、控制球、或光笔。窗 口管理程序与输出设备的设备驱动程序交互把信息呈现给用户, 与输入设备的设备驱动程序 交互获取表示用户正在输入信息的消息。 应用程序和脚本执行引擎把表示成位图或 PostSript 表示法的图像传给窗口管理程序, 窗口管理程序把这些图像呈现给用户。 窗口管理程序把用 户通过输入设备输入的消息返回给应用程序和脚本执行引擎。 窗口管理程序已十分普及, 因为它们支持许多对终端用户和应用程序开发者两者都十分 有用的特性。 用户与多个进程交互。 窗口管理程序把窗口分配给每个进程。 如果每个进程与一个显示 用户与多个进程交互。 在显示屏上的窗口相关, 那么多个进程可以共享一个视频显示屏。 用户通过观看分配给进程 的窗口之内容和向其窗口处于激活状态的进程发命令来观察进展 (即执行情况)和控制各进 程。 用户容易在应用程序之间移动信息。 用户容易在应用程序之间移动信息。 窗口给用户提供了一种在应用程序之间传送信息 的方法。图 4-1 举例说明了一个有 3 个窗口的显示屏。一个窗口分配给正文编辑程序,另一 个分配给电子表格程序,而第三个窗口分配给数据库程序。在这个例子中,用户首先用数据 库应用程序从数据库检索某些数据。 然后用户从检索得到的数据中选择某些, 并把这些数据 移到第二个窗口中的电子表格程序。 电子表格应用程序计算合计和总计信息, 然后用户把计 算结果移到分配给正文编辑程序的窗口。 用户使用正文编辑程序把总计信息集成到正在用正 文编辑程序准备的报告中。 用户访问远程应用程序。 一些窗口管理程序能够通过通信系统把一个窗口分配给运行在 用户访问远程应用程序。 远程计算机上的一个进程。例如,工作站的用户希望访问某台大型机上的数据库。该用户请 求窗口管理程序创建一窗口, 在该窗口中用户可以输入对那台大型机上的数据库管理系统的 请求。在该请求被处理后,窗口管理程序在该窗口中显示从数据库管理系统来的结果。 用户对一个进程有多个视图。 用户对一个进程有多个视图。一些窗口管理程序可以把几个窗口分配给一个应用程序: 每个窗口把该应用的某个方面显示给用户。 多个窗口对用户可能是有用的, 可提供该应用程

序的多方面视图。例如,在图 4-2 中,两个窗口已分配给一个计划系统。一个窗口显示一图 形,展示在一个项目的各任务之间的优先关系。另一窗口显示了每个任务完成的百分比。 用户接收事件。 当一个进程发现用户应该知道的某些非正常事件, 该进程通知窗口管理 用户接收事件。 程序显示一个描述该事件的消息。用户将注意到该消息的出现,并采取适当的动作。 用窗口管理程序可以构造复杂的用户接口。 用窗口管理程序可以构造复杂的用户接口。大多数窗口管理程序都有程序库,包含各 种各样的、可重用的交互对象,这些对象可用来构造复杂的用户接口。 终端独立性。 一些窗口管理程序工作在一大类终端和工作站上, 并且对应用程序隐藏了 终端独立性。 这些终端和工作站之间的差别。 终端独立性增加了应用程序对各种各样的终端和工作站的可 移植性。

5.5 网络协议
5.5.1 协议分层
为了减少网络设计的复杂性, 大多数网络被组织成一系列层,每层建立在它下面一层的 上面。在所有网络中,每一层的目的是向更高层提供一些服务,而对它们掩盖如何实际实现 所提供服务的细节。 一台机器上的第 n 层与另一台机器上的第 n 层进行会话。 在这一会话中所使用的规则和 约定一起通称为第 n 层协议。基本上,协议是通信各方之间有关通信如何进行的一致约定。 ISO/OSI 模型有七层。在不同机器上各对应层组成的实体称作对等层。换句话说,对等 者使用该协议通信。 应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。 实际上,没有数据直接从一台机器的第 n 层传输到另一台机器的第 n 层。而是,每一层 把数据和控制信息传递给紧接在它下面的那一层,直到抵达最低层。 在每对相邻的层之间有一个接口。 该接口定义了下一层向上一层提供哪些原语操作和服 务。 当网络设计者决定一个网络包括多少层和每一层将做什么时, 最重要的考虑之一是在各 层之间定义清晰的接口。这样做要求每一层执行一组专用的、好理解的功能。 层和协议的集合称作网络体系结构。 一个体系结构的规格说明必须包含足够的信息, 使 得实现者能为每一层写程序或制造硬件, 以致它将正确地执行适当的协议。 由某系统所使用 的协议表,每层一个协议,称为协议栈。 一个比喻可以帮助解释多层通信的思想。设想两个哲学家(第 3 层中的对等进程) 。一 个讲乌尔都语和英语,另一个讲法语和中文。因为他们没有共同语言,他们每人雇用一个翻 译(第 2 层中的对等进程) ,每个翻译又联系一个秘书(第 1 层中的对等进程) 。哲学家 1 希望对他的同人传达对兔子的喜爱。为此,他把消息(英文形式)通过第 2/3 层的接口传递 给他的翻译,说“我喜欢兔子” ,如图 5-3 所示。两个翻译已同意用中立语言,荷兰语,所 以消息被转变成荷兰语“我喜欢兔子” 。语言的选择是第 2 层协议,并由第 2 层对等进程决 定。 然后该翻译把消息交给秘书,秘书例如用传真(第 1 层协议)来传送。当消息到达时, 它被翻译成法语并且通过第 2/3 层的接口传递给哲学家 2。注意,每一个协议完全独立于其 他协议只要接口不变。假如翻译双方同意,他们可以随意将荷兰语换成比如说,芬兰语,并 且不改变与第 2 层和第 3 层的接口。类似地,两秘书能够由传真换成 email,或电话而不妨 碍(或甚至不通知)其他层。每个进程可以加某些只是为他的对等者想要的信息。这些信息 不会向上传递给它的上一层。

分层与 TCP/IP 协议

TCP/IP 分层模型,也被称为互联网分层模型或互联网参考模型,包括了如图 5-4 所示 的五层。 各层之间传递的对象 应用层 消息或流 传输层 传输协议包 互联网层 IP 数据报 网络接口层 网络专用的帧 物理层 TCP/IP 参考模型中有四层对应于 ISO 参考模型中的一层或多层。但 ISO 模型没有互联 网层。本节概述每一层的目的。 第一层: 第一层:物理层 第一层对应于基本网络硬件,如同 ISO 七层参考模型的第一层。例如,RS232 的规格 说明属于第一层,它给出了 LAN 硬件的详细的规格说明。 第二层: 第二层:网络接口层 第二层协议规定了怎样把数据组织成帧以及计算机怎样在网络中传输帧,类似于 ISO 七层参考模型的第二层协议。网络接口可以由设备驱动程序组成(例如,当网络是该机器直 接相连的 LAN)或由一个使用它自己数据链路协议的复杂子系统组成(例如,当网络由一 些使用 HDLC 与主机通信的包交换机组成时) 。 第三层: 第三层:互联网层 第三层协议规定了互联网中传输的包的格式及从一台计算机通过一个或多个路由器到 最终目的地的包转发机制。 互联网层把包封装在 IP 数据报中, 填数据报头, 用路由算法 (路 由表)确定是直接传送数据报还是把它发送给路由器。 第四层: 第四层:传输层 第四层协议,像 ISO 参考模型的第四层一样,规定了怎样保证可靠的传输。为了做到 这点, 传输层协议软件安排让接收端发回确认消息而由发送方重发丢失的包。 传输层提供从 一个应用程序到另一个应用程序的通信。这种通信常称为端-到-端。一台通用计算机可能在 一个时间里有多个应用程序访问互联网。 传输层必须接收来自多个用户程序的数据。 为了做 到这点, 它对每个包增加附加信息, 包括识别哪个应用程序发送给它和哪个应用程序应该接 收它的代码以及一个校验和。 第五层: 第五层:应用层 第五层协议对应于 ISO 参考模型的第六层和第七层。 每个第五层协议, 诸如 FTP、 HTTP, 都规定了一个应用程序如何使用互联网。 应用程序可以选择所需的传输类型, 可以是一系列 个别的消息或连续的字节流。

5.5.2 WAP --- 无线应用协议 序言
过去几年已表明,我们的工作、消遣和通信的方式已有了根本的改变。今天,因特网和 WWW 允许人们以光速交换消息和访问来自全球任何信息源的信息。这些服务总是在线、 可用,而且容易使用。

同时,世界各地的人民以疯狂的步调转向无线通信。今天,蜂窝式电话是流动用户和专 业人员的重要伙伴。在一些国家,现在多达 70%的人口都使用蜂窝式电话。 这两个趋势—因特网的不断扩大和移动通信的发展—现在正在汇聚, 进入移动因特网。 移动因特网把传统因特网扩充到无线设备,诸如蜂窝式电话、个人数字助理(PDA) 、甚至 汽车。移动因特网随时随地把信息和服务带给用户。 然而, 移动因特网所涉及的问题要比简单地访问现有网页多得多。 移动用户需要个性化 服务以满足他们的个人爱好和要求。 他们正在要求更容易的使用和立即效果。 在这个市场上, 应把服务改编成适应于用户的当前物理位置。 此外, 适于移动环境的各种服务能够把紧要的 信息,诸如新闻和股票价格警报(异步地)推送给用户。这些新类型的 Web 客户提供了集 成因特网访问和传统的电话业务的机会。总之,移动因特网使数据和声音、信息和通信,以 及全球可达性和个性化相结合。 移动因特网的实现依赖于一组新的标准,称为无线应用协议(WAP) 。WAP 通过致力无 线网络环境的独特需要和小的手持设备的独特特性来扩展因特网。 这一令人激动的技术使得 从各种各样的移动设备能有效地访问信息、 应用和服务。 它也使得浏览和通话服务之间的交 互容易,并且它定义了如何传送被推送的内容。WAP 标准提供了必要的网络协议、内容类 型和运行时间应用环境,从而把一组广泛的、新的和现有的服务传送给用户和专业人员。 WAP 是一个启动技术, 它正在以我们不久前建立和部署 Internet 服务的那种方式预告一 场革命。 一些分析家预言, 在几年内来自移动设备的因特网通信量将从速度上超过来自传统 桌面系统的通信量。因而,当开发人员在构建和部署网站内容时不要忘记移动环境。不这样 做的话,可能最终会失去大量的可用信息。相反,移动因特网的开发(WAP 使之能实现) 创造了延伸到新用户、提供更个性化服务,以及销售新应用程序的各种机会。

介绍
WAP 是移动因特网标准。无线环境带来若干独特的挑战,它们使得从移动设备浏览传 统的 Internet 网站成为不切实际的。定义 WAP 标准是为了处理这些用户界面和网络挑战。 这组协议定义了一个完整的移动因特网平台, 以及在移动环境和有线因特网之间构架桥梁所 需的机制。 WAP 企图定义如何把因特网来的内容进行过滤后用于移动通信的标准。现在内容在因 特网上是容易得到的,而 WAP 被设计为一种方法,它使得内容在移动终端上很容易得到。 无线应用协议采用客户机/服务器方法。它把相对简单的微浏览器加入移动电话,微浏 览器只需要移动电话上有限的资源。 这使得 WAP 适合于瘦客户机和早期的 Smart 电话。 WAP 把智能放进 WAP 网关,而仅仅把微浏览器加到移动电话本身。基于微浏览器的服务和应用 暂时地留驻在服务器, 不永久地在电话中。 WAP 功能手机的人利用内置的微浏览器去做: 有 1. 用无线置标语言 WML 发请求,WML 是从 HTML 衍生出来的,专为无线网络特性设计 的语言。 2. 该请求被传给 WAP 网关,然后它检索取自因特网服务器的,以标准的 HTML 格式表示 的信息,或者更可取的是使用 WML 直接为无线终端准备的信息。如果被检索的内容是 HTML 格式的,则 WAP 网关中的过滤器试着把它翻译成 WML。WML 脚本语言可用来 格式诸如日历表项和电子商务卡的数据,以直接加入客户设备。 3. 然后, 被请求的信息从 WAP 网关发送给 WAP 客户, 利用无论那一种可用的且最方便的 移动网络承载服务。

5.6.1

Web 2.0

Web 2.0 (或 Web 2)是先进的因特网技术和应用的通俗叫法,其中包括博客、wiki、RSS 和书签共享。这个说法最初是在一次讨论有关下一代 Web 概念和问题的会议之后,于 2004 年由 O’Reilly Media 公司和 MediaLive International 公司创造的。 Web 2.0 的两个主要部分是:由 Ajax 实现的技术进步以及诸如 RSS 和 Eclipse 的新颖应 用和这些新应用支持的用户自我实现。Web 2.0 和传统的万维网(可以称之为 Web 1.0)之 间最主要的区别之一是因特网用户和其他用户,内容提供商和企业之间更大的协作。最初, 数据是被贴到网站,用户只是简单地观看或下载内容。越来越多地,用户对 Web 内容的性 质和范围拥有更多的输入, 以及在某些情况下能对其实施实时控制。 例如, BookFinder4U 像 那样的多卖主在线书店用户能上载书评以及以最低价找到稀有的和停止印刷的书籍, 以及像 Wikipedia 那样的动态百科全书允许用户用多种语言创建和编辑全球范围信息数据库的内 容。因特网论坛已经变得更广泛并导致了博客的激增。新闻的散播发展成 RSS。在 Web 2.0 和 Web 1.0 的技术、硬件和应用之间没有明显的区分。在很大程度上,这种区分是主观的。 下面是在描述 Web2.0 时常常提到的一些特性: 博客 Ajax 和其他一些新技术 Google Base 和其他各种免费的 Web 服务 RSS 产生的联合(辛迪加) 社会书签 综合网页 Wiki 和其他协作应用 与静态网站内容相对的动态网站内容 交互式百科全书和词典 很容易由个人创建、修改、或删除数据 高级游戏 Web 2.0 的批评者认为,它使普通人非常容易地影响在线内容,结果使 Web 内容的可信 度、道德规范、甚至合法性可能遭受损害。而 Web 2.0 的捍卫者指出这些问题从 Web 一出 现就存在,而其替代方案,即基于所谓精英们的普遍审查将会更糟。捍卫者们称,有关任何 Web 内容的最终判断应由最终用户单独做出,而 Web 2.0 反映了朝那个方向的演变。

红外技术 红外技术作为一种在办公室 PC 之间, 或办公室 PC 与手持设备或打印机之间建立无线 连接的方法,最近几年已获得流行。红外技术以红外光线发送数据。如同你的红外电视遥控 那样, 红外技术需要瞄准线传输。 因为这个限制, 许多以前的红外设备 (如无线鼠标和键盘) 现在都使用无线电技术。 某些仍使用红外技术的应用包括从手持 PC、笔记本电脑、数码相机、或其他设备发送 数据给台式计算机,从便携式 PC 发送文档给打印机,以及连接便携式 PC 到公司网络。 蓝牙(无线个人网) 蓝牙(无线个人网) 蓝牙标准是手持 PC 机,移动电话和其他便携式设备之间低成本,短距离的无线无线电 通信的解决方案,也是这些设备连接到家里和企业里 PC 机,电话,打印机等等设备的无线 无线电通信的解决方案。 蓝牙无线技术使有蓝牙功能的设备 (包含专用的蓝牙无线电收发器 芯片)之间传输实时声音和数据很方便,例如,蓝牙耳塞或头戴式耳机能够与放在口袋或包 里的手机一起使用(无线连接) ,或者当你走进办公室时,你的 PDA 设备立刻能与台式 PC 机同步。因为当诸蓝牙设备到达传输范围内时(无放大器大约 10 米)它们能互相自动认识,

所以手持 PC 机、手机和其他便携式设备当它们在该范围内总是能无线连网。一些工业专家 预言,未来所有家用电器都将是有蓝牙功能的,导致一个总是被自动连网的智能家庭。 无线以太网( 无线以太网(无线 LAN,Wi-Fi,IEEE802.11) , , ) 无线以太网允许以太网标准用于无线网连接。它也称为 Wi-Fi,,虽然技术上讲,标签 Wi-Fi 只能用于由无线以太网兼容性联盟认可的无线以太网产品。Wi-Fi 认可产品的用户获 得保证,他们的硬件将与所有其他认可产品兼容。 IEEE802.11 标准扩充了以太网技术所用的载波侦听多路存取原理以适于无线通信特性。 802.11 打算支持相互位于大约 150 米以内的计算机之间以最高速度 54Mbps 通信。无线以太 网对那些希望扩充它们的有线以太网的组织是一种正在增长的选择。 WiMAX(无线城域网,IEEE802.16) (无线城域网, ) WiMAX 是无线数字通信系统,也称为 IEEE802.16,打算成为无线城域网。WiMAX 对 固定站点能提供宽带无线访问达 30 英哩(5 万米) ,对移动站点达 3—10 英哩(5 千米—1.5 万米) 。相对照,WiFi/802.11 无线局域网标准在大多数情况被限于仅仅 100—300 英尺 (30—100 米) 。 用 WiMAX 很容易支持类似 Wi-Fi 的数据传输率,但是干扰的问题减少了。倘若无线载 波有一个受控制的环境和可行的经济模式, WiMAX 既工作在许可的频率, 则 也工作在不要 许可的频率上。WiMAX 能够用于(以 Wi-Fi 协议很相同的方式)无线连网。WiMAX 是第 二代协议,考虑到更有效的带宽使用,干扰避免,以及打算允许在更长的距离有更高的数据 传输率。 IEEE802.16 标准定义了该通信协议的技术特征。 WiMAX 论坛提供测试制造商的设备兼 容性的手段,以及一个行业小组,该组织专门鼓励 WiMAX 技术的开发和商品化。 WiMax.com 为消费者、服务提供者、制造商、分析师、以及对 WiMAX 技术、服务和 产品有兴趣的研究人员提供活动中心。 不久, 全世界将很好认识到 WiMAX 是一个描述无线 Internet 访问的术语。

6.2 载波频率和多路复用
使用调制载波发送数据的计算机网络和利用调制载波广播视频信息的电视台相类似。 这 一相似性给理解下述基本原理提供了启示:

两个和多个使用不同载波频率的信号可以在单一介质上同时传输而互不干扰。
为理解这一原理, 考虑 (有线) 电视传输是如何工作的。 每个电视台都分配一个频道号, 它在该频道上广播信号。事实上,频道号就是电视台载波用的振荡频率的速记。为接收一个 频道传输,电视接收器必须调谐到与发送器相同的频率。更重要的是,一个城市可以有许多 电视台,它们彼此在不同的频率上同时广播。一个接收器在任一时间选择接收其中一个。 有线电视这一例子说明了以上原理应用于许多信号在一根导线上同时传输的情况。 虽然 一个有线电视用户可能只有一根线连向有线电视公司,但用户可同时收到许多频道的信息。 一个频道中的信号不会与另一频道中的信号相互干扰。 计算机网络使用分离频道的原理使多个通信共享单根物理连线。 每个发送器使用一个特 定载波频率传输信号。 一个接收器被设置成接收给定频率的载波, 它将不会受其它频率信号 的影响(或干扰) 。所有载波可在同一时间通过同一导线而互不干扰。

频分多路复用
频分多路复用(FDM)是使用多个载波频率在一个介质中同时传输多个独立信号的计

算机网络系统术语。当通过导线、RF 或光纤发送信号时便可使用 FDM 技术。图 6-1 说明了 这一概念并显示了 FDM 所需的硬件部件。 理论上,工作在不同频率上的载波将保持相互独立。但实际上,两个频率相近或频率成 整数倍的载波会彼此干扰。为了避免这些问题,设计 FDM 网络系统的工程师们在各载波之 间选择一个最起码的频率分隔。在各载波频率之间要求有较大的间隔意味着 FDM 所用的硬 件能容纳很宽的频率范围。因此,FDM 仅用于高带宽传输通道中。概括地说,

频分多路复用允许多对发送和接收装置在一个共享介质上同时通信。 每对装置使用的载 波用唯一的,并彼此互不干扰的频率运行。

时分多路复用
与 FDM 不同的另一种复用形式是时分多路复用(TDM),按这种方式,各发送源轮流使 用共享的通信介质。例如,某些 TDM 硬件使用循环法方案共享介质,用这种方法,多路复 用器先发送源 1 的一个包,然后发送源 2 的一个包,如此循环。图 6-2 说明了这种思想。 把数据分成许多小包保证了所有源都接受到即时服务, 因为它禁止一个源任意长时间独 占介质” 。特别是,如果一个源只有少量的包发送,而另一个源有许多包发送,于是允许两 个源轮流发送包就保证只有少量数据的源会很快结束。 实际上,大多数计算机网络使用某种形式的 TDM

7.2 .

SQL 引言

理想地,一个数据库语言必须使我们能够创建数据库和表结构;它必须使我们能够执行 一些基本的日常数据管理工作(添加、删除和修改数据) ;并且它必须使我们能执行设计来 把原始数据变换成有用信息的复杂查询。 此外, 它必须让用户以最小的努力来完成这样一些 基本功能,而且它的命令结构和语法必须是易于学习的。最后,它必须是可移植的,亦即, 它必须与某个基本标准一致,以致当从一个 RDBMS 改变为另一个时不必要重头开始学习。 SQL 很好地满足这些理想化的数据库语言需求。首先,SQL 覆盖范围归入三个范畴: 1. 数据定义创建数据库及其表结构。 2. 数据管理使用一组命令来对数据库表内的数据进行键入、校正、删除和更新。 3. 数据查询使用一组命令来探索数据库内容并使得用户能把原始数据转换成有用信 息。 其次,SQL 是相当容易学的:它通过使用由大约 30 个命令组成的基本词汇表来执行所 需的数据库功能。还要好地,SQL 是一个非过程式语言:你必须做的仅仅是发出要做什么 的命令;不必操心它是如何做的。 最后,美国国家标准协会(ANSI)规定了一个标准 SQL。毋须介意,ANSI 标准是如此 有限制,以致所有的商用 SQL 产品都胜过它。事实上,某些厂商已经符合要在 1993 年实施 的所提议的 ANSI SQL2 标准,因而,极少可能不做某些改变便把某个基于 SQL 的应用程序 从一个 RDBMS 换到另一个 RDBMS。不过,不同的 SQL 方言版本共享相同的基本命令集 和结构,因此使我们能得出这样的结论:存在有一个可使用的标准。我们将使用这标准作为 我们之介绍的基础。然而,我们也将介绍几个 SQL 增强特性,特别是考虑到这些增强特性 广泛地为很多 RDBMS 供销商所共有。 不要因存在几个 SQL 方言版本而泄气。因为各种 SQL 方言版本之间的差异是微小的, 适应于你的软件需求几乎没有什么麻烦。不管你是使用 XDB、 ORACLE、dBASE Ⅳ、DB2、 Dos 下的 R: BASE、IBM 的 OS/2 数据库管理程序,还是任何其他一致公认的 RDBMS 软 件,我们的经验是:如果你了解本章中介绍的材料,对软件手册花上几个小时将足以使你成 功地使用 SQL。简而言之,你在本章获得的知识是可用于他处的。

关于学习 SQL 基础,有几个很好的理由: 1.ANSI 标准化努力已导致关系数据库的一个事实上的查询标准。事实上,很多关系数 据库专家倾向于主张: “如果不是 SQL,便不是关系型的” 。 2.SQL 已成为现在的和预期的将来的 DBMS 集成努力的基础,使我们能把层次型的、 网络型的和关系型的数据库链接起来。

3.SQL 已成为开发分布式数据库和数据库客户机/服务器体系结构的催化剂。

8.4 同步
先进的多媒体系统以独立的、时间有关和时间无关媒体的集成的、计算机控制的产生、 存储、通信、处理和演示为特性。提供集成的关键问题是任何数据的数字表示和各种种类的 媒体和数据的同步。 单词‘同步’指的是时间。多媒体系统中的同步指的是多媒体系统中媒体对象之间的时 序关系。在更普遍更广泛使用的意义上,一些作者认为多媒体系统中的同步包括内容、空间 和媒体对象之间的时序关系。 我们区分时间有关和时间无关的媒体对象。 一个时间有关的媒 体对象被表示成媒体流。 在媒体流的连续单元之间存在时间关系。 如果一个时间有关的媒体 对象的所有单元的演示时间都相同, 则称它为连续媒体对象。 一个视频由许多有序的帧组成, 其中每个帧有固定的演示时间。 一个时间无关的媒体对象是任何一种传统的媒体, 如正文和 图像。各个内容的语义与演示的时间没有关系。 媒体对象之间的同步包括时间有关媒体对象和时间无关媒体对象之间的关系。 连续媒体 之间同步的一个日常例子是电视中视觉和听觉信息之间的同步。 在多媒体系统中对音频和移 动图片也必须提供类似的同步。 时间有关媒体和时间无关媒体之间的时序关系的例子是放映 幻灯片。幻灯片的放映与解释的声音流同步。为了在多媒体系统中实现放映幻灯片,图的展 示必须与声音流的一些适当的单元同步。 许多系统成分,包括 OS、通信系统、数据库、文档都致力和支持同步,甚至应用程序 也经常致力和支持同步。因此,在多媒体系统中必须在几个层次上考虑同步。 OS 和较低的通信层处理单个媒体流,其目标是避免在一个媒体流的诸单元演示时的抖 动。例如,如果一个音频播放被短时停顿或在音频剪辑的播放中点击引起短的间隙,则用户 会讨厌。 在这一层的上面设置一层对多个媒体流同步的运行时间支持。 这一层的目标是维护各媒 体流之间的时序关系。特别是必须限制各媒体流之间的偏离。例如,如果用户发现演讲者的 嘴唇动作不对应说出来的话,用户会不舒服。 下一层是对时间有关和时间无关媒体,连同用户交互的处理之间的同步的运行时间支 持。 其目标是在一个可容忍的时间区间内开始和停止时间无关媒体的演示, 如果时间有关媒 体对象演示到达某些先前定义的演示点。 如果幻灯片跟不上讲解, 则看幻灯节目的观众是不 满意的。解说开始后的短暂延迟是可容忍的,或者甚至是有用的。 各媒体对象之间的时序关系必须指明。这些关系可以在捕获媒体对象期间隐式地指明, 如果一演示的目标是以原来媒体被捕获时相同的方式演示它们的话。这是音频/视频摄制和 播放的情况。 在演示是由独立捕获或用其它办法(独立)制作的媒体对象所组成的情况,这些时序关系 也可以显式地指定。在放映幻灯片的例子中,演示设计者选择适当的幻灯片、创建音频对象 并且规定声音播放流中那些必须播放幻灯片的单元。 同样, 用户的交互性也可能是播放的部 分, 并且在媒体对象和用户交互之间的时间关系也必须指明。 用来指明这种时间关系的工具 位于先前几层的上面。

9.1 人工智能概述 .
人工智能(AI)确切地说是什么?作为开始,我们提供下列定义: AI 是计算机科学的一个分支,它涉及研究和创建显示某种形式智能的计算机系统:学 习新概念和新任务的系统、 能关于我们周围的世界进行推理和得出有用结论的系统、 能理解 自然语言或理解和领会视觉场景的系统,以及执行需要人的各类智能的其他种类技能的系 统。 像其他一些对复杂标题的定义一样,对 AI 的理解需要对相关术语的理解,诸如智能、 知识、推理、思维、认知、学习和若干计算机相关的术语。尽管我们对于这些术语中很多术 语缺少精确的科学定义,但我们能够给出它们的大体定义。当然,本课文的目标之一是对与 AI 相关的所有术语加入特定的意义,包括它们的操作意义。 字典把智能定义为获得、 理解和应用知识的能力, 或者是实行思维和推理的能力。 当然, 智能不只是这点。它具体体现了有意识地和无意识地通过学习和经验获得的所有知识和技 艺:高度精确的视觉和听觉感知;思维;想象;交谈、读、写、驾车、记忆和回忆事实、表 达和感受情感的能力,以及更多。 智能是这些技艺的集成之和,使我们能回忆起 30 年或更多年未见的面孔,或建造并发 送火箭到月球的能力。 是这些能力使人类区别于其他的有生命体。 并且, 如同我们将看到的, 这个智能的食粮是知识。 我们会一直期望建造显示这些特征的系统吗?此问题的答案是 yes!一些系统早已被开发 来执行很多种类的智能任务,并且对近期开发给人印象更为深刻的系统寄予了很高的期望。 现在有一些系统能从例子、从被告知的、从过去相关的经验和通过推理进行学习。有一些系 统能解决数学方面的、调度多种多样任务方面的、寻找最佳系统配置方面的、计划军事和商 业的复杂策略方面的、诊断医学疾病方面的复杂问题,还有其他一些复杂系统,仅举几个例 子。有些系统能“理解”一些自然语言的大部分,有些系统的视觉好得足以“识别”照片上、 摄像机和其他传感器拍摄的图像上的物体。 有些系统能够以不完备的和不确定的事实进行推 理。显然,关于这些开发,自数字计算机问世以来,很多已完成了。 尽管有这些印象深刻的成就,我们仍然不能生产具有三岁小孩有的某些基本能力的协调 而自主的系统, 这些包括识别和记忆一个景象中众多的各种各样的对象、 学习新的声言和把 它们同对象与概念相关联,以及欣然适应多种多样的新情况的能力。这些都是 AI 研究人员 现在面临的挑战, 并且它们都不是容易解决的问题。 在我们能期望比得上三岁小孩的性能之 前,它们将需要一些重要的突破。 为获得对 AI 更好的理解,知道 AI 不是什么也是有用的。AI 不是研究和创建常规的计 算机系统。即使有人可能争辩说所有程序都显示出某种程度的智能,但 AI 程序将超过它, AI 程序表现出的高级智能(在一定程度上)等于或超过了人在完成某个任务中所需的智能。 AI 不是研究头脑,不是研究肉体,也不是研究语言,如同惯常在心理学、生理学、认知科 学或语言学等领域中发现的那样。诚然,在这些领域和 AI 间存在有某种交迭。所有人都在 寻求对人的智能和感觉过程有更好的理解,但是就 AI 而论,目标是开发一些运转的计算机 系统,它们真正能执行一些需要高级智能的任务。程序未必打算模仿人的感觉和思维过程。 确实, 在不同地执行某些任务中它们会实际上超过人的一些能力。 重要的一点是这些系统都 能有效而高效率地执行智能任务。 最后,看看组成整个 AI 的部分研究领域可更好地理解 AI。这些包括诸如机器人、存储 组织、知识表示、存储和恢复、学习法模型、推断技术、常识推理、在推理和决策中不确定 性的处理、理解自然语言、模式识别和机器视觉方法、检索和匹配、语音识别和合成,以及 各种各样的 AI 工具。 迄今在 AI 方面我们已获得了多少成就?下一个大挑战是什么?这些问题的答案形成本

课文中涉及的大部分资料。 我们将在下面几章中学习直接或间接地与这些问题有关的很多论 题。这里我们仅提到:AI 正进入这样的年代,即实用的商业产品现在已可用了,包括各种 各样的机器人设备、识别形状和对象的视觉系统、执行很多困难任务的专家系统(这些系统 做得与人类专家一样好或许更好) 、帮助调整学生的学习,并监控学生学习进度的智能教育 系统、帮助用户建造专门知识库的“智能”编辑器,以及能学习以改进其性能的一些系统。

10.3 块排序算法:并行和分布式算法 块排序算法:
当 P 台处理机可用, 个记录要排序时, n 一种可能性是把 n 个记录分布到P台处理机中, 使得在每台处理机的局部内存存放M=[n/p]个记录的块(可能要加少量空记录来组成最 后一块) 。处理机按某种索引规则被标记为 P1, P2 …, Pp, 这种索引规则通常是由互联网络的 拓扑结构所决定。然后,这些处理机合作重新分布这些记录,使得, (1) 留在每台处理机内存中的块构成一个长度为 M 的有序序列 Si,并且 (2) 拼接这些局部序列 S1, S2 …, Sp 构成长度为 n 的有序序列 例如,对 3 台处理机,在排序之前和之后排序关键字的分布可能如下。 之前 之后 2, 7, 3 1, 2, 3 P1 P2 4, 9, 1 4, 5, 6 6, 5, 8 7, 8, 9 P3 于是,我们现在对多处理机的整个地址空间的排序有一个约定,并且我们已定义了大小 为 n 的数组的并行排序,这里 n 可以比 P 大很多。 对初始分布在若干台处理机局部内存中的大数组的排序算法可以构造成一系列的块归 并一分拆步。在一次归并一分拆步,一个处理机合并两个长度相同的有序块(由上一步产生 的) ,并且把(归并)得到的块分成“高端块”和“低端块” ,这两个块送到两个目的处理机 (就象在一次比较-交换步中高端和低端输出) 。 用归并一分拆步代替(由一系列比较-交换步组成的排序算法中)每个比较一交换步便 得到块排序算法。容易证明这个过程产生按上面定义的排好序的序列。

二路归并一分拆
二路归并一分拆步被定义为二路合并两个大小为 M 的有序块,接着把合并所得的、大 小为 2M 的结果块分拆为两半。这两个操作都在处理机的内存中执行。在二路归并一分拆之 前和之后处理机内存中的内容如图 10-2 所示。在每个处理机的局部内存中已存放了两个长 度为 M 的有序序列后, 这些处理机并行地执行归并过程,并且填满输出缓冲 O[1..2M]。(因 而一次二路归并一分拆步至少使用 4M 局部内存)。在所有处理机完成合并过程的并行执行 以后,它们分拆它们的输出缓冲,并把每一半发送给目的处理机。目的处理机的地址由块排 序算法所基于的比较一交换算法确定。

基于二路归并一分拆的块奇偶排序
最初,P 台处理机的每个局部内存包含长度为 M 的序列。算法由一个预处理步(步 0) 和 P 个附加步(步 1 到步 p)组成。在预处理步中,每台处理机独立地对自己局部内存中的 序列排序。在附加步中,诸处理机合作归并由步 0 产生的 p 个序列。在步 0,处理机可用任 何一种快速串行排序算法进行局部排序。 1 到步 p 类似于奇一偶交换排序中的步 1 到步 p。 步 在奇(偶)步,奇数(偶数)编号的处理机从它们的右邻处理机接收一有序块,执行一次二 路归并, 并送回高端的 M 个记录。P 台处理机能同步地执行本算法,奇数和偶数处理机交

替地空闲。

处理机同步
当 M 很大时,或者当个别记录很长时,在处理机之间传送 M*P 个记录的诸块会引入时 间延迟,而这种延迟比个别处理机的指令速率高出几个数量级。此外,取决于数据分布,合 并 M 个记录的两块所需的比较次数可能相差很大。因而,就运行基于二路归并一分拆的块 排序算法而言, 处理机的粗粒度同步 ( MIMD 方式) 可能比 SIMD 方式的机器指令级处理机 同步更合适。多处理机模型更适合于这些算法,在这些算法中,各处理机彼此独立地运行, 但能通过在它们中间交换信息来同步,或由一台控制处理机,每隔数千条指令来进行同步。 在块排序算法的开始时间, 控制器分配许多处理机来执行排序。 由于其他操作可能已经在执 行,所以控制器维持一张空闲表,且分配给这个表中的处理机。除了处理机的可用性外,控 制器也要考虑排序问题的大小以确定最佳的处理机分配。

10.5 NP-难度和 NP-完全问题 难度和 完全问题
本文包含了近十年来在算法研究方面的(或许是)最重要的理论发展。它的重要性在于, 这些结果对于所有正在研发计算机算法的研究人员都有意义, 这些研究人员不仅是计算机科 学家,也有电器工程师,运筹学研究人员等等。因此,我们相信许多人都会立即阅读本文, 鉴于此,我们试图将本文写得自包含(即,可以单独阅读本文内容) 。同样我们按照不同的 兴趣领域组织后面各节。 不过,在往下阅读之前,读者应熟悉一些基本概念。第一个概念是算法的事先分析计算 时间, 它是通过研究在给定的各种不同数据集上算法中语句的执行频率而得到的。 第二个概 念是算法时间复杂度的数量级以及它们的渐近表示。 如果一个算法在输入量为 n 的情况下计 算时间为 T(n),则记作 T(n)=O(f(n)),它表示时间以函数 f(n)为上界,而 T(n)=?(g(n)),它表 示时间以函数 g(n)为下界。 另一个重要概念是关于两类问题的区别, 其中第一类问题的解是用多项式时间算法 (f(n) 是多项式) ,而对第二类问题还没有多项式时间的算法(即,g(n)大于任何多项式) 。不可解 释的现象是, 对于我们已知的和作过研究的许多问题, 求解它们的最好算法所用的计算时间 分为两类。第一类问题的求解只需低次多项式时间。例子包括有序查找,其计算时间为 O(log n),多项式求值是 O(n),排序是 O(nlog n),矩阵乘法是 O(22.81)。 第二类问题包括那些已知的最好算法(所需时间)是非多项式的问题。我们已看到过的 例子包括货郎担问题和背包问题,对于它们,本书给出的最好算法的时间复杂度分别为 O(n222) 和 O(2 n/2)。对于第二类中任何问题,人们在寻求开发有效的算法中,还没有谁能开 发出一个具有多项式时间复杂度的算法。这一点很重要,因为计算时间大于多项式(典型地 时间是指数时间) 的算法随 n 增大很快需要大量的时间去执行, 以致即使是中等规模的问题 也不能解出。 我们这里介绍的 NP-完全理论,对于第二类问题不提供获得多项式时间算法的方法,也 不说这种复杂度的算法不存在。取而代之,我们将要做的是,证明尚不知有多项式时间算法 的很多问题在计算上是相关的。实际上,我们将建立分别叫做 NP-难度和 NP-完全的两类问 题。一个 NP-完全的问题具有如下性质:如果所有其他的 NP-完全问题可在多项式时间内求 解,则它也可以在多项式时间内求解。假如一个 NP-难度的问题可以在多项式时间内求解, 那么所有 NP-完全问题都可在多项式时间内求解。下面将会看到,所有 NP-完全的问题都是 NP-难度的问题,但所有 NP-难度的问题并不都是 NP-完全的。 虽然人们能定义许多不同的问题类,它们有上面所述的 NP-难度和 NP-完全类的性质,

但我们研究的这些类都是有关不确定计算。这些类对不确定计算的关系连同“明显”的不确 定性计算能力导致“直觉”的(虽然现在还未证明)结论:没有 NP-完全或 NP-难度的问题 是多项式可解的。 我们将看到,NP-难度的问题类(NP-完全问题的子类)是很丰富的,因为它包含遍及 各种各样学科的许多有兴趣的问题。

11.3 语言和文法 .
虽然高级程序设计语言减少了机器语言程序设计大量的单调乏味的工作, 它们也带来了 一些新问题。必须写一个程序(编译程序) ,把一个程序转换到诸如机器语言那样的某个目 标语言。还有,程序设计语言必须被精确地定义。有时是存在的某个特定编译程序最终提供 语言的精确定义 (不论对于程序员还是对于编译程序书写人员都不是很满意的情况!。 ) 程序 设计语言的详细说明书必须包括下列几方面的定义: 1. 能用来构造正确程序的符号集合(或即字母表) 2. 一切正确程序的集合 3. 一切正确程序的“意义” 本节我们将关心程序设计语言详细说明书中的前两项。 然而,我们首先引进与文法和形式语言相关联的某些术语。为此,假定 V 表示非空符号 集合。这样一个集合 V 称为字母表。一个字母表无须是有穷的或者甚至是可数的,然而对 于我们的目的,这里将假定 V 是有穷的。例如,可以有 V1={ 0,1} V2={ a, b, …,z } V3={ a, 1, *, +, A } V4={ cat, book, dog, x } V5={ a, …, z, 0, …, 9 , ', . } 在字母表 V4 中,我们假定每个单词是一个符号,且是不可分的。字母表的元素称为字 母、字符或符号。字母表上的(符号)串是字母表中的符号所组成的序列。串也称为序列、 单词或句子,这取决于它的性质。由 m 个符号(m>0)组成的串称为长度为 m 的(符号) 串。例如,假定 V={ a, b},则 aa、bb、ab 和 ba 都是可能的长度为 2 的(符号)串。如果 我们容许有空串,亦即,长度为 0(m=0)的串,它通常表示为ε,则能有长度为 m(m≥0)的 串。字母表 V 上的串组成的集合通常表示为 V*,且非空串组成的集合表示为 V+=V*-{ε}。 我们将假定 V*中的串都是有穷长的。 一个语言 L 能被看作是 VT*的子集,其中 VT 是与 L 相关联的字母表。由 VT*组成的语言 不是特别有兴趣的,因为它太大了。我们对语言 L 的定义是在某个有穷字母表 VT 上的串或 句子的集合,因此 L?VT*。 一个语言能如何表示呢?一个语言由一个有穷或无穷的句子集合组成。有穷语言能通过 穷尽地枚举其一切句子来规定。 然而, 对于无穷语言, 这样一种枚举是不可能的。 另一方面, 规定一个语言的任何方法应是有穷的。 一种满足这一要求的详细说明方法使用了称为文法的 产生器。文法由有穷的规则或产生式集合组成,该集合规定了语言的语法。这些产生式经常 是递归的。 另外,文法把结构强加于语言的句子。对文法的研究构成计算机科学中称为形式语言的 重要分支。 这领域在二十世纪五十年代中期作为 Noam Chomsky 的工作结果而形成, 他研究 自然语言而给出文法的数学模型。在 1960 年由于 ALGOL 60 的语法用文法来描述,文法的 概念变得对程序员重要了。今天,文法被广泛使用于描述很多程序设计语言。 文法把一种结构强加于语言的句子。对于英语句子,这样一种结构藉助于主语、谓词、

短语、名词等等描述,另一方面,对于一个程序,结构是藉助于过程、语句、表达式等等给 出的。 总之, 可能期望描述所有这样的结构和获得由一个语言中所有正确的或可接受的句子 组成的集合。例如,我们可能有一个正确的英语句子的集合或一个合法的 Pascal 程序的集 合。 语言的文法结构帮助我们确定一个特定句子是否属于正确句子的集合。 一个句子的文法 结构通常通过分析一个句子的各个部分及它们彼此之间的关系来研究; 这个分析称为语法分 析。 现在我们把文法的思想形式化。为此,假定 VT 是称为字母表的有穷非空符号集合,VT 中的符号称为终结符号。 假定用来生成该语言中的串的元语言包含由称为非终结符号的语法 类或变量所组成的集合。非终结符号集合表示为 VN,且 VN 的元素用来定义语言的语法(结 构) 。进一步,假定集合 VN 和 VT 是分离的。由非终结符号和终结符号组成的集合 VN∪VT 称为语言的字汇表。我们将使用诸如 A、B、C、…、X、Y、Z 这样的大写字母来表示非终 结符号,而 S1、S2、…表示字汇表的元素。终结符号串用小写字母 x、y、z、…表示,而字 汇表上的符号串用α、β、γ、…给出。串α的长度将用#α表示。 ,其中 VT 和 VN 定义 上下文无关文法定义为 4 元组 G=(VN,VT,S,Φ) 分别是终结符号集合和非终结(语法类)符号集合。VN 的、因而也是字汇 表的、与众不同的元素 S 称为开始符号。Φ是从 VN 到(VT∪VN)+的有穷关系。 V=VN∪VT 一般地, 元素<α, β>被写作α→β, 并称为产生式规则或重写规则。 称为文法的字汇表。 注意,上述定义不允许使用空规则(ε-规则) 。空规则是其右部为空串的规则。虽然大多 数上下文无关语法分析程序能处理空规则,为了简单起见,我们不进一步讨论它们。 对于我们早先给出的处理变量名的例子,可以把文法写作 G1=(VN,VT,S,Φ) ,其中, VN={ I,L,D } VT={ a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9 } S=I Φ={ I→L, I→IL, I→ID, L→a, L→b, …, L→z, D→0, D→1,…, D→9 }

12.1 计算机辅助设计
计算机辅助设计(CAD)可被最简单地叙述为“在设计过程中使用计算机” 。在设计过 程中,计算机能被使用在表示和分析步骤两者中。为表示而应用 CAD 时不限于制图。三维 线框建模、边界表示(B-表示)建模和立体建模都是 CAD 用户可用的表示方法。为帮助工 程分析,存在一些软件包来执行运动学模拟、电路分析和模拟,以及用于不同工程分析的有 限元建模。应用领域包括机械工程应用、体系结构和构造工程应用、电子电路、印刷电路板 布局、IC 布局,等等。CAD 系统经常由公共(不总是)数据库和图形编辑器下的一组很多 个应用程序模块组成。 CAD 系统能按几种方式分类: 按系统硬件: 按系统硬件 大型机 小型机 工程工作站 微机 按应用领域: 按应用领域: 机械工程 电路设计和电路板布局 体系结构设计和构造工程 绘制图表 按建模方法: 按建模方法: 二维制图 三维制图 刻蚀的表面 三维实体建模 一个 CAD 系统由三个主要部分组成: 1. 硬件:计算机和输入/输出(I/O)设备 2. 操作系统软件;以及 3. 应用软件:CAD 软件包 硬件用于支持软件功能。广泛范围的硬件被用于 CAD 系统。这个硬件以后讨论。操作 系统软件是 CAD 应用软件和硬件之间的接口。它监督硬件的运转并提供诸如创建和取消运 行任务、控制任务的进展、为任务分配硬件资源和提供对诸如文件、编辑程序、编译程序和 实用程序之类软件资源的访问等基本功能。它不仅对 CAD 软件是重要的,而是对非 CAD 软件也是重要的。 应用软件是 CAD 软件包。它是 CAD 系统的中心。它由执行二维建模和三维建模、制图 和工程分析等的一些程序组成。 CAD 系统的功能性被构建到应用软件, 它使得一个 CAD 软 件包有别于另一个 CAD 软件包。应用软件通常是操作系统相关的。把在一个操作系统上运 行的 CAD 系统移植到另一个不同的操作系统上并不像重编译该软件那样简单。因此,也必 须注意操作系统。应用软件的细节也在以后讨论。 CAD 系统的总的体系结构展示在图 12-1 中。 应用软件在顶层上且被用来操作 CAD 模型 数据库。图形实用程序系统执行坐标变换、窗口操作和显示控制。因为可能会使用几个不同 的 I/O 设备, 因此使用设备驱动程序来对数据和每个设备所使用的特定数据格式进行相互转 化并且控制这些设备。 操作系统在后台运行以协调整个运转。 最后, 用户接口连接人和系统。 CAD 软件是给 CAD 系统以其功能性和个性的软件。软件能基于所用技术而分类: 1. 二维制图

2. 基本的三维制图 3. 刻蚀的表面 4. 三维实体建模 5. 工程分析 操作系统 应用程序软件

用户接口

图形实用程序 (图形例行子程序的)

CAD 模型 数据库

设备驱动程序

I/O 设备 图 12-1 CAD 系统体系结构 由 CAD 软件提供的某些共同可用的功能是: 1. 图操作:添加、删除和修改几何形状和正文 2. 显示变换:定标、旋转、全景、缩放和部分抹除 3. 制图符号:一些标准的制图符号 4. 打印控制:输出设备选择、配置和控制 5. 操作员求助:显示屏菜单、 (图形)输入板叠加、功能键 6. 文件管理:创建、删除和合并图文件

13.1 远程教育技术模型
远程教育覆盖了多方面的技术-教学法的现实,范围从简单的分散化的教室活动到交互 式多媒体模型, 使得无论是什么时间还是什么场所学习都可行。 我们现在描述这些各种各样 的模型并强调为设计虚拟校园的集成式模型而保留的一些原则。 远程教育世界正在蓬勃发展中, 迅速发展的多媒体远程通信正使得技术-教学法模型的数 量日益增加。我们藉助于 6 个主要范式描述它们。 ·内容丰富了的教室 内容丰富了的教室,在传统的环境中使用一些技术以进行展示、演示或实验。它是一 内容丰富了的教室 个允许访问校园资源和外部数据库的网络化教室,并且有时称为“智能”校园。 ·虚拟教室 虚拟教室主要使用视频会议(技术)来支持远程的学习者和教师,因此,重新建立了 虚拟教室 远程出席类型的教室; 很多大学校园现在有他们自己的多媒体产品演播室, 因此他们可以在 一些附属教学点进行分散培训。 ·教学媒体 教学媒体集中于学习者工作站。它允许访问预制在 CD ROM 上的多媒体课程内容, 教学媒体 既可以通过邮件传递, 也可以是从远程多媒体服务器获得。 教育和教学用的资源是以这样一 种方式提供的,使得学习者能把他自己的学习过程个人化以适应自己的需要。

·信息高速公路培训 信息高速公路培训也集中在学习者工作站上,它用作导航和研究手段,以找到一切种 信息高速公路培训 类有用的教育信息。本质上,一门“Web 课程”在中心网站上提供,为完成一些学习活动 而在那里收集与教学用资源(其他的 Web 网站)相关的指示和指针。 ·通信网络 通信网络使用工作站,不仅作为媒体支持或作为访问信息的一种手段,而且也作为同 通信网络 步的(桌面视频会议、显示屏共享等)和异步的通信工具(电子邮件、计算机远程会议等) 。 ·性能支持系统 性能支持系统(EPSS)涉及一些面向任务的培训模块,它们被添加到在一个工作场所 性能支持系统 内的集成支持系统。信息有“及时”质量而把培训看作是补充的并被加入工作过程的过程。 这些模型中的每一个都有一些优缺点。前两者在目前十分流行。它们停留在现场信息传 输中所固有的传统范式: 教师使用计算机化的和听觉视觉的设备来动画制作实时多媒体组演 示、 在本地广播或向学习者聚集的几个远距离场所广播。 这种模型需要昂贵的设备以及学习 者和教师同时在场。 而且, 它经常把学习者的交互作用和主动积极性降低到与课堂中的传统 讲课差不多的程度。 这种方法看来是不能满足社会经济环境中不断增长的培训需求的,在这种环境中,忙碌 且流动的人们所寻求的毕生学习要包括比过去所需求的高得多的认识能力。如同由 Quebec 高级教育委员会当前所作的报告所指出的: · “从现在起,重点必须放在高级认知能力(推理、问题求解、计划)和社会能力(自 立、通信和协作) 。这些是与跟踪信息和通信技术对工作本性之影响的工作人员所期望的能 力相一致的。 ·… (由 LICEF 免费翻译) 因特网和多媒体技术的可用性使学习者面临为数众多的信息源,他必须在其中作出选 择。该新模式(见图 13-1) (处于其学习过程之中心的学习者访问很多专业知识源)用上面 描述的后四种模型表示比用前两种表示更好。 在“教学媒体”或“信息高速公路培训”和它们之应用的一些模型中,按当前实际请况, 培训被个性化, 但是它也丧失了重要的协作方面。 然而, 如果我们使用计算机作为通信工具, 这协作方面能被恢复。 至于 EPSS 方法, 它赞成两个原则: 及时信息和把学习看作信息处理。 在我们虚拟校园提案之核心的学习脚本概念便是以这些原则为基础的。

14.1 软件工程概述 .
世界范围内的商业活动就在其经营的基础上越来越依赖于软件。今天单是美国公司就有 1000 亿行程序代码在使用中。这代码花费 2 万亿美元来创建,而一年花费 300 亿美元来维 护。典型的 Fortune 1,000 公司维护 3500 万行代码。软件设计的质量和商业服务的质量日益 相联系。我们认为每天从预定服务、电话、自动柜员机和信用卡委托应用所获得的便利是天 经地义的。我们能认为这些便利是当然的,直到它们“崩溃”或出了“故障” 。软件工程师 们开发了这些系统, 他们应用来开发应用程序的工程技能远不只是书写高质量的程序。 软件 工程师们需要的技能是调度和管理公司的数据、软件、硬件和通信业务资产。这些计算机相 关的资产现在占全美国商业投资的几乎一半。 软件工程师是能对商业牟利起实际影响的熟练专业人员。单词专业人员在这里是关键, 软件开发众所周知地难以管理; 软件项目惯例地超过预算和落后于预定计划。 计算机程序员 因缺乏对商业的理解或兴趣,他们(所写的软件)是不切实际的。是专业人员的软件工程师 更可能按时且在预算内管理和交付有质量的项目。 本文的一个目标是向你挑战要求制定个人 优秀的高标准:成为专业人员并与众不同。 本课向你介绍本书以及要在后面几章中更详尽地涉及的一些论题。本课的目标是: (1) 回顾你可能已经知道的知识, (2)给你一个讨论应用程序用的字汇表和(3)介绍本文的一

些论题。 使用本课来了解基本定义并开始在脑海中构筑不同的软件工程方法如何工作的一幅 图案。你将在后面几课中学习细节。 软件工程是对软件的系统开发、运转、维护和引退。软件工程师(SE)脑海中有一个在 开发应用程序中使用的技能“工具箱” 。作为信息系统的学生,你了解的是关于工具箱的零 碎知识,本文将向你展示如何一起使用各个工具,并将添加到你已经知道的知识上。例如, 你该已经了解数据流图(DFD) 。DFD 是很多工具中的一个,包括诸如进程层次结构、进程 依赖性和对象图之类的新图。 没有一个工具是理想或完备的。 软件工程师因为了解这些工具 的长处和不足而知道如何选择工具。 尤其是, 一个软件工程师不局限于试图用单个工具强制 适合于一切情况。 软件工程是重要的,因为它给你一个作为信息系统开发专业人员发展事业的基础。在课 程结束时,你将了解对机构中的信息系统进行分析、设计、程序设计、测试和维护的各种方 法。你将知道开发应用程序的各种选择,并且你将知道如何和何时从它们中进行选择。你将 能比较和对照方法论差异,并将知道支持各方法论的主要计算机辅助软件工程(CASE)工 具。 最后, 你将对软件工程的作用和它们在应用程序开发中如何与项目管理人员一起工作有 一个正确评价。下面这个对话可能在管理人员办公室中不经意地听到: 咨询管理员: “行,玛丽,明天你开始在我们正在为 ABC 视频公司开发的租赁处理应用 程序方面工作。玛丽,你是项目管理员,准备好了吗?” 玛丽: “是的,我们的第一件工作是关于该应用程序查明更多的东西。然后,萨姆和我 将决定我们的开发方法和需要的文档。ABC 的经理 Vic 愿意向我们提供我们需要的东西。 然后我们将完成可行性分析和… ” 玛丽正在描述为现代软件工程师在开发基于计算机的应用程序中所采用的前面几个步 骤。 软件是用一种或多种程序设计语言写的指令序列, 它们构成了使某个商业功能自动化的 计算机应用程序。工程是在问题求解中工具和技术的使用。把两个单词放在一起,软件工程 是在开发基于计算机的应用程序中工具和技术的系统应用。 软件工程师是把广泛范围的应用开发知识应用于为机构系统地开发应用程序系统的人。 软件工程师习惯于把他们的工作考虑作为认真开发结构良好的计算机程序。 然而, 随着活动 范围的演化,系统分析员把系统分析作为一个任务来执行。现在,开发应用程序的(技术) 方法、工具和技术激增,软件工程师的工作已演化到现在包括评价、选择和使用特定的系统 方法对软件进行开发、运转、维护和引退。开发 开发开始于决定开发一个软件产品,而当交付产 开发 品时结束。运转 运转是发生的日常处理。维护 维护围绕为修复错误、为业务变化做准备或使软件功效 运转 维护 更高而对系统和程序的逻辑所做的改变。 引退是把当前的应用程序替换为提供该工作的某个 引退 其他方法,通常是一个新的应用程序。

15.1 关于病毒我需要知道什么 关于病毒我需要知道什么?
计算机病毒是一个在计算机上恶意地引起有害行为的程序。 病毒通过把自己并入共享在 计算机系统中的其他程序来复制自己。病毒不是“意外的” ,它们是由一些无赖程序员编写 产生,并散布,看它们传播。 “计算机病毒” 这个术语的产生是由于其与生物学上病毒的类似特性。 计算机病毒有三 个明确的共同特性: 复制它们自己的能力 需要一个载体或主人 病毒在受感染的计算机系统上破坏或引起想不到的行为 计算机病毒程序的目的从无害和幽默到公开破坏样样都有。 一些病毒仅仅引起计算机屏

幕显示一些无聊的动画或消息;另一些病毒删除整个硬盘的内容!总之,病毒的影响不是计 算机用户想要的。 计算机病毒确实存在并且在有意无意地传播, 但对一个计算机系统通常不会意外地感染 病毒。你的计算机能够从 Internet 下载一个受感染的程序、从公告系统(BBS) ,或朋友给你 的盘上感染到病毒。本质上讲,病毒是通过程序传染的。你可能由于访问一个受感染的软盘 或硬盘,或运行一个你从 Internet 下载的受感染的程序(通过 FTP、Web 网站或电子邮件附 件)而得到病毒。 有六类病毒:寄生、引导扇区、多-分裂、连接、伙伴和数据文件。寄生病毒感染文件 或程序。引导扇区病毒或者取代存储有关磁盘内容的程序或者取代启动计算机的程序。多分裂病毒结合寄生病毒和引导扇区病毒。伙伴病毒创建一个与合法程序名字相同的新程序。 连接病毒修改操作系统找到程序的方法。 数据文件病毒感染能打开、 操作和关闭数据文件的 程序。 然而, 有一些预防方法你可以采用来防止有害的病毒感染。 防病毒武器包括了解病毒如 何工作的,习惯地使用病毒扫描程序,以及实现系统保护方法。 你不可能从阅读网页、电子邮件消息和 Usenet 新闻组记录中得到病毒。事实上,已有 些谣传和病毒“欺骗”引起一些人的恐慌。一个欺骗的例子是所谓“好时代”病毒,据说该 病毒可以被电子邮件携带和传输;假象中,只要读一则主题行中有“Good Times”这些词的 消息就会删去硬盘内容或甚至破坏计算机的处理器。但是不存在“Good Times”病毒,病毒 并不是这样工作的。 真正的病毒,每一种都不同。这意味着你应使用可靠的、最新的病毒扫描程序。病毒扫 描程序是一个被设计来对已知的病毒或可疑活动来检查整个计算机系统的程序。 有许多免费 的病毒扫描程序可用,如,对 Macintosh 有 Disinfectant 或对 DOS/Windows 有 McAfee VirusScan。你可以从 Infection Connection 网站访问病毒扫描程序资源。 最后,一定要知道硬件写-保护的方法并且做一个可靠的备份系统以用于突然的情况。 病毒感染可以通过立即把计算机从网上分开,停止文件交换,和只用写保护的磁盘来抑制。 某些防病毒软件企图删除被发现的病毒,但更可靠的方法是,关上计算机,从写保护的软盘 重新启动,除去病毒,删除受感染的文件,并且从备份盘上替换文件。通常,合法软件和数 据的定期备份可用来恢复计算机。 有关计算机病毒的更多信息, 请参见 VIRUS-L/ comp.virus FAQ。


相关文档

计算机专业英语课文翻译(第四版)
计算机专业英语课文翻译部分(第四版)
计算机英语(第3版)课文翻译
计算机专业英语课文翻译(第四版)——荆楚理工学院
计算机英语第三版课文翻译
计算机英语 课文翻译
计算机英语教程课文翻译2
计算机专业英语教程 第四版 部分翻译和简答题
计算机专业英语(2008影印版)第七章全文翻译
学霸百科
电脑版 | | 学霸百科