计算机专业英语教程翻译

上传人:大米 文档编号:568321981 上传时间:2024-07-24 格式:PDF 页数:23 大小:1.36MB
返回 下载 相关 举报
计算机专业英语教程翻译_第1页
第1页 / 共23页
计算机专业英语教程翻译_第2页
第2页 / 共23页
计算机专业英语教程翻译_第3页
第3页 / 共23页
计算机专业英语教程翻译_第4页
第4页 / 共23页
计算机专业英语教程翻译_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《计算机专业英语教程翻译》由会员分享,可在线阅读,更多相关《计算机专业英语教程翻译(23页珍藏版)》请在金锄头文库上搜索。

1、细看处理器与主存储器细看处理器与主存储器我们已经了解到所有电脑有类似的能力且能执行相同的功能 ,尽管一些可能比其他的快。我们知道电脑系统有输入、输出、仓储、加工的元件 ,还知道处理器是电脑系统的“智能”部分,并且知道一个简单的电脑系统可以有几个处理器。 我们已经讨论了在电脑系统中数据以被称作位的电子状态来表示。我们现在准备阐释电脑系统核心的内部活动处理器。电脑的内部操作很有趣,但真的没有什么奥秘的事。 这种神秘性存在于那些道听途说和相信科幻作家的人心中。电脑是不会思考的电子设备,它必须插入电源,就像一台烤面包机或一盏灯。毫不夸张地讲, 市场上有几百种不同类型的电脑在销售。 每种类型可能都很复杂

2、,但每个处理器,有时被称为中央处理器或者说 CPU,只有两个基本部分:控制单元,算术和逻辑单元。主存储器在处理器的内部发挥着重要作用。 这三个主存、控制单元,算术和逻辑单元一起工作。让我们来看看他们之间的功能和联系。与磁辅助存储设备,如磁带、磁盘相比,主存没有移动部件。没有机械的运动,数据可以以电子的速度被存取访问,接近光速。今天大多数电脑的主存使用 DRAM(动态随机访问存储器)技术。 先进的 DRAM 芯片大约有 1/8 邮票那么大, 大约可以储存 256,000万位或多于 25,600,000 字符的数据。主存储器,或者主存,提供给处理器的程序和数据暂时的存储。在可执行程序或数据可以被处

3、理之前,所有的程序和数据必须被从输入设备(如 VDT)或从辅助存储(如磁盘)转移到主存储器。 主要的存储空间总是很少;因此,在一个程序被执行后, 它占领的储藏空间会被重新分配给另一个等待执行的程序。图 1 - 1说明了所有的输入/输出(I / O) “读”或“用”主要的存储。图中 (输入)探讨是在 VDT 上。消息被查询的形式,是通过一个渠道到主存储器(如同轴电缆)。消息被解释,处理机从辅助存储设备取出所需的程序和数据。程序和数据被“装好” ,或移动,从辅助存储器到主存储器。这是一个无损阅读过程。也就是说,程序和数据被从主要存储器(暂时的)和辅助存储器(永久)中读取。 数据根据程序指令被操作,

4、报告被从主存储器写入到打印机。一个程序指令或一块数据保存在的特定的主存单元被称为地址。地址允许程序指令和数据被存储,访问和加工。每一个地址的内容随着不同程序的执行和新的数据的处理是不断变化的。主存储器的另一个名字是随机存取存储器,或 RAM。一种特殊类型的主存储器,称为只读存储器(ROM),不能被程序员改写。 ROM 的内容被制造商作为 “只读”所固化设计在芯片的逻辑上 。当你打开微机系统,一个 ROM 中的程序自动启动电脑系统。然后ROM 程序初步显示屏幕提示。ROM 的一种变种是可编程的只读存储器(PROM)。RPOM 是让用户能装载“只读”的程序和数据的 ROM。一旦一个程序被加载到 P

5、ROM,它简直从不改变。然而,如果你需要能够修改内容的 PROM,有EPROM,可擦写的 PROM。在写操作之前,所有的储存单元必须被删除到同样的初始状态。一个更具有吸引力的形式的主读存储器是电可擦可编程只读存储器(EEPROM)。在任何时候都可以写入,不需擦除原先内容,且只是更新寻址到的字节或多个字节。EEPROM 把非易失性优点和可更新、需更新的地方的灵活性结合起来,修改时使用普通的总线控制线、地址线和数据线。另一种形式的半导体内存是闪存(这样命名因为速度)。闪存在消耗和功能上介于EPROM 和 EEPROM 之间。和EEPROM 一样,闪存使用的是电擦除技术。整个闪存在一个或几秒钟内可以

6、被消除,这比只读存储器快得多。 另外,可能消除只是块的内存,而不是整个晶片。 然而,闪存不提供字节级的擦除。 与 EPROM 一样,闪存每位只使用一个晶体管,所以能到达 EPROM 的高密度。高速缓冲存储器高速缓冲存储器程序和数据从辅助存储装载到 RAM,因为从 RAM 访问一个程式指令或者一段数据所需要的时间远远低于从辅助存储器。从磁盘存储器上存取单个数据所花的时间,可以从RAM中存取几千条指令或数据。 RAM实质上是一种数据和程序的高速起降缓冲区。事实上,没有什么真正发生在电脑系统中,直到程序指令和数据转移到处理器。这转移到处理器的指令和数据可能是费时的,即使在微秒级速度。 为了促进指令和

7、数据更快的转移,大多数电脑到处理器被设计通过高速缓冲存储器。 高速缓冲存储器主要被电脑设计师用于增加吞吐量(电脑系统的工作速率)。像 RAM 一样, 高速缓存是一项高速起降缓冲区程序数据和指令。 然而,缓存存储器使用静态存储器(静态的内存)技术,大约有 RAM 的 10 倍速度和 100 倍的花费。 只有 RAM一小部分的内存容量,高速缓存只保持下一步可能需要由处理器处理的程序和数据。两种类型的高速缓冲存储器广泛应用于电脑。第一个被称为内部缓存和建在中央处理器的芯片。第二个,外部高速缓存,位于靠近 CPU 的地方。电脑可以有几个不同层次的高速缓冲存储器。 一级缓存几乎总是建成芯片。 二级缓存曾

8、经是外部高速缓存,但现在通常像一级缓存一样也建到 CPU。1.21.2 总线互连总线互连总线是连接两个或多个设备的通信通路。总线的关键特征是,它是一条共享传输介质。 多个设备连接到总线上, 任一个设备发出的信号可以为其他所有连接到总线上的设备所接收。 如果两个设备同时传送, 它们的信号将会重叠, 引起混淆。 因此,一次只能有一个设备成功地利用总线发送数据。典型的情况是,总线由多条通信通路或线路组成,每条线(路)能够传送代表二进制 1 和 0 的信号。一段时间里,一条线能传送一串二进制数字。总线的几条线放在一起能同时并行传送二进制数字。例如, 一个 8 位的数据能在 8 条总线线上传送。电脑系统

9、包含有多种不同的总线,它们在电脑系统层次结构的各个层次提供部件之间的通路。连接主要电脑部件(处理机, 存储器, I/O)的总线称为系统总线系统总线。系统总线通常由 50100 条分立的(导)线组成。 每条线被赋予一个特定的含义或功能。 虽然有许多不同的总线设计,但任何总线上的线都可以分成三个功能组:数据线、地址线和控制线。此外可能还有为连接的模块提供电源的电源线。数据线提供系统模块间传送数据的路径,这些线组合在一起称为数据总线。典型的数据总线包含 8、16 或 32 根线,线的数量称为数据总线的宽度。因为每条线每次传送 1 位,所以线的数目决定了每次能同时传送多少位。数据总线的宽度是决定系统总

10、体性能的关键因素。地址线用于指定数据总线上数据的来源和去向。例如,如果处理机希望从存储器中读一个字的数据,它将所需要字的地址放在地址线上。显然,地址总线的宽度决定了系统最大可能的存储器容量。控制线用来控制对数据线和地址线的访问和使用。由于数据线和地址线被所有部件共享,因此必须用一种方法来控制它们的使用。控制信号在系统模块之间传送命令和定时信息。定时信息指定了数据和地址信息的有效性,命令信号指定了要执行的操作。大多数电脑系统使用多总线,这些总线通常设计成层次结构。图显示了一个典型的高性能体系结构。一条局部总线把处理机连接到高速缓存控制器,而高速缓存控制器又连接到支持主存储器的系统总线上。高速缓存

11、控制器集成到连接高速总线的桥中。这一总线支持连接到:高速LAN、视频和图形工作站控制器,以及包括SCSI 和FireWire 的局部外设总线的接口控制器。低速设备仍然由分开的扩充总线支持,用一个接口来缓冲该扩充总线和高速总线之间的通信流量。快速外设部件互连提升性能快速外设部件互连提升性能在过去的十年里,PCI 总线一直是 PC 机和服务器的主流 I/O 架构。PCI 传送由微处理器、网卡、图形卡和与它相连的其他子系统所产生的数据。然而,随着计算元件的速度和性能的提高,PCI 的带宽限制和并行效率低下逐渐成为系统性能的瓶颈。PCI 是一种有多个适配器的单向平行总线体系结构, 必须争夺可利用的总线

12、带宽。虽然 PCI 接口的性能几年来不断得到改良,但信号偏离数据位到达目的地太晚 ,信号路由以及无法降低电压或提高频率等问题,无不说明该架构走到了尽头。额外的努力去提高它的性能将会花费很大而且不切实际,一些卖主,包括业内一些最大最成功的系统开发商, 发起了一项被称为 PCI Express 的 I/O 架构 最初被称为第三代 I/O,或 3GIO 。PCI Express 是点对点的切换体系结构,创造了高速、CPU 和系 I/O 统之间的双向链接 开关是由主桥连接到 CPU 上 。 每一个这些链接都有一个或多个包含四条线的线缆两条用来传送数据两条用来接收数据。这些线缆的设计能使其在低电压下的使

13、用(导致低力量的使用),减少电磁排放,消除信号偏离,降低成本自然也提高了性能。在最初的设计实现中, PCI Express 可以得到在每条线路上的每个方向以 2.5Gbit/秒的速度转移。相比之下版本的 PCI 架构,是如今最常见的,提供 1 Gbit /秒的吞吐量。PCI Express 卡的吞吐量可在四或八线配置(称为 x4 和 x8),x4 PCI Express卡所能提供的吞吐量高达 20 Gbit/秒,而 x8 PCI Express 卡所能提供的吞吐量高达40 Gbit/秒。早期尝试创建一个新的 PCI 架构失败了,这在一定程度上是因为他们需要太多的变化到系统和应用软件。驱动程序,

14、实用程序和管理应用均需要被改写。 PCI Express的开发人员消除了对新操作系统支持的依赖,让 PCI 兼容的驱动程序和应用程序无需改变就能在 PCI Express 硬件上运行。未来总线未来总线开发人员正在提高 PCI Express 的可扩展性.当前服务器和桌面系统支持PCIExpress 适配器和图形卡高达 8 通道,这种体系结构在将来能够支持多达 32 个通道。第一个光纤通道主机数据适配器被设计来支持四通道而不是八通道 ,部分原因是由于服务器开发商已经将他们的系统设置成了四通道插槽,。 甚至更大的带宽是必须的,执行一条八通道道设计能够将性能提高一倍,假设系统中没有其他瓶颈。这种可伸

15、缩性加上每个通道的速度有望加倍,到达 5Gb/s(兆位/秒),将保持 PCIExpress 在可预见的未来仍然是设计师课实施的方案。PCI Express 是 PCI 上重大的提高,并且,在它的发展路上正逐步形成对PC 机,服务器的更多的新的标准。它不仅可以降低成本,提高可靠性,但是它也大大提高了性能。应用程序如音乐、视频流、视频点播、网络和数据存储将受益于这些改良。2.42.4 外部接口外部接口: SCSI: SCSI 和火线和火线I/O 模块到外设的接口必须按该外设的性质和操作来设计改制。接口的一个主要特性是串行还是并行。在并行接口中,连接 I/O 模块和外设的线有多根,同时传送多位,就象

16、在数据总线上同时传送一个字的所有位。在串行接口中,只有一条线用于传送数据,每次传送一位。通常,并行接口用于高速外设,诸如磁盘和磁带。串行接口更常用于打印机和终端。什么是什么是 USBUSB?在电脑周围呆过 2 到 3 年以上的人都知道 USB 试图解决的问题在过去,把储设备连接到电脑一直是头痛问题!打印机连接到并行打印机端口, 而大多数电脑只有一个。 Zip 驱动器那些设备需要一个电脑的高速连接也将使用并行端口,经常很少成功且速度不快。调制解调器使用串口端口。大多数电脑最多有两个串行端口,并且在大多数情况下,它们是很慢的。需要更快连接的设备有它们自己的卡,这些卡必须插入电脑机箱内相符合的卡槽口

17、。 遗憾的是, 卡槽口的数目有限, 并且你需要一个博士生为某些卡安装软件。USB 的目标是结束所有这些头痛问题。通用串行总线给你一个单一的、标准的、容易用的方法,把多达 127 个设备连接到一台电脑上。把一台USB设备连接到电脑是简单的你只要在你的机器背后或正面找到USB插头插入即可。如果它是一个新设备,操作系统自动检测到它,并要求该设备的驱动程序盘。 如果该设备已经安装, 电脑就激活它并开始与它通话。 USB 设备可以在任何时间连接和断开。一根 USB 电缆有两根线用于电源+5 伏和地线 ,一根双扭线传送数据,低功率设备为鼠标能够直接从 USB 总线获得它们的电源。高功率设备为打印机有它们自

18、己的电源并从总线获得极小的电源, 单根 USB 电缆能延伸 5 米长; 用几个集线器,设备可以离主机 30 米6 根电缆 。许多 USB 设备有它们自己的内部电缆,且该电缆有一个“ A”连接。如果没有内部电缆的话,那么该 “A”插口上行接向电脑“B”插口下行接到个别的设备通过在上行端口和下行端口使用不同的插口,就不可能搞混乱如果你把任何USB 电缆的“B”插头连接到一个设备,那你知道它会正常工作。类似地,你可以把任何“A”插头插入任何“A”插座,并知道它会正常工作。2000 年 4 月发布了版本的标准,它作为的升级版。 高速 USB为多媒体和存储应用提供附加的带宽, 并且比快 40 倍的数据传

19、输率。 为了使消费者和制造商能平滑的过度,与原先的 USB 设备完全向前和向后兼容,并且也能用为原先的USB 制造的电缆和连接器工作。由于支持 3 钟速度方式,支持低带宽设备,如键盘和鼠标,以及高带宽设备,如高分辨率 Web 相机、扫描仪、打印机和高兼容存储系统。的使用已使 PC 工业界领导者们加速开发下一代 PC 外设来补充现有的高性能 PC。的传输速率也推进了开发下一代PC 和应用程序。除了改良功能和鼓励革新,提高了用户应用程序的生产率,并且允许用户同时运行多个 PC 应用程序或假设干高性能外设数据传输数据传输当主机开机时,它询问所有连接在通用串行总线上的设备,且分配每个设备一个地址。这个

20、过程称做计数当设备连接到总线时设备也被计数。主机也从每个设备查出它希望进行哪一种数据传输。中断模式鼠标或键盘等设备,发送很少的数据会选择中断模式。成批模式打印机等设备以大的数据包接收数据, 所以使用成批传输模式。一块数据发送给打印机个字节块且被检验确定它是正确的。等时模式流设备使用等时模式, 数据在设备和主机之间以实时方式流动,且没有错误校正。主机也能用控制包发送命令或查询参数。火线串行总线火线串行总线随着处理机速度到达 1GHz, 以及存储设备有几千兆位,个人电脑和服务器对I/O的要求是很苛刻的。 因此, 对开发一种高速接口来替换 SCSI 和其他小型系统的 I/O 接口一直存在着很大的兴趣

21、。其结果是高性能串行总线的IEEE 标准 1394, 通常称为火线。火线比 SCSI 和其他 I/O 接口有许多优点。它的速度快、价格廉价而且容易实现。事实上,火线不仅在电脑系统, 而且在消费者电子产品, 如数码相机、VCR 和电视机都很受欢送。在这些产品中,火线用于传送视频图像,这些视频图像正在越来越多地来自于诸如数码相机,数码摄相机等数字化设备。火线接口的强项之一是采用串行传送(每次一位)而不是并行传送。并行接口,如SCSI,需要较多的线, 这意味着较宽、 较贵的电缆以及较宽、 较贵的带有更多引脚 要弯曲或断开 的连接器。 一条带有多根线的电缆需要屏蔽保护以防止线之间的电干扰。此外,恰恰在

22、电脑增加计算能力和 I/O 要求时,它们的体积正变得更小。手提式和袖珍式电脑给连接器很小的空间,但却需要高速数据传输率来处理图象和视频。火线的目的是提供单个接口,带有简单的连接器,它能够通过单个端口来处理许多设备,因此,鼠标、激光打印机、SCSI、外部磁盘驱动器、声音,和局域网连接都能用这单个连接器所取代。这种连接器是受 Nintendo Gameboy 中所用的连接器的启发。它的使用是如此方便,用户只要在机器背后插入即可。火线使用菊花链配置,从单个端口可连接多达 63 个设备。而且多达 1022 条火线总线能用桥接器互连,使得系统能支持所需要那么多的外设。火线提供大家所知的热插入,它不需要关

23、闭电脑系统或重新配置系统就能连接和断开外设。3.1 C+3.1 C+和面向对象的程序设计和面向对象的程序设计一些面向对象的程序设计概念在语言间渗透。 例如微软 Quick Pascal 是允许使用对象的第一批语言中的一个。 C+有什么使得它是一种适合于开发面向对象程序的语言?如同先前所提到的,答案是类 class数据类型。给该语言建立对象之能力的是建立在 C 结构类型之上的 C+类class类型。还有,C+把另外几个特性引入面向对象的程序设计, 这些特性并不包含在简单地利用对象的其他一些语言中。 C+的优点包括强类型、运算符重载和较少地强调预处理。确实你能使用其他一些产品和采用其他一些语言来进

24、行面向对象的程序设计,但是采用 C+的众多好处是显著的。这是为面向对象的程序设计而设计的语言,并非现有语言的式样翻新。面向对象的程序设计是一种程序设计技术,使得你能把一些概念看作各种各样的对象。通过使用对象,你能表示要被执行的任务、它们之间的相互作用和必须观察的某些给定的条件。一种数据结构经常形成某个对象的基础;因此,在 C 或 C+中,结构类型能形成某种基本对象。与对象的通信,如前提到的,能通过使用消息来完成。消息的使用类似于在面向过程的程序中对函数的调用。当某对象收到一个消息时,包含在该对象内的一些方法作出响应。方法类似于面向过程程序设计的函数。然而,方法是对象的一部分。C+的类是对 C

25、和 C+结构类型的扩充,并且形成了面向对象程序设计所需要的抽象数据类型。类能包含紧密相关的一些条目,它们共享一些属性。更正式地说,对象只不过是类的实例。最终,应该出现包含很多对象类型的类库,你能使用这些对象类型的实例去拼合程序代码。在你更详细地考察这些术语之前,一个好的主意是熟悉与 C+和面向对象程序设计相关的另外几个概念,如同下面几节所述的。封装封装封装指的是每个对象把它的成员数据和成员函数 方法 组合成单个结构的方式。图 3-1 举例说明了你如何能组合数据域和方法以建立对象。典型地,一个对象的描述是一个C+类的一部分, 且包括对该对象内部结构的描述、该对象如何与其他对象相关,以及把该对象的

26、功能细节和该类的外部相隔离的某种形式的保护。C+类结构做到了所有这些。在一个 C+类中,你使用私有的、公共的和 /或受保护的描述符来控制对象的功能细节。在面向对象的程序设计中,公共public部分一般用于接口信息方法 ,使得该类可在各应用中重用。如果数据或方法被包含在公共部分,它们在该类外部也可用。类的私有部分把数据或方法的可用性局限于该类本身。包含数据或方法的受保护部分被局限于该类和任何派生子类。类层次结构类层次结构C+类实际上用作创建对象的模板或模式。从类描述形成的对象都是该类的实例。开发类层次结构是可能的,其中有一个主类和几个子类。在C+中, 做这事的基础是派生类。父类表示更一般化的任务

27、,而派生子类执行一些特定的任务。例如,早先讨论的林肯类也许包含整个林肯系列公共的数据和方法,诸如引擎、检测仪表、电池、制动能力和操纵。从父类派生的子类,诸如Tour Car、Mark 和 Continental 可能包含该类专用的一些款项。例如,1995 Continental是该系列中唯一具有主动悬架系统的汽车。继承继承面向对象程序设计中的继承使得一个类能继承某对象类的一些性质。父类用作派生类的模式,且能以几种方式被改变在下一章中你将了解成员函数能被重载、新的成员函数能被添加, 并且成员存取特权能被改变 。 如果某个对象从单个父类继承其属性,称为单继承。如果某个对象从多个父类继承属性,便称为

28、多继承。继承是一个重要概念,因为它使得无须对代码做大的改变就能重用类定义。继承鼓励重用代码,因为子类是对父类的扩充。多态性多态性与类层次结构相关的另一个重要的面向对象概念是公共消息能被发送到诸父类对象和所有派生子类对象。按正式的术语,这称为多态性。多态性使每个子类对象能以一种对其定义来说适当的方式对消息格式作出响应。试设想收集数据的一个类层次结构。父类可能负责收集某个个体的、社会安全号、职业和雇佣年数,那末你能使用子类来决定根据职业将添加什么附加信息。一种情况,一个管理职位会包括年薪,而另一种情况,销售员职位会包括小时工资和回扣信息。因此,父类收集一切子类公共的通用信息,而子类收集与特定工作描

29、述相关的附加信息。多态性使得公共的数据收集消息能被发送到每个类。父类和子类两者都以对该消息是恰当的方式作出响应。多态性促进现有代码的可扩充性。虚函数虚函数多态性赋予对象以当对象的精确类型还未知时响应来自例行程序之消息的能力。在 C+中这能力是迟绑定的结果。 使用迟绑定, 地址在运行时刻动态地确定, 而不是如同传统的编译型语言在编译时刻静态地确定。这静态的固定的方法往往称为早绑定。函数名被替换为存储地址。你使用虚函数来完成迟绑定。在随后的派生类将通过重定义函数之实现而重载该函数时,在父类中定义虚函数。当你使用虚函数时,消息不是直接传给对象,而是作为指向对象的指针传送。虚函数利用了地址信息表, 该

30、表在运行时刻使用构造符而被初始化。 一个构造符每当创建它的类的一个对象时被调用。这里构造符的工作是把虚函数与地址信息表链接,在编译运转期间虚函数的地址是未知的;相反,给出的是在运行时刻确定的地址表中将包含该函数入口地址的位置。介绍介绍Java 是为了应对在异构条件下、 全网分布式环境的应用开发背景的挑战而设计的。其中最重要的挑战就是在系统资源消耗最低的情况下的安全传送应用 ,可以运行在任何硬件和软件平台,可扩充动态变化。Java 开发源于一个研究计划的一部分, 开发在多种多样的网络设备和嵌入式系统中使用的先进软件。目标是发展一个体积小、可靠性高、便携式的、分布式的、实时操作平台。当项目开始时,

31、C+ +是精选的语言。但随着时间的推移,由于C+产生的问题逐渐显著,最好的解决方法就是创造一种全新的语言平台。设计和架构决策从各种各样的语言中得出,如 Eiffel, SmallTalk, Objective C 和 Cedar/Mesa。对于开发一套安全的、分布式、基于网络环境的,最终用户应用程序从网络兼容设备到万维网和桌面的程序来说,结果得到的语言平台被证明是理想的。Java 的设计需要是被计算环境的本性所驱使,在其中软件必须被展开。大量增长的因特网和万维网引领我们以一个全新的角度看待软件的发展和分布。为了在电子商务和分布式环境中生存,在异构的分布式网络中,Java 必须保证有应用在多个平

32、台的安全性,高性能和鲁棒性。在多平台的异构式网络的操作,使传统方案的二进制分布、发布、升级、补丁等变得无用。为了在这激烈的竞争中生存,Java 必须是总体结构不带偏向性的、可移植的,且能动态地自适应的。Java 系统的出现很容易地满足了这些需求,所以它可以很容易地被大多数开发者应用进行编程; 同样地, 当前的开发者可以非常容易地学习Java; 面向对象,利用现代软件开发方法和融入分布式客户端-服务器应用程序中;多线程,对高性能应用程序,需要完成多个并发活动,如多媒体;可解释,为了获得最大的可移植性和动态能力。此外,上述要求的集合了相当多的时髦术语,所以让我们应在使用之前检测他们以及他们各自的优

33、点。Java 和他的实时系统以全新的方式相结合产生了灵活的强大的编程系统。你的应用程序使用 Java 开发的软件可在多种机器总体结构、 操作系统和图形用户接口间移植, 安全、 高性能。 使用 Java,你作为一名软件开发者的工作更容易了基于 Java 的坚实基础, 集中你的全部的注意力在运行创新的产品的最终目标上。 更好的软件方式开发是在这里,现在,给你带来 Java 语言平台。很有力的语言 Lisp, TCL, 和 SmallTalk 经常用于原型构造技术。他们成功的原因之一是它们具有鲁棒性你不必担忧释放或损坏内存。同样,在 Java 编程时程序员可以相对无所畏惧的处理内存问题; 无用单元回

34、收系统使程序员的工作大为容易;卸下了程序员肩上的存储管理之负担, 存储分配错误不再发生。一般认为像 LISP、TCL、和 SmallTalk 这样一些语言十分适合于原型法的另一理由,是因为它们不要求你受早期决定的约束这些语言的语义是很丰富的。Java 有恰恰相反的性质:它强迫你做出明确的选择。伴随这些的选择还有很多辅助方法你可以写方法调用,如果你有什么错了,它会在编译时将这些告诉你。你不必担忧方法调用错误。操作系统概述操作系统概述操作系统是作为软件之间的接口电脑用户和电脑硬件。操作系统的目的是提供一个环境,让用户可以执行程序的。 最基本的目标是一个操作系统,使电脑系统使用方便。次要目标是使用电

35、脑硬件在一条有效途径。我们可以认为一个操作系统为一种资源分配程序。电脑系统可以有很多资源要解决的一个问题:比方 CPU 时间、内存空间,文档保存、输入/输出(I / O)设备等等。操作系统作为这些内容的管理者及分配于一些特定的程序和用户所需要的任务。因为可能有很多,可能相互矛盾的,资源的需求、操作系统必须决定哪些请求是分配的资源,以公平和有效率地操作电脑操作系统。早期的电脑是从控制台运行 物理 很大的机器。程序员将编写一个程序,然后直接从该操作员的控制台运行该程序。 软件如汇编、 装载机和编译器改良了方便的编程系统,但还需要大量的设置的时间。为了减少启动时间、经营者被雇用和类似的工作是成批排在

36、一起。批处理系统允许自开工作被常驻监控程序排序,很大的改善了综合利用电脑。 电脑已经不再有等人类的操作。CPU 利用仍然很低,但是由于移动的缓慢速度相对I / O设备到中央处理器。离线运行试验设备缓慢。缓冲是另一个方法提高系统性能的输入、输出重叠,并给出计算一个单一的工作。最后,允许中央处理器重叠设备工作的输入和输出计算与其他的工作。后台还提供了许多已读取和正在等待运行的工作。这份工作支持多道程序设计的概念池。 与多道程序设计中,几项工作,保持在记忆在同一时间,中央处理器被转回之间穿行以增加 CPU 利用率、降低总实时用来执行一个工作。为了提高效率而发展的多道程序设计, 也允许时间共享。共享操

37、作系统允许许多用户(从一个到数百) 交互地在同一时间内使用电脑系统。由于系统从一个用户到下一个用户的快速的转换,每个用户都会有他拥有自己的电脑的感觉。其它的操作系统类型包括实时系统与多处理器系统。, 实时系统经常在专用应用系统被用作控制装置。传感器将数据传给电脑。电脑必须分析数据,很有可能调整控制来修改传感器的投入。控制科学实验的系统,医学电脑系统,工业控制系统,以及一些显示系统都是实时系统。实时多任务操作系统具有明确的固定的时间限制。处理必须在规定的时间内完成,否则系统将失效。多处理器系统上有一个以上的 CPU。明显的优势是更大的计算能力和可靠性。对于多处理器和多处理电脑有各种类型的操作系统

38、。这是对于多个 CPU 系统某种程度的可能区分两种类型的操作系统,松散耦合的,如网络操作系统和分配操作系统,和紧耦合的,如并行操作系统。我们应该看到, 松与紧耦合的软件是大致类似于松与紧耦合的硬件。操作系统必须能够确保电脑系统的正确运行。为了防止用户程序干扰系统的正确运行,硬件修改为两个模式:用户模式和监控模式。许多的指令(如 I / O 指令,停止指令)有特权,并且只能在监控模式下运行。监控程序所在的内存也必须保护起来以防用户修改。定时器可以防止死循环。一旦对基本的电脑结构作了这些改变两种方式,特权指令,内存保护,时钟中断 ,就有可能写出正确的操作系统。4.34.3 窗口管理程序窗口管理程序

39、窗口管理程序管理那些用来交换应用程序和用户之间信息的设备。输出设备包括视频显示器和声音合成器。 输入设备包括键盘和指点器, 诸如鼠标、 操纵杆、 控制球、或光笔。窗口管理程序与输出设备的设备驱动程序交互把信息呈现给用户,与输入设备的设备驱动程序交互获取表示用户正在输入信息的消息。应用程序和脚本执行引擎把表示成位图或 PostSript 表示法的图像传给窗口管理程序,窗口管理程序把这些图像呈现给用户。窗口管理程序把用户通过输入设备输入的消息返回给应用程序和脚本执行引擎。窗口管理程序已十分普及,因为它们支持许多对终端用户和应用程序开发者两者都十分有用的特性。用户与多个进程交互。用户与多个进程交互。

40、窗口管理程序把窗口分配给每个进程。如果每个进程与一个显示在显示屏上的窗口相关,那么多个进程可以共享一个视频显示屏。用户通过观看分配给进程的窗口之内容和向其窗口处于激活状态的进程发命令来观察进展 (即执行情况)和控制各进程。用户容易在应用程序之间移动信息。用户容易在应用程序之间移动信息。 窗口给用户提供了一种在应用程序之间传送信息的方法。图 4-1 举例说明了一个有 3 个窗口的显示屏。一个窗口分配给正文编辑程序,另一个分配给电子表格程序,而第三个窗口分配给数据库程序。在这个例子中,用户首先用数据库应用程序从数据库检索某些数据。然后用户从检索得到的数据中选择某些,并把这些数据移到第二个窗口中的电

41、子表格程序。电子表格应用程序计算合计和总计信息,然后用户把计算结果移到分配给正文编辑程序的窗口。用户使用正文编辑程序把总计信息集成到正在用正文编辑程序准备的报告中。用户访问远程应用程序。用户访问远程应用程序。一些窗口管理程序能够通过通信系统把一个窗口分配给运行在远程电脑上的一个进程。 例如, 工作站的用户希望访问某台大型机上的数据库。该用户请求窗口管理程序创建窗口,在该窗口中用户可以输入对那台大型机上的数据库管理系统的请求。在该请求被处理后,窗口管理程序在该窗口中显示从数据库管理系统来的结果。用户对一个进程有多个视图。用户对一个进程有多个视图。一些窗口管理程序可以把几个窗口分配给一个应用程序:

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

43、端独立性。一些窗口管理程序工作在一大类终端和工作站上,并且对应用程序隐藏了这些终端和工作站之间的差异。终端独立性增加了应用程序对各种各样的终端和工作站的可移植性。互联网互联网世界上存在许多网络,经常用不同的硬件和软件。有一个网络连接的人经常想要与另一个网络的人们相交流。这个欲望需要把不同的,经常是不可兼容的网络连接到一起,有时候需要使用名叫网关的机器来连接,和提供需要的翻译,同时依据硬件和软件。一个相互连接的网络的集合被称为互联网络或因特网。因特网的一个普通形式石油广域网连接的局域网的集合。因特网标记为大写字母 I意味着一个特定的世界范围的互联网, 他是广泛用于连接大学、 政府机关、企业和私人

44、个体的。到 1995 年,有许多的主干网,数以百计的中级网络,成千上万的局域网,上百万的主机,和上千万的用户。这个大小每年大概会翻倍。大部分的增长来自于网络与因特网间存在的连接。将因特网连接在一起的粘合剂是TCP/IP 参考模型和 TCP/IP 协议栈。TCP/IP 是普遍服务成为可能,并且可以与系统和 19 世纪的铁路采用的标准轨距相比。因特网是现实世界中人们的巨大的全球性社区。在这个网上,人们在众多主题上不断推出的有价值的资料是你一辈子也读不完的。如果你还没有利用网络,这就是你所缺少的:电子邮件。让你发信息到俄罗斯、日本等等。文件传送协议FTP 。从世界各地成千上万的电脑上免费下载。网络论

45、坛。其内容比你从射箭术到股票行情所能读到的一切更有趣,更热闹和更多智慧。万维网。一个快速发展的图形电子文档全球网,你可以浏览,与其交互,甚至可以建立自己的文档。新科技。全球聊天,视频会议,自由的国际和更多。万维网是一个访问链接文档的体系结构框架,它通过因特网传播到成千上万的机器上。由于网络基本上是一个客户端服务器系统,我们同时讨论客户端例如用户和服务器端。从使用者的观点,网页是世界性巨大的文档集成,通常简称为页。每个页包含指向其他相关页面的连接指针 ,在世界的任何一个角落。使用者可以跟随连接,这个链接把用户带到所指向的页面。进程可以无限制的重复,在这个过程中可能通过上百个链接页面。指向其它页面

46、的页被说成是超文本。网页可以包括色彩桌面设计,超文本链接,交互脚本,声音,图像,甚至虚拟现实。当超文本页面混合其他媒体,结果就成了超媒体。网页以浏览器的形式观看。每个网站都有一个服务器进程听从TCP80 端口连接客户 通常是浏览器 。 建立连接后,客户发送一个请求,服务器发送一个答复,然后这个连接被释放。定义合法的请求和答复的协议被称为超文本传输协议。使用它的一个简单例子可能会提供一个网络服务器如何工作的合理想法。举个例子, 我们可以想象用户刚点击了某篇文本或者也许是一个指向页面的图标,名字统一资源定位器是。URL 有三部分:协议的名字,页面所在机器的名字,包含页面的文件的名字。用户点击页面和

47、页面被显示之间发生的步骤如下:1 浏览器决定体育统一资源定位器2 浏览器向 DNS 请求的 IP 地址。3 DNF 答复4 浏览器向 80 端口做传输控制协议5 然后它发送一个命令6 服务器发送文件7 TCP 连接被释放8 浏览器显示的所有文本9 浏览器获取并显示里的图片网上冲浪当你的网页浏览器打开, 你被连接到互联网时,目前被指定为你的浏览器的开始页或者主页的页面将显示在浏览器窗口。通常这一页是你的浏览器、学校或互联网服务供给商的网站的主页,但是通常它可以变成使用你的浏览器的选项或优先权对话框的任何网页。所有的浏览器都有导航工具通过你目前网页访问量来帮助你向前或向后 ,以及因特网会话的菜单项

48、选择择按钮或打印的网页,如有需要。 图 5-2 阐明了最常见的微软因特网浏览器和网景导航浏览器的零件。使用统一资源定位器和超链接从开始网页转到新的网页,您可以在浏览器的地址栏或位置栏键入适当的统一资源定位器,然后按回车键。 你可以编辑现有的统一资源定位器或删除它并建立一个新的类型。要确定准确地匹配拼写、大写和标点。如果你不知道何种统一资源定位器是合适的类型,你可以搜索一个合适的网页,作为简短的讨论。如果网页上显示了一个你想去的超链接,简单的点击这个链接。记住,超链接可以是文本或者基于图片的。如果你不确定网页上的某个东西是否是一个链接,把你的鼠标箭头放在它上面一会儿。如果它是一个链接,这个箭头就

49、会改变来说明它是一个连接。 新页的统一资源定位器也被显示在浏览器的状态栏里。 一旦你点击这个超链接,适当的网页会被显示。要回到前一个网页,就点击浏览器工具栏上的后退键。要打印当前的网页,使用浏览器打印键或从浏览器的文件菜单项选择择打印。你可能在网页上遇到的东西当你搜索万维网时,你将会在网页上遇见许多不同的对象。尽管我们不能在各种可能的网页组件上进入一个深入的讨论,但是熟悉最常见的事物是有好处的,这样你就会在遇到它们的时候知道如何处理它们。 你会遇到的一些常见的事物展示在图5-3。连接方式连接方式在前一章作为讨论,有各式各样的有线和无线方式连接到因特网。 几乎所有的设置,你的电脑通常是连接到称为

50、地区性网络的大网络, 在每个国家内部连接到区域网络的主要高速网络称为骨干网络。在一个国家内的骨干网络和在其他国家的骨干网络连在一起形成因特网。下面的章节讨论最常见的互联网连接。1.1.拨号连接拨号连接拨号连接通常工作在固定线路。连接到互联网时,你的调制解调器(或其他合适的接口设备)拨拨号并且将一台调制解调器连接到你的 ISP 电脑。当你连接上,你的电脑被分配一个临时的 IP 地址为当前的状态。 在网络会话的结尾,你脱离你的 ISP 电脑,以便另外一个使用户连接回到自己的位置。使用拨号上网的一个好处是安全。因为你不是不断连接,它是不太可能通过因特网获得对你的电脑的访问权限,去获得信息或破坏你电脑

51、中的数据。或者更为一般地用某种非法的或不道德的方式使用你的电脑。这些类型的黑客活动都是以后进行讨论。拨号连接在上网时你的线会被占用,除非你有其他的线路。在你连接到因特网期间,当有进来时,一些互联网呼叫等待或呼叫转接服务会通知你。 他们通常是建立允许离开的人短消息 ,一些新系统可以一个较短的时间离开一会儿网络,拿起 ,如果必要的。更新的拨号调制解调器预计将促进某种类型的呼叫等待服务。标准拨号标准拨号标准拨号上网服务所用传统拨号调制解调器额定最大的数据传输率56kbps。这些调制解调器常用与个人电脑和互联网装置 .便携式设备也可以使用传统的拨号调制解调器,如果真是这样的话,他们需要连接标准插座上网

52、。标准型拨号上网服务从免费到每月将近 25 美元。ISDNISDN另一个拨号选项ISDN。ISDN(综合服务数字网络 )允许数字传输的数据在普通线上。它需要一种特殊的 ISDN 适配器或调制解调器和能传输数据了 128kbps2.2.直接相连直接相连不像拨号连接,只有连接到你的备用的电脑时,你需要上网,直接连接让你不断地连接到英特网。 直接(always-on)连接,你的电脑通常是发布了一个静止(non-changing)的 IP 地址被用来来回传递数据通过互联网与网络的连接.PCs 总有一个互联网连接提供-网络访问只需要开一个浏览器。直接连接的类型包括通过学校或办公室里的局域网,以及数字用户

53、专线、 电缆、 卫星、及固定无线连接。虽然,在理论上,宽带上网可以 100 倍于使用拨号上网速度,实际现在则更像是 25 到 50 倍。对于数字用户线路典型的下载速度大约150Mbps;卫星及固定无线通常 500Kbps 到 1Mbps。几乎所有这些服务使用较慢的上传速度。最显著特点是每一种类型的宽带上网都讨论了下一个。学校或办公室区域网络学校或办公室区域网络大部份的学校或者办公室局域网,从公司或网上信息提供者租一条高速专线(如 ISDN 或 T1 专线) 直接连接到互联网。 这种类型的速度上网取决于学校、 办公室和他们的互联网提供商之间的连接速度以及速度局域网本身。DSLDSLDSL数字用户

54、线路)目前只对那些较靠近交换站(3 英里或更少)有能力处理DSL线的用户可用,并且常要等待长时间安装。不过 ,DSL 是一项很受欢送的宽带的选择。DSL 有时提供不同的速度来适应不同的需求和预算,比方个人选择较慢较廉价的,商用则选择更快的。标准的 DSL 服务每月花费约 50 美元。电缆电缆第三种类型的直接互联网连接-电缆-是目前应用最广泛的家用宽带的选择。接线的连接都非常快,可以和任何升级了系统接入网络的用户相连。 现在几乎所有的电缆上网都是双向的(全双工),电缆被用于数据双向传送。电缆的一个缺点是,在邻近地区的所有用户发生共享他们的当地的带宽。 尽管这并不能证明是一个问题,在一天的高峰时间

55、比方黄昏-你的邻居上网时网速显著变慢。 费用是 40 美元/月,除了常规的电缆费用。卫星卫星在农村地区卫星互联网接入通常是唯一的宽带选项。它需要人造卫星的调制解调器和安装在室外的无线电收发机。如今双向卫星服务是可实现的,如星带,只是在强降雨天气南方天空需要一个自由的视野。典型的费用约为70 美元每月。固定无线连接固定无线连接最后一种宽带访问是固定无线,这种访问方式对消费者是相当新的,但显示出很大的前途。 这种类型的服务,例如直接短波,与卫星服务相似,它需要一个调制解调器和外部安装收发机,但通常只有在大的城市地区有。 在收发器和提供商的无线传输塔之间需要有一条无障碍的视线通路,传输塔在用户的收发

56、器和因特网间传播信息。服务成本约 50 美元每月。不管使用什么类型连接,对所有直接上网的用户来说极为重要的一点就是保护电脑不受到未经授权的访问或黑客的攻击。虽然大多数学校和办公室有某种类型的防火墙,许多家庭却没有。尽管不太可能会有人以这样的方式进入你的家庭个人电脑,随着家庭直接联网变得越来越普遍这种可能性将会继续增长。 为了保护你自己,所有使用直接连接的电脑应该使用个人防火墙程序-特别是允许文件共享的家庭网络。防火墙程序除了阻止其他电脑访问到您的个人电脑以外 ,还允许你指定你的个人电脑里哪些程序能上网。一些防火墙软件,如区域报警软件,为家庭免费提供借阅。一些防火墙保护开始被纳入其他程序,如 W

57、indows XP。3.3. 移动无线连接移动无线连接不像卫星和固定无线连接,它使用电缆线连接调制解调器接到某种类型的固定收发器,移动无线连接允许设备从一个地方移动到另一个地方。因而,绝大多数手持电脑及其它移动设备(如 Web-enabled )使用移动无线连接访问互联网正如移动和一些通讯设备一样。现在大多数能访问因特网的移动都处于无线因特网就绪状态并且能直接用来检索 Web 内容,只要无线 Web 服务包括在该的服务计划中。许多手提电脑也有内置的互联网连接;如果没有,一个无线调制解调器可以使用。另一种方式,一台调制解调器或其他类型的适配器可以把设备连接到。个人笔记本电脑能连接到网络或公共网络

58、的使用的是一个无线调制解调器或微型的调制解调器。今天,一些笔记本电脑内置无线联网能力。网络网络通信的两种方法通信的两种方法不管通信网络提供的是一台电脑与另一台电脑之间的连接还是终端与电脑之间的连接,通信网络可以分成两种基本类型:电路交换有时叫做面向连接的和分组交换有时叫做无连接的 。电路交换网络运行时在两点之间形成一条专用连线线路 。美国系统使用电路交换技术,即一个呼叫建立一条线路,从发起呼叫的机通过本地交换局、穿过中继线到一个远程交换局,最后到达目的机。在线路存在时,设备对话筒的输出重复采样,把采样进行数字编码,并通过线路把它们传送到接收方。发话方确信采样一定会被传输和重新生成,因为线路提供

59、了一条被保证的 64kbps千比特每秒数据路径,这个速率是发送数字化的语音所必需的。电路交换的好处在于它的容量有保证:一旦建立一条线路,没有其它网络活动会减少这条线路的容量。电路交换的缺点是代价大:线路的费用是固定的,与通信量无关。例如,一个人要为一个交付固定的费用,即使两边没有交换。分组交换类型的网络通常用于连接电脑,它采用完全不用得方法。在一个分组交换网络中,网络上传输的数据被分成一个个小的片,叫做分组,分组被多路复用在大容量的机器间的连接上。一个分组,通常含有几百个字节的数据,载有使网络硬件知道怎样把它发送到指定目的地的标识信息。例如,一个要在两台机器间传送的大文件,必须被分成许多分组,

60、在网络上一个一个地传送。网络硬件把分组传送到指定目的地,在那里,软件把它们重新组装成一个文件。分组交换的额主要优点是电脑之间的多路通信可以并行进行,机器间连接被正在通信的各对机器所共享。当然,它的缺点是,随着网络活动的增加,一对通信的电脑所获得的网络容量就会减少。也就是说,每当一个分组交换网络超载,那么,使用这个网络的电脑在可以继续发送分组之前,必须等待。尽管分组交换网存在不能保证网络容量的潜在缺点,分组交换网络已成为非常流行的。采用分组交换的动机是从成本和性能方面考虑的。因为多机可以共享网络硬件,所以只要求较少的几个连接,费用低;而且工程师们已经能制造高速网络硬件,容量通常不成为问题。因此,

61、许多电脑互联都使用分组交换,所以本书后面,术语“网络network ”将仅指分组交换网络。数据库系统概述数据库系统概述让我们考虑航空公司这样的企业,它有大量的数据长时间保存在电脑中。这些数据,例如,可能包括关于乘客、航班、飞机与乘务组人员的信息。可能表示的典型关系包括订票哪些乘客在哪些航班上订有座位? 、航班乘务组在哪些航班上谁是驾驶员,谁是副驾驶员,等等 ,以及服务记录每架飞机最后是何时由谁服务的? 。我们把上述那样的不同程度地长久存储在电脑中的数据成为数据库。使得一个人或许多人能使用和/或修改这些数据的软件是数据库管理系统DBMS 。DBMS 的主要目标是提供这样的环境,在从数据库中检索信

62、息和把信息存储在数据库中时使用起来既方便,成效又高。数据抽象数据抽象显然,在处理二进位的电脑和处理像航班或把乘务组人员分派到飞机这样一些抽象的最终用户之间将存在很多层抽象。关于抽象层的相当标准的观点如图7-1 所示。在那里我们看到 3 个不同抽象层的单个数据库,它可能是使用同一个DBMS 软件的很多个数据库中的一个数据库。最底层,也即物理层,把数据存储在硬件设备上。用户程序不能直接存取它们。它们必须通过逻辑层存取数据。外部层按外部或用户程序之需要定义数据库的不同试图。一个用户程序不可能需要数据库中的所有数据,因此用户/应用程序仅观察所需的数据库信息。这意味着取决于对数据的需求,不同的程序对同一

63、个数据库将有不同的视图。这样一些视图是数据库外部的,因而在外部层规定。不同的视图也不必须要包含完全不同的数据。在不同的视图中会存在公共的信息。概念层描述整个数据库,它是由数据库管理人员使用的,它们必须决定什么信息要被保存在数据库中。数据模型数据模型数据模型是一组概念工具,用来描述数据、数据关系、数据语义和数据限制。数据模型分成三类,就是基于对象的逻辑模型、基于记录的逻辑模型和物理数据模型。基于对象的逻辑模型用于描述概念层与视图层的数据。它们非常接近于人的逻辑。很多不同的模型可用来描述基于对象的逻辑模型,其中最重要的是语义数据模型和实体关系模型。语义数据模型提供了表达数据库中数据之意义的设施。实

64、体关系模型E-R 模型是基于这样的认识:现实世界是由一组称为实体的对象和这些对象之间的关系组成的。实体是对象,它能与其它对象唯一的却别开。例如,名称、物理尺寸和每单位长度的重量唯一的描述一段特定的钢材。相同类型的所有实体之集合和相同类型的各种关系分别称作实体集合和关系集合。实体集合的例子有:一座建筑物中的所有房间在一个有限网络中的所有元素一台机器中的所有轴承实体和关系要被区别开,并且数据库模型应指明这如何能实现。这用主关键字概念来实现。实体关系模型可以定义数据库的内容必须遵守的某些限制。一个重要的限制是某个实体能经由一个关系与其相关的其它实体之个数。对于涉及两个实体集合的关系,可能存在像一对一

65、、一对多、多对一和多对多那样的关系,这些关系的图解表示如图 7-2 所示基于记录的逻辑模型定义数据库的整个逻辑结构以及其实现的更高级描述。三种不同的基于记录的逻辑模型被广泛使用。它们是:1.层次模型2.网络模型3.关系模型物理数据模型用于描述最低层的数据。只有很少的几种物理数据模型在使用。广泛知道的是:1.统一模型2.框架存储7 72 SQL2 SQL 引言引言理想地,一个数据库语言必须使我们能够创建数据库和表结构;它必须使我们能够执行一些基本的日常数据管理工作添加、删除和修改数据 ;并且它必须使我们能执行设计来把原始数据变换成有用信息的复杂查询。此外,它必须让用户以最小的努力来完成这样一些基

66、本功能,而且它的命令结构和语法必须是易于学习的。最后,它必须是可移植的,亦即,它必须与某个基本标准一致,以致当从一个 RDBMS 改变为另一个时不必要重头开始学习。SQL 很好地满足这些理想化的数据库语言需求。首先,SQL 覆盖范围归入三个范畴:1数据定义创建数据库及其表结构。2数据管理使用一组命令来对数据库表内的数据进行键入、 校正、 删除和更新。3数据查询使用一组命令来探索数据库内容并使得用户能把原始数据转换成有用信息。其次,SQL 是相当容易学的:它通过使用由大约30 个命令组成的基本词汇表来执行所需的数据库功能。 还要好地, SQL 是一个非过程式语言: 你必须做的仅仅是发出要做什么的

67、命令;不必操心它是如何做的。最后,美国国家标准协会ANSI规定了一个标准 SQL。毋须介意,ANSI 标准是如此有限制, 以致所有的商用 SQL 产品都胜过它。 事实上, 某些厂商已经符合要在 1993年实施的所提议的 ANSI SQL2 标准,因而,极少可能不做某些改变便把某个基于 SQL的应用程序从一个 RDBMS 换到另一个 RDBMS。不过,不同的 SQL 方言版本共享相同的基本命令集和结构,因此使我们能得出这样的结论:存在有一个可使用的标准。我们将使用这标准作为我们之介绍的基础。然而,我们也将介绍几个 SQL 增强特性,特别是考虑到这些增强特性广泛地为很多RDBMS 供销商所共有。不

68、要因存在几个 SQL 方言版本而泄气。因为各种 SQL 方言版本之间的差异是微小的,适应于你的软件需求几乎没有什么麻烦。 不管你是使用 XDB、ORACLE、dBASE 、DB2、 Dos 下的 R: BASE、 IBM 的 OS/2 数据库管理程序, 还是任何其他一致公认的 RDBMS软件,我们的经验是:如果你了解本章中介绍的材料,对软件手册花上几个小时将足以使你成功地使用 SQL。简而言之,你在本章获得的知识是可用于他处的。关于学习 SQL 基础,有几个很好的理由:1 ANSI 标准化努力已导致关系数据库的一个事实上的查询标准。 事实上, 很多关系数据库专家倾向于主张: “如果不是 SQL

69、,便不是关系型的” 。2SQL 已成为现在的和预期的将来的 DBMS 集成努力的基础,使我们能把层次型的、网络型的和关系型的数据库链接起来。3SQL 已成为开发分布式数据库和数据库客户机/服务器体系结构的催化剂。8.48.4 同步同步先进的多媒体系统以独立的、时间有关和时间无关媒体的集成的、电脑控制的产生、存储、通信、处理和演示为特性。提供集成的关键问题是任何数据的数字表示和各种种类的媒体和数据的同步。单词 同步 指的是时间。 多媒体系统中的同步指的是多媒体系统中媒体对象之间的时序关系。在更普遍更广泛使用的意义上,一些作者认为多媒体系统中的同步包括内容、空间和媒体对象之间的时序关系。我们区分时

70、间有关和时间无关的媒体对象。一个时间有关的媒体对象被表示成媒体流。在媒体流的连续单元之间存在时间关系。如果一个时间有关的媒体对象的所有单元的演示时间都相同,则称它为连续媒体对象。一个视频由许多有序的帧组成,其中每个帧有固定的演示时间。一个时间无关的媒体对象是任何一种传统的媒体,如正文和图像。各个内容的语义与演示的时间没有关系。媒体对象之间的同步包括时间有关媒体对象和时间无关媒体对象之间的关系。连续媒体之间同步的一个日常例子是电视中视觉和听觉信息之间的同步。在多媒体系统中对音频和移动图片也必须提供类似的同步。时间有关媒体和时间无关媒体之间的时序关系的例子是放映幻灯片。幻灯片的放映与解释的声音流同

71、步。为了在多媒体系统中实现放映幻灯片,图的展示必须与声音流的一些适当的单元同步。许多系统成分,包括 OS、通信系统、数据库、文档都致力和支持同步,甚至应用程序也经常致力和支持同步。 因此, 在多媒体系统中必须在几个层次上考虑同步。OS 和较低的通信层处理单个媒体流,其目标是防止在一个媒体流的诸单元演示时的抖动。例如,如果一个音频播放被短时停顿或在音频剪辑的播放中点击引起短的间隙,则用户会讨厌。在这一层的上面设置一层对多个媒体流同步的运行时间支持。这一层的目标是维护各媒体流之间的时序关系。特别是必须限制各媒体流之间的偏离。例如,如果用户发现演讲者的嘴唇动作不对应说出来的话,用户会不舒服。下一层是

72、对时间有关和时间无关媒体,连同用户交互的处理之间的同步的运行时间支持。其目标是在一个可容忍的时间区间内开始和停止时间无关媒体的演示,如果时间有关媒体对象演示到达某些先前定义的演示点。如果幻灯片跟不上讲解,则看幻灯节目的观众是不满意的。解说开始后的短暂延迟是可容忍的,或者甚至是有用的。各媒体对象之间的时序关系必须指明。这些关系可以在捕获媒体对象期间隐式地指明,如果一演示的目标是以原来媒体被捕获时相同的方式演示它们的话。这是音频/视频摄制和播放的情况。在演示是由独立捕获或用其它方法(独立)制作的媒体对象所组成的情况,这些时序关系也可以显式地指定。在放映幻灯片的例子中,演示设计者选择适当的幻灯片、创

73、建音频对象并且规定声音播放流中那些必须播放幻灯片的单元。同样,用户的交互性也可能是播放的部分, 并且在媒体对象和用户交互之间的时间关系也必须指明。用来指明这种时间关系的工具位于先前几层的上面。地理信息系统地理信息系统GISGIS: :查看事物数据的新方法查看事物数据的新方法地理信息系统是发展最快的事物应用软件之一。这十年指20 世纪 90 年代后期它会像处理软件和电子表格应用软件一样普及。 GIS, 如同美国国家基金会所定义的, 是用于捕获、 存储、 检索、 分析和显示空间 例如探测所确定的数据的电脑化数据库管理系统。一个 GIS 有以下三部分组成:GIS 软件硬件。运行 GIS 所需的硬件依

74、赖于三个相互相关的可变因素: 1作用范围:用途数、应用程序数与用户数; 2数据的规模:地图越详细,所需硬件的功能越要强; 3功能度:要对数据执行的功能或操作的数目与各种功能的复杂性。数据库,内部的和外部的两者。开发 GIS 系统的关键是地理信息编码法。地理信息编码是把属性数据连接到地图的过程。 街道地址地理信息编码是事物地理的基础技术。 据说, 大约 80%的事物数据有某种类型的地理成分。地理信息编码看来简单,但要做好,确要复杂的多。在目录中查找地址概念上是容易的,但会由于软件、地理信息编码参考目录或数据地址本身中的一些缺点而失败。 GIS 系统允许一系列的地图彼此覆盖,通过观察诸电脑化地图的

75、组合,零售商能立即看到他的销售额是高还是低,并且他的竞争对手是强还是弱。 GIS 系统允许以各种各样的方式存取数据。大多数全功能 GIS 系统结合了三种基本类型的功能: 1表示映射, 2使用地图作为组织工具, 3空间分析。 GIS 系统有助于其业务开张的领域包括: 1房地产, 2直销, 3保险, 4金融, 5服务行业, 6制造, 7运输和销售, 8零售。分析人员说,GIS 市场正由几个因素所驱动:1. 更廉价更快的硬件。PC 价格正迅速下跌,而台式电脑正变得功能更强2. 改良的 GIS 软件。 今天 GIS 软件更对用户友善, 使得无使用 GIS 经验的用户能迅速学会这些系统。3. 降低了的软

76、件价格。 抵挡 GIS 系统花几千美元能够买到, 而只有有限数据分析功能的简单桌面地图绘制系统不到 500 美元便可买到。4. 种类更多的人口统计数据。5. GIS 更广泛地使用于商业。世界范围内, 估计大约有 100 个销售商提供各种各样的 GIS 系统, 其中大约 60 个以北美为基地,而大约24 个在欧洲设立总部。所有分析人员一致认为:GIS 市场份额居首位的两个公司是亚拉巴马的Intergraph 公司和加利福尼亚的环境系统研究所公司ESRI 。在市场上存在两类 GIS 应用程序。 “开放系统” 使得能从电子表格或数据库程序直接输入数据; “封闭系统”则不能。一般地,开放系统更为使用,

77、但是它们使用上是更有争论的。准备输入 GIS 的属性数据的责任落在了用户肩上。封闭系统是更易于使用的,属性数据整齐地排列在你的面前供你使用。 GIS 设计过程涉及四个基本要素: 地理数据、属性数据内部的与外部的 、地图绘制软件,以及硬件。关于地理数据,要问的第一个问题是:“我对哪个地理区域感兴趣?”属性数据必须与 GIS 兼容,使得它能被输入到 GIS。地图绘制软件应支持数据录入、数据分析、数据输出和显示,以及数据管理。至于硬件,GIS 将很快超过 GIS 销售商所推荐的做小系统需求。努力获取比你目前需要的更多。非空间的、内部的和外部的属性数据是开发 GIS 的另一个主要成本。购买诸如商业人口

78、统计数据库这样的外部数据和开发内部数据库总共能占到 GIS 系统总成本的 80%之多。在设计 GIS 时,主要关心的是为作业选择恰当的属性数据。在美国,很多商业数据库是以美国人口统计局的数据为基础的。最主要的商业人口统计数据库销售商们对于消费者和商业数据两者都使用了复杂的分段技术,使基本的、原始的人口统计数据成为有价值的数据。外部数据也可以以较少的成本,或者无成本,从政府代理、行业协会、大学、非盈利团体和其他一些机构处获得。 GIS 程序包,其范围从基于 PC、差不多仅仅显示数据、因而往往成为桌面地图绘制系统的产品, 一直到进行复杂的数据建模且能以逼真细节和3D 质量显示地图的高级系统。 GI

79、S 事务应用软件能分成三个范畴:1. 经营性的:在这些应用软件中,GIS 支持经营活动和事务的决定。2. 策略 性 的: 这类 GIS 应用软件涉及由中层管理员进行的 “半结构式的” 决策。3. 战略性的: 这些类型的 GIS 应用软件是为上层管理而设计的,他们一般进行“非结构式决策” 。什么是“电子商务”什么是“电子商务”? ?电子商务将创造变化类似于工业革命所引起的那些。它会影响我们的业务、社会和政府的治理。电子商务是信息技术的整合, 尤其是互联网进入业务流程,改变组织和形成新的组织。它特别影响组织单位和单位之间的界面。在过去的 30 年,信息技术在使过程更加有效和高效的中扮演了重要的角色

80、,但它并没有改变他们。电子商务改变他们。与 IT 是一个支持功能的先前模型不同, 在电子商务中, 已嵌入到各种商务过程中。一个关键的区别是如果 IT 系统无法正常工作,过程是否都根本无法运转。一个订房部职员使用预订系统使航空订票不是电子商务的一个例子。 一个航空公司系统,一名乘客,直接进行了预定,获取电子客票,在经过视网膜扫描识别后上了飞机是电子商务的一个例子。电子商务为一系列不同的电子处理过程形成了一把雨伞,沿着从供给商到消费者的链,其中大部分都包括物理的类似物。 这些电子商务过程实际上将包含整个人类活动,从商业金融、从教育到娱乐和从政府到宗教(图 13 - 2):电子商务是企业对企业BTB

81、)买卖实际的货物(交易)。EDI 商业是传统的、布线、预定贸易,常见于汽车、航空航天和初级产品的大型零售商环境(那些需要生产产品的环境)。电子商务是新的、开放的贸易,穿透所有的工业部分。特别用于二次商品(那些辅助生产的产品:办公用品(例如)电子零售是企业对消费者(BTC)买卖物理的货物电子银行是电子买卖银行物品为企业和个人服务。电子金融投资是由商业和个人电子交易股票、债券和其他金融工具。电子保险是为商务和各人买卖保险业务。它还包括投资、索赔提交和支付流程。电子旅行服务包括购买产品和服务项目,如个人和企业的票和预定。电子娱乐休闲包括过多的游戏、赌博、爱好、娱乐和可以在因特网上获得的利息活动。电子

82、政务包括为企业和个人交互的过程。 它包括授权生成;企业和个人记录;警方、法律、法院、调节和立法过程;和表决。电子教育和培训包括在因特网上远程教育。电子保健服务包括诊断,帮助服务、表现和保留系统等。电子出版是小说、新闻、研究、特殊利益和其他只有可在书籍、杂志和报纸提供的信息的分布。电子信息服务,是个人和商业信息的买卖。电子社区服务包括体育、宗教、工会、扶轮社、协会和其它组织。电子的“其它服务”包括不另外归类的那些服务的购买和销售。也有内部电子商务系统,提供电子营销、客户服务、招聘、培训和更多。电子商务经营的一个简单的定义是“电子的做生意” 。那听起来很神秘,但是实际上是准确的。 电子商务的范围一

83、直在扩大。 电子商务包括执行互动,inter-business 过程。电子商务可分为两种类型取决于一个组织主要涉及个人或其他业务(图 13)。尽管媒体的关注致力于零售业,但产生最大收益且将继续如此下去的却是部分。电子商务是不一样的电子商务虽然这两个术语通常可以互换。 在我们的治疗,电子商务,是一个子集,表示在中货物的买与卖。 它有两个组成部分:传统的电子数据交换(EDI)服务和全球互联网商务服务 (图 13-4)。墙上写是传统 EDI。随着互联网商务应用程序变得更加复杂,电子数据交换(EDI)的局限性更加明显,因特网商务将增长更快的速度增长,迅速吞噬形式的业务电子交易(表 13 - 1)。到

84、2003 年,因特网商务是市场的四倍。或基于因特网或基于的 BTB 贸易的这两个不同领域不是相互排斥的,而是事实上将合并。14141 1 软件工程概述软件工程概述世界范围内的商业活动就在其经营的基础上越来越依赖于软件。今天单是美国公司就有 1000 亿行程序代码在使用中。这代码花费2 万亿美元来创建,而一年花费 300亿美元来维护。典型的 Fortune 1,000 公司维护 3500 万行代码。软件设计的质量和商业服务的质量日益相联系。我们认为每天从预定服务、自动柜员机和信用卡委托应用所获得的便利是天经地义的。我们能认为这些便利是当然的,直到它们“崩溃”或出了“故障” 。软件工程师们开发了这

85、些系统,他们应用来开发应用程序的工程技能远不只是书写高质量的程序。软件工程师们需要的技能是调度和管理公司的数据、软件、硬件和通信业务资产。这些电脑相关的资产现在占全美国商业投资的几乎一半。软件工程师是能对商业牟利起实际影响的熟练专业人员。单词专业人员在这里是关键,软件开发众所周知地难以管理;软件项目惯例地超过预算和落后于预定计划。电脑程序员因缺乏对商业的理解或兴趣,他们所写的软件是不切实际的。是专业人员的软件工程师更可能按时且在预算内管理和交付有质量的项目。本文的一个目标是向你挑战要求制定个人优秀的高标准:成为专业人员并与众不同。本课向你介绍本书以及要在后面几章中更详尽地涉及的一些论题。 本课

86、的目标是:1回忆你可能已经知道的知识, 2给你一个讨论应用程序用的字汇表和3介绍本文的一些论题。使用本课来了解基本定义并开始在脑海中构筑不同的软件工程方法如何工作的一幅图案。你将在后面几课中学习细节。软件工程是对软件的系统开发、运转、维护和引退。软件工程师SE脑海中有一个在开发应用程序中使用的技能“工具箱” 。作为信息系统的学生,你了解的是关于工具箱的零碎知识,本文将向你展示如何一起使用各个工具,并将添加到你已经知道的知识上。例如,你该已经了解数据流图DFD 。DFD 是很多工具中的一个,包括诸如进程层次结构、进程依赖性和对象图之类的新图。没有一个工具是理想或完备的。软件工程师因为了解这些工具

87、的长处和不足而知道如何选择工具。尤其是,一个软件工程师不局限于试图用单个工具强制适合于一切情况。软件工程是重要的, 因为它给你一个作为信息系统开发专业人员发展事业的基础。在课程结束时,你将了解对机构中的信息系统进行分析、设计、程序设计、测试和维护的各种方法。你将知道开发应用程序的各种选择,并且你将知道如何和何时从它们中进行选择。你将能比较和对照方法论差异,并将知道支持各方法论的主要电脑辅助软件工程CASE工具。最后,你将对软件工程的作用和它们在应用程序开发中如何与项目管理人员一起工作有一个正确评价。下面这个对话可能在管理人员办公室中不经意地听到:咨询管理员: “行,玛丽,明天你开始在我们正在为

88、 ABC 视频公司开发的租赁处理应用程序方面工作。玛丽,你是项目管理员,准备好了吗?”玛丽: “是的,我们的第一件工作是关于该应用程序查明更多的东西。然后,萨姆和我将决定我们的开发方法和需要的文档。ABC 的经理 Vic 愿意向我们提供我们需要的东西。然后我们将完成可行性分析和 ”玛丽正在描述为现代软件工程师在开发基于电脑的应用程序中所采用的前面几个步骤。软件是用一种或多种程序设计语言写的指令序列,它们构成了使某个商业功能自动化的电脑应用程序。工程是在问题求解中工具和技术的使用。把两个单词放在一起,软件工程是在开发基于电脑的应用程序中工具和技术的系统应用。软件工程师是把广泛范围的应用开发知识应用于为机构系统地开发应用程序系统的人。 软件工程师习惯于把他们的工作考虑作为认真开发结构良好的电脑程序。 然而,随着活动范围的演化,系统分析员把系统分析作为一个任务来执行。现在,开发应用程序的技术方法、工具和技术激增,软件工程师的工作已演化到现在包括评价、选择和使用特定的系统方法对软件进行开发、运转、维护和引退。开发开发开始于决定开发一个软件产品,而当交付产品时结束。运转运转是发生的日常处理。维护维护围绕为修复错误、为业务变化做准备或使软件成效更高而对系统和程序的逻辑所做的改变。引退引退是把当前的应用程序替换为提供该工作的某个其他方法,通常是一个新的应用程序。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号