《实用计算机英语》参考译文_第1页
《实用计算机英语》参考译文_第2页
《实用计算机英语》参考译文_第3页
《实用计算机英语》参考译文_第4页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《实用计算机英语》参考译文Chapter1Section!个人计算机硬件一台个人计算机是由多个物理部件构成的计算机硬件组成的,安装好一组软件后,就可以执行计算机的操作了。计算机硬件可以分成四大类:处理单元、存储设备、输入设备、输出设备。处理器处理器是计算机真正计算的部分,有时称它为MPU(即主处理器)或CPU(即中央处理单元或中央处理器单元),处理器一般包括算术/逻辑运算单元(ALU)、控制单元(包括处理器标志、标志寄存器、状态寄存器)、内部总线、特定功能单元(最常见的特殊功能单元是用于浮点算术的浮点单元)。ー些计算机的处理器不止ー个,即多处理器。混合处理器由两个或三个处理器单元组合而成。算术/逻辑单元(ALU)执行整数算术运算和逻辑运算。也能执行移位运算和其他指定操作。通常,浮点运算由专用的浮点协处理器来实现。控制单元控制管理计算机。控制单元取指令并且解译机器指令。控制单元以也可以控制一些外部设备。存储设备内存对于计算机就像计算机对于我们那样重要,内存芯片存储所有计算机完成任务所需的信息,一旦任务被执行完毕,内存立即被新数据覆盖。认识到只有当计算机一直处于打开状态,数据オ被存储在内存里是很重要,也就是说当你正在写一封信,计算机电源被关闭了,那么计算机中就没有那封信的“记忆”了。(要想永久性保存的话,就必须把它存储到硬盘或软盘),内存芯片价格便宜并且容易安装,要想工作起来得心应手,就安装大容量的内存吧。输入设备通常把计算机的外部硬件分为两组,第一组负责将数据或命令从用户传送到计算机,也叫输入设备。最常见的输入设备有鼠标和键盘,通过按键或滚动鼠标的滚轴以及单击按钮来使计算机以某种方式响应。在计算机问世初期,只有通过键盘来控制计算机,但是现在已经有很多输入设备用于输入信息了。如果你需要把图像传送到计算机内部,你可以使用扫描仪,对于计算机来说,就像使用影印机ー样。只需简单地把图像放到扫描仪上,扫描过后就可以在屏幕上看到图像,你可以用软件编辑图像的尺寸、颜色、对比度等。如果你需要画画,并想在屏幕上显示,你可以使用鼠标,但是这就好比是在“砖”上画,很多艺术家使用图形输入板和光笔替代了传统的绘画工具。游戏爱好者有很多比鼠标更实用的工具来帮助他们驾驶、飞翔、战胜敌人、开火等。最常用的是游戏杆,也可以选择游戏键盘、手柄、游戏专用耳机等。输出设备一旦用户把需要的数据和信息输入到计算机,有几种输出设备可以把数据从计算机传递给用户。最常用的输出设备是监视器,也叫VDU或光学显示单元。现代的显示器支持高质量的分辨率图片,不用再遇到几年前会频繁出现的令人讨厌的影响。不过,只要能支付得起,选择适合自己工作区的最大、最亮的屏幕很重要,因为你将会长时间地使用它。有人希望老式的阴极射线管显示器能够在近几年内被激光盘屏幕替代,就像老的电视机被大的、最新的屏幕替代一样,液晶显示器比老的显示器更轻、产生的热量更少。对任何计算机来说最重要的输出设备是打印机,当前最好的是喷墨打印机,它能产生极好的色彩质量,他们从墨盒里无声地在纸上喷出微小的彩色或黑色粉墨颗粒。印刷品图像的分辨率和精度和传统的照片可相媲美,但喷墨打印机速度慢并且更换墨盒的成本很髙。激光打印机通常进行黑白打印(尽管彩色激光打印机越来越便宜),而且由于他们比喷墨打印机打印速度更快,打印质量更好,平均每页消耗成本更低,所以办公室里更愿意选择激光打印机。Ch叩terSection2计算机软件及其分类计算机软件是ー个通称,通常是计算机数据和指令的有组织的集合,该集合是由计算机发布ー套指令以便计算机完成一些特定的任务。计算机软件实质上和计算机程序是一致的。在实践中,“软件”这个术语通常用来描述一种不仅仅包含单ー程序的商业产品。软件可以告知计算机如何同用户沟通,如何处理用户的数据。没有了软件,计算机基本上就成为ー堆无用的金属。通过软件,计算机可以存储、处理和检索信息,演示多媒体文档,在因特网上搜索,从事许多其他有价值的活动。计算机软件可粗略地分成两类:管理计算机操作的系统软件和满足用户实际需求工作的应用软件。创新观念和科技发展是经济增长点推进器。—华尔街日报系统软件是负责对计算机系统的各个部件进行控制、集成和管理以便其他软件和系统用户将系统软件视为ー个功能整体,而不必担心数据如何从内存传送到硬盘,或者在显示器上显示文本等低层的细节。通常,系统软件包含一些控制计算机操作和设备的程序。系统操作的功能包括启动计算机;初始化、调用和运行应用程序;存储、检索和拷贝文件;格式化磁盘;缩减文件大小;以及备份硬盘内容。系统软件就好像是计算机用户和应用程序和计算机硬件之间的接口。常见的计算机系统软件分为操作系统和实用程序两类,实用程序是ー种执行某项特定任务,通常管理计算机硬件资源的系统软件。最基础的系统软件是操作系统,它是一套包含能协调所有计算机硬件资源的指令的程序。操作系统给系统硬件和用户或应用程序之间提供了一个应用接口。例如,操作系统能够识别键盘,鼠标和麦克风这些输入设备提供的数据、控制显示器上的输出显示;引导打印机进行适当的信息打印;并且管理存储在磁盘上的数据,指令和信息。缺少操作系统,计算机不能实现其功能。目前有很多不同品牌和版本型号的操作系统。这些都是为ー个或者多个特定的处理器而设计的操作系统。例如Windows系统不能运行Apple公司的某些机型,却可以和Intel以及AMD的一些处理器很好地兼容。尽管系统软件控制计算机内部的功能并且帮助计算机使用外围设备,但是应用软件却可以培训个人计算机的“大脑”使其具有更高的认知能力,而不仅仅是让计算机能保持工作和连接到其他计算机上。它是为终端用户设计的程序,具备下列用途;1)作为一个生产カ和业务工具,例如文字处理、数据库管理、电子表格、演示图片、个人信息管理、财务项目管理以及其他相关类型的软件。2)辅助图片和多媒体项目,包括计算机辅助设计、桌面排版、动画图片、视频和音频捕捉、多媒体以及网页制作软件。3)支持ー些琐碎的用于个人事务、教育或者培训的活动。4)促进通讯,可以有新闻组、电子邮件、BBS以及网络浏览器等。形象地说,应用软件位于计算机系统软件的上层,没有计算机操作系统和系统实用程序,计算机就不能运行任何的应用程序。没有操作系统和系统实用工具,计算机不能运行任何应用程序。并且在计算机运行一些应用软件之前,操作系统载进计算机的主存中。必需将操作系统运行的过程中允许计算机和应用软件之间进行通讯。同时,可以同时运行在一个以上的操作系统的应用软件称为交叉平台。File-Maker-Pro就是ー个例子,它可以运行在多个操作系统平台,包括几个版本的微软的Windows和Macintosh操作系统。Chapter1Section3数据结构与算法数据结构在计算机科学领域,数据结构是研究数据在计算机中如何存储以便有效使用的ー门学科。它将数据按照数学和逻辑概念进行组织。认真选择的数据结构往往使得算法更有效率。数据结构的选择通常始于抽象数据类型的选择。ー个精心设计的数据结构使得在尽可能少占用资源的情况下,让各种关键的操作得以实现,这些资源包括执行时间和内存空间。数据结构通过程序语言和它们提供的数据类型、引用以及操作来实现。不同种类的数据结构适用于不同的应用领域,有些数据结构专用于特定的任务。例如,B树特别适用于数据库的实现,而计算机网络依赖于路由表实现功能。在多种计算机程序的设计中,数据结构的选择是最初的设计考量。构筑大型系统的经验表明,实施的难度和最终结果的品质和性能都强烈依赖于数据结构的选择。在数据结构选定以后,可用的算法就相对显现了。有时,事情向着相反的方向行进ーー数据结构的选定是因为特定的关键任务已经有了和某些数据结构最匹配的算法。无论哪种情形,合适数据结构的选择都很关键。这种观点促进了多种形式化设计方法和程序语言的发展,它们把数据结构而非算法作为关键的组织因素。多数语言反映了模块系统的需求,通过将可校验的实现细节隐藏在控制接ロ之后的方式,允许数据结构在不同的应用中被安全地复用。面向对象的程序语言,例如C++和Java,特地用类来实现这ー目的。数据结构如此重要,以致许多数据结构被纳入现代编程语言的标准库和应用程序接口(API)中,例如,C++的容器、Java集合框架以及微软的.NET框架。多数数据结构的基本构件是数组、记录、联合和引用。例如,可赋为空值的可空引用是引用和区分联合的组合,而最简单的链式数据结构ーー链表就是由记录和可空引用构成的。数据结构呈现为实现或接口:ー个数据结构可以被看作为两个函数间的接口或作为按照相关数据类型组织起来的存储访问方法的实现。算法在数学、计算机科学、语言学等相关学科中,算法是ー组有限指令序列,是为了解决问题而采取的一步ー步的步骤,常用于计算和数据处理。在形式上,它是这样ー类有效方法:在给定一个初始状态后,ー组定义好的完成任务的指令通过一系列定义好的后继状态的处理,最终终结于ー个结束状态。从ー个状态到下一个状态的转变不必是确定的。有些算法,如概率算法,吸纳了随机性。算法的广义定义是,ー组为了完成某个任务而编写的可理解的有限的指令。给定一组定义好的输入,将产生一些可识别的结束状态(区别于启发算法)。算法常有重复(迭代)或需要条件判断(例如逻辑判断或比较)的步骤,直到任务完成。算法效率在计算机科学中,效率用于描述算法占用了多少类型的资源的相关特征。通常是指以下两种资源:•速度或运行时间ーー运行完一个算法所花费的时间。•空间ーー在算法执行过程中所使用的内存或非挥发的存储。速度对于ー个给定的输入,ー个算法的绝对速度可以简单地通过计算执行的时间(或时钟时间)来衡量,其结果可以是几次执行的平均值以消除可能的随机影响。大多数现代处理器的操作是在多道程序处理的环境下进行的,因此,必须考虑同一台物理机器上的并行处理,尽可能地消除这些因素的影响。算法性能的相对测量有时可以从运行时间指令集模拟器(如果能获得的话)判定的总指令路径长度来获得。算法速度的估算可以从不同方法得到。最常用的方法用时间复杂度来决定算法的大。。参照“运行时间分析”方法,依据类型(例如:在非排序表中查找还是在排序表中查找等)和规模去估算ー个特定的算法运行得可能有多快,而规模取决于“输入尺寸”、处理器的能力和其他因素。存储空间通常,以多占用存储空间为代价可以换取算法更快执行。这样的事正如将一个资源消耗很大的计算结果放在缓冲寄存器中以备下次使用比每次都重新计算要快。在这种情况下,虽然额外的存储需求被看作是附加的储存,但是,许多情况下,存储结果值占用很少的额外空间,并且常常被存储在预先编译的静态存储器中,降低的不仅是处理时间,而且还有分配和回收工作内存的时间。这是提高速度的通常的方法,以致ー些编程语言常常添加特殊的性能以支持这一方法,例如C++的“易变(mutable)”关键字。算法的内存需求实际上是两个既相互独立又相互关联的事情:•编译后的可执行代码(目标代码或二进制文件)本身所占据的内存空间(在磁盘或其他相当的存储器上,依赖于硬件和语言)。可以通过在编译时间决策机制(例如宏替换和模板)之上实施运行时间决策机制(例如虚拟函数和运行时类型信息)来减少这ー空间需求。这些,当然会伴随着速度降低的代价。•在算法处理过程中所分配的临时动态内存。例如,前面所提到的,为了加快速度而需要动态预缓存运算结果就以内存耗费为代价。甚至子程序调用的深度也会极大地影响内存耗费并且增加了路径深度,特别是,有些特定的函数调用需要很多的动态内存耗费。Ch叩ヤer1Section4计算机网络概述大多数机构中用于工作的许多计算机,经常相隔很远。例如,拥有许多工厂的公司有可能在每个地方都会有一台计算机来追踪产品目录,监控产品进度,编制薪水册。起初,每台计算机与其他计算机相互独立工作,但是从某个点开始,管理层开始决定将它他们连接在ー起管理,使整个公司的信息互通。计算机网络采用更通用的说法,就是资源共享,其目的就是使所有程序、设备,特别是信息,在不考虑使用者和资源的物理位置得前提下,对网络中的每个人都是可用的。换句话说,即便使用者的数据距离他的实际位置有一千米远,也不会阻止他使用数据,好像这些数据都存在本地似的。这个目的被称为“地理束缚”的结束。第二个目的是利用资源供给的灵活性,提供网络可靠性。例如,所有文档可复制到两到三台机器上,所以即使其中一台机器不好使(由于硬件故障),其他备份也可用。另外,多处理器的出现意味着,如果ー个处理器不工作,其他处理器能够取代它的工作,虽然会造成工作性能的降低。对于军事、银行、航空交通控制、核安全和其他应用行业而言,硬件出现问题但系统继续运行是非常重要的。第三个目的是省钱。小型计算机可能会比大型机具有更好的性价比。大型计算机运行会比个人计算机大约快十倍,但可能要比个人计算机贵一千倍。这种不均衡导致更多的系统设计者,将系统设计成由个人电脑构成的系统,每个使用者一台,且数据可被单个或多个共享文件服务器存储。在这种体系中,使用者被称为客户,整体的布局称为客户端一服务器模型。在客户端一服务器模型中,通信形式主要是在客户端和服务器之间,以请求消息的形式,发送某ー需要完成的工作指令。服务器完成工作后,返回数据。通常情况下,许多客户使用少量的服务器就可进行工作。另ー个网络的目标是系统的高畅销性,也就是随着工作量逐步的增加,通过增加更多的处理器就可提高系统的性能。系统饱和后,集中式计算机只能将被更大型的计算机取代,而这类计算机通常价格更高,对使用者的干扰更大。而采用客户端一服务器模型,新的客户端和服务器都可随着需求增加。建立计算机网络还有一个目的与技术没有关联。计算机网络可为相距遥远的员エ提供强大的通信介质。使用网络,可使两个或多个相隔很远的人共同完成一个报告。当ー个员エ在线修改文档时,另一个可立刻看到这种变化,而不是要等到若干天后オ收到。这种效率的提高使得广布各个地区的群体,能够容易合作,而在这过去是不可能实现的。从长远来看,人与人之间的交流要比技术目标如提高可控性等更重要,因此计算机网络能够加强人与人之间的交流。Chapter2Section1操作系统的基础介绍操作系统通常存储在计算机硬盘的系统扇区之中。操作系统的核心称为内核,主要负责管理内存、文件和硬件设备,维护计算机包含当前日期时间的系统时钟,初始化应用,分配计算机的硬件、软件程序以及数据等资源。每当用户打开计算机的时候,内核和其他操作系统常用的指令就会被从硬盘调入到主存档中。这些长期存储在计算机主存的程序和命令被称为内存常驻进程,其中包含操作系统的核心进程如日历计算机和一些用户经常会快速访问的程序。新一代的计算机系统包含一个或多个处理器,主存(经常被称作随机存储器)、磁盘、打印机,网络接口和输入输出设备。总而言之,编写ー些了解且能正确地使用计算机部件的程序是一件非常困难的事情,更别说优化它。因此,很显然,为程序员找到屏蔽复杂硬件的方法很有必要,该方法已逐渐发展成在纯硬件之上铺设ー层软件来管理系统的所有部件,提供用户接口或者理解并进行程序设计的虚拟机。这个软件层就是操作系统。在20世纪80年代中期的时候发生了一些很有意思的变革,运行在网络操作系统、分布式操作系统和嵌入式操作系统的个人计算机数量明显增加。在ー个网络操作系统中,用户可以意识到很多计算机的存在而且可以远程登录并在计算机之间拷贝文件,每一台工作站拥有它自己的操作系统和本地用户。网络操作系统和单处理机的操作系统有着非常显著的差异。很明显它们需要一个网络接口控制器和一些低层的软件系统来支持,以及ー些程序来远程登录和进行文件的远程读取,但是这些增加的功能没有改变操作系统本质的结构。改进的艺术是在变更中保持有序,同时在有序中保持变更。 AlfredNorthWhitehead相反,对于用户而言,分布式操作系统则是ー个传统的处理器系统,即使实际上它由多个处理器组成。用户不必去了解它们的程序在哪里运行或者文件存放在哪里。而这些都自动并且高效率地由操作系统来执行。真正的分布式操作系统只需添加少量的代码到ー个处理器操作系统,因为分布系统和核心系统的区别非常明显。例如分布式系统通常允许应用程序同时运行在几个不同的处理器上,因此需要更为复杂的处理器分配算法来优化所有的并行操作。嵌入式的操作系统是ー个用于嵌入计算机系统的操作系统,这样的操作系统一般都设计简洁、高效,并且抛弃了非嵌入操作系统提供的很多的功能,而这些功能也许不能为它们运行的专门应用程序所使用。嵌入式系统通常是实时操作系统,例如嵌入式系统经常被应用于自动柜员机、现金注册、中央电视台系统、点唱机等诸如此类的系统中。总之,操作系统最主要的功能就是为程序操作人员提供ー组更为方便的指令而屏蔽复杂的底层系统,无需考虑过多的硬件细节。根据一些特定用户的需求,操作系统可以支持运行单个程序ー个用户或者数千用户运行多个程序。操作系统的这些能力可以描述为单用户,多用户,多处理,多任务。任何ー个操作系统都具备一个或多个操作能力。Chapter2Section2操作系统的功能操作系统是ー系列过程的集合,这些过程可以随时按照需求进行调用。大多数的CPU拥有两种模式:ー种是用于操作系统的核心模式,此核心模式中所有的指令都是可用的;另ー种是用于用户程序的用户模式,在此模式中I/O和一些特殊的指令是不允许使用的。操作系统会检查调用的参数来决定何种类型的系统调用。操作系统是运行核心模式或者是监管模式的软件,可以防止用户对硬件进行更改。接下来介绍操作系统常用的几个概念。进程,是所有操作系统中的ー个重要概念。进程是程序执行的基本单元,每一个进程都分配有各自可供读取的内存地址空间,地址空间包含了可执行程序,数据以及相关的堆栈。同时,还有一些和进程相关的寄存器组,包括程序计数器,栈指针以及其他的硬件寄存器和其他所有程序运行需要的信息。文件,另外一种与文件系统有关的系统调用类型。如上所述,操作系统的ー个首要功能就是隐藏一些特定的磁盘以及I/O系统的细节从而给程序员呈现ー个友好而简洁的跟设备无关的文件模式。命令解释器,是用户终端设定和操作系统之间的ー个应用接口。一旦有用户注册,内核程序就开始启动。内核拥有标准的输入和输出终端。一般从显示提示开始,ー个像美元标志的字符会告诉用户现在那些内核正在等待接受命令。这种位于操作系统和用户程序之间的接口是由操作系统所提供的扩展指令定义的,这些扩展指令就是我们传统意义所称的系统调用。操作系统的核心就是这些可以操作的系统调用。这也揭示了操作系统的真正功能。我创造了它,比尔盖茨却将它发扬光大。——DavidBradley(为IBM的个人计算机编写Ctrl+Alt+Del快捷键的人)操作系统从ー开始的操作者发展成当今多程序处理系统经历了一个漫长的历史时期。我们可以从两种角度来看待操作系统:扩展机和资源管理器。作为资源管理器,操作系统的エ作就是髙效地管理计算机系统不同的部件。扩展机要比实际的机器使用起来更为方便。操作系统类似于扩展机上文曾经提到,大多数计算机结构的机器语言层对我们程序是非常重要的,尤其是对于数据输入和输出。操作系统恰能为程序员屏蔽磁盘硬件细节而呈现ー个面向文件的接口,同时也避免了一些让人不愉快的ー些干扰,计时器,内存管理和其他的ー些底层特性。从这个角度来说,操作系统的功能就是展现给用户ー个类似于扩展机或者虚拟机,利用虚拟机进行程序设计要比在硬件层容易。具体的情况可以见下表。银行系统航空订票网络浏览卜应用程序编译器编辑器命令解释器ヽ操作系统A系统程序机器语言微代码硬件系统物理设备J在操作系统的上层是系统其余的软件。这里我们可以看到有命令解释器,视窗系统,编译器,编辑器,以及类似独立应用的程序。认识到这些程序并不是定义在操作系统的范围内是一件非常重要的事情,即使这些程序基本上是由计算机制造商来提供的。作为资源管理器的操作系统现代的计算机由处理机、存储器、计时器、磁盘、鼠标、网络接口、激光打印机及其他各种各样的设备构成。也就是说,操作系统的工作就是提供不同计算机程序所竞争的各种资源一个有序和可控的分配,包括处理器、内存和输入输出设备。假如三个运行在同一台计算机上的程序同时试图使用一台打印机来完成打印任务,想象会发生什么。结果将会出现很混乱的情况。操作系统可以通过在磁盘上为打印机缓存所有的打印文件,来将这些隐藏的混乱进行排序。简而言之,操作系统首要的任务是追踪谁在使用哪个资源的进程,确定资源申请,满足使用,同时缓解不同程序和用户的资源需求冲突,这样的冲突情况被称为资源死锁。Ch叩ter2Section3常见的操作系统操作系统是用户、所有软件和硬件系统之间的解释器,同时也控制着计算机系统的内部组件。应用程序可以通过应用程序接口或者系统调用来获取这些服务。通过使用这些接口,应用程序可以向操作系统请求服务,传递参数,接收操作结果等。用户也可以通过某种软件用户接口和操作系统之间进行交互操作,例如打印命令可以通过使用命令行界面或者图形用户界面进行操作。对于ー些便携式或者桌面计算机,用户界面被看作是操作系统的一部分。在大型的类似于UNIX和类UNIX的多用户操作系统中,用户接口通常是像运行在外部操作系统的应用程序。当代常见的操作系统一般包含MicrosoftWindows,MacOS、Linux,BSD和Solaris。MicrosoftWindows在台式机和笔记本市场上占有相当重要的份额,同时大多数服务器系统通常运行在UNIX或者类似UNIX的平台上。一些嵌套设备市场也是由几种操作系统分食的。总、之,常见的集中操作系统有DOS,Windows,UNIX,Linux和MacOS。微软的MS-DOS和贝尔实验室的UNIX是两种最初主导个人计算机和工作站领域的较普遍的操作系统:MS-DOS是最先使用的操作系统,并且广泛的应用在IBM的个人计算机上,它较难使用的命令行界面给我留下了深刻的印象。尽管早期版本的很多优秀的特性都是来源于UNIX系统,但是微软继承了MS-DOS,最初的Windows版本运行在MS-DOS之上。但是从1995年后,一种自由单机版本不需要MS-DOS框架支持的Windows95版本的诞生,意味着不再需要MS-DOS的支持。微软的另外一种操作系统WindowsNT,是ー种在某些层次上兼容了Windows95而又从内部全新开发的ー种操作系统。另外一个主要产品就是由美国电报电话公司的贝尔实验室的DennisRitchie和KenThompson开发出来的UNIX系统。UNIX是由C外壳程序设计编写并可以简单用于各种计算机接口。目前已经在大部分工作站和其他高端计算机的操作系统占据了主导地位,例如网络服务器等。尤其适用于使用高性能的RISC芯片的计算机系统,这些机器通常拥有小型计算机的处理能力,即使专注于单用户的操作。UNIX的功能非常强大,由400多个指令模块库构成,通过这些模块的链接几乎可以完成任何程序任务。当UNIX系统刚开发不久的时候,在AT&T公司的许可下,其源代码可以多方获得用于研究。因为AT&T公司投放第7版本的时候开始意识到了UNIX的商业价值。所以此后理论教学只能是学生们对这个操作系统的本质做一个泛泛的了解。出于这个原因,一个芬兰的学生Torvalds,开始编写了一个不仅仅用于教学而且特点鲜明的Linux系统。Linux易获得免费版本的这个状况对它的流行起到了巨大的推动作用,而且网络管理者发现这种系统同样可以为网络服务器提供ー个性能安全和稳定的操作系统。Linux是UNIX的免费克隆版本支持各种各样的软件,如Windows系统,C/C++编译环境,TCP/IP网络协议等。现在开始用在DECAlpha,PowerPC,甚至Macintosh的机器上,可见其优秀的可移植性和灵活性。使用UNIX尤其重要的ー个特点就是你可以在ー个真实内核的环境下进行操作。所有的内核资源代码都可以为Linux所用,你可以根据自己的需要来修改这些源代码,而且阅读这些内核源码是一个非常好的学习过程。除此以外,Apple公司的产品Macintosh计算机是首先引入图形用户界面。1998年Apple的snazzyiMac计算机同样体现了Mac操作系统的特点,同时体现出智能性、交互性、信息性和互联性,是新一代的多媒体计算机的典型。和Windows相似,Mac操作系统拥有很多不断改进和变更的版本,包括多任务处理能力、支持小型网络等。我们将支持Mac操作系统的软件称为Macintosh软件。目前Mac操作系统使用的软件条目要比微软的Windows系统少很多。但是也有一些硬件模拟器和软件插件陆续被开发出来使得Windows系统的软件能正常运行在Mac计算机上,但是很多对性能挑剔的Mac计算机用户还是坚持使用Mac自身的软件系统。Section4LinuxLinux操作系统的出现,最早开始于一位名叫LinusTorvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。Linus对Minix,ー种小型UNIX系统感兴趣,他决定研发ー种超过Minix标准的系统。他于1991年开始研发,那一年他发布了0.02版本,在1994年Linux内核1.0版本的发布之前,该版本很稳定地发挥作用。Linux内核是所有Linux系统的核心,它在GUN通用公开许可证下被研发和发布。它的源代码免费提供给每个人。正是该内核导致Linux操作系统的研发。现有数百家公司、组织及个人基于Linux内核发布了他们自己的操作系统版本。现在的完整版2.6是2003年12月发布的,版本的研发还在继续。Linux与现代许多其他流行操作系统的主要区别是Linux内核和其他组件是自由和开放源码软件。Linux不是唯一的操作系统,但它是目前使用最广泛的。ー些自由和开放源码软件许可证是非营利版本,一种互惠,任何来自非营利版本的软件操作本身也必须是非营利的。最常见的免费软件许可证GNUGPL是ー种非盈利版本,用于Linux内核和许多来自GNU项目的部件。除了它是自由发布式的以外,Linux的功能性、适应性和灵活性使得它成为专有Unix和微软的操作系统的主要替代品。IBM、惠普和其他世界电脑巨头已经接受Linux并且支持其不断发展。进入第二个十年,Linux已经被世界各地主要作为服务器平台所使用,利用它作为家庭和办公室桌面操作系统也有所增加。操作系统也可以直接纳入“嵌入”过程中的芯片,越来越多地被用于这样的设备和装置。20世纪90年代,大多数科技专家不知道Linux的潜カ,驳回其使用,认为是电脑业余爱好者的项目,不适合普通大众的计算机需求。经过桌面管理系统(如KDE和GNOME)研发者的长时间努力,如,办公套件项目OpenO和Mozilla网络浏览器的项目,现在有各种各样运行在Linux的应用软件,任何人可使用,不论他是否了解电脑知识。那些对Linux能カ好奇的人们可以下载ー个所谓的liveCD版Knoppixo它配备了所有你可能需要在电脑上进行日常工作的东西,并且无需安装。它在能从CD驱动器内运行。那些选择继续使用Linux的人们可以找到各种各样的版本,或者Linux的“分配”,它是易于安装、配置和使用的。Linux的正式吉祥物为企鹅Tux,它是由LinusTorvalds选择来代表与操作系统有关的形象。Tux企鹅被LarryEwing和Larry慷慨赠给社会免费使用,以促进Linux操作系统。Section1数据库各组成部分在MicrosoftSQLServer2000中,数据库由存储特定结构化数据集的表集合组成。表中包含行(有时称作记录或元组)和列(有时称作特性)的集合。表中的每一列都设计为存储某种类型的信息(例如,日期、名称、美元金额或数字)。表上有几种控制(约束、规则、触发器、默认值和自定义用户数据类型)用于确保数据的有效性。表上可以有索引(与书中的索引非常相似),利用索引可以快速地找到行。可将声明引用完整性(DRI)约束添加到表±,以确保不同表中相互关联的数据保持一致。数据库还可以存储过程,这些过程使用Transact-SQL编程代码对数据库中的数据执行操作,如存储对表数据提供自定义访问的视图。例如,创建名为MyCoDB的数据库来管理公司的数据。在MyCoDB数据库中,可以创建ー个名为Employees的表来存储每个职员的信息,该表可以包含名为Empld、LastName、FirstName,Dept和Title的列。必须给表添加一些约束,以确保没有两个职员使用同一Empld,同时确保Dept列仅包含贵公司中有效的部门编号。您可以定义索引,以确保能够根据职员ID或姓氏快速地找到职员的数据。对于每ー个职员,都需要向Employees表添加一行数据,所以可以创建名为AddEmployee的过程,将该过程自定义为接受新职员的数据值,并执行向Employees表中添加行的操作。若需要一份部门职员的概要,这种情况下定义ー个名为DeptEmps的视图,合并Departments和Employees表中的数据并产生输出。图3.1显示了创建的MyCoDB数据库的局部。表表是包含数据库中所有数据的数据库对象。表定义为列的集合。与电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录,而每列代表记录中的ー个域。例如,在包含公司雇员数据的表中每一行代表一名雇员,各列分别表示雇员的详细资料,如雇员编号、姓名、地址、职位以及家庭电话号码等。索引数据库中的索引与书籍中的索引类似。在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描就可以在其中找到所需数据。书中的索引是ー个词语列表,其中注明了包含各个词的页码。而数据库中的索引是ー个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置。可以为表中的单个列建立索引,也可以为ー组列建立索引,索引采用B树结构。索引包含一个条目,该条目有来自表中每一行的ー个或多个列(搜索关键字)。B树按搜索关键字排序,可以在搜索关键字的任何子词条集合上进行髙效搜索。例如,对于一个A、B、C列上的索引,可以在A以及A、B和A、B、C上对其进行高效搜索。大多数书中包含一个关于词汇、名称、地点等等的总索引。数据库则包含分别关于所选类型或数据列的索引:这好比在一本书中分别为人名和地名建立索引。当创建数据库并优化其性能时,应该为数据查询所使用的列创建索引。在随MicrosoftSQLServer2000提供的pubs示例数据库中,employee表在emp_id列上有一个索引。图3.2显示索引如何存储每个emp_id值并指向表中包含各个值的数据行。当SQLServer执行ー个语句,在employee表中根据指定的emp_id值查找数据时,它能够识别emp_id列的索引,并使用该索引查找所需数据。如果该索引不存在,它会从表的第一行开始,逐行搜索指定的emp_id值。SQLServer为某些类型的约束(如PRIMARYKEY和UNIQUE约束)自动创建索引。可以通过创建不依赖于约束的索引,进ー步对表定义进行自定义。不过,索引为性能所带来的好处却是有代价的。带索引的表在数据库中会占据更多的空间。另外,为了维护索引,对数据进行插入、更新、删除操作的命令所花费的时间会更长。在设计和创建索引时,应确保性能的提高程度大于在存储空间和处理资源方面的代价。视图视图是ー个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的ー个或多个表,或者其他视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。图3.3显示了在两个表上建立的视图。Chapter3Section2关系数据库组件MicrosoftSQLServer2000数据库组件是基于结构化查询语ぎ(SQL)的可伸缩的关系数据库,集成了对Internet应用程序的可扩展标记语言(XML)支持。下列术语描述了SQLServer2000数据库组件构架的基本组成:数据库数据库与数据文件相似,同为存储数据的场所。与数据文件ー样,数据库并不直接向用户显示信息;用户运行应用程序访问数据库中的数据,数据库将这些数据以用户能够理解的格式呈现给用户。数据库系统比数据文件的功能强大,因为数据库中的数据组织程度更高。在设计良好的数据库中,没有用户或应用程序必须同时更新的重复数据块。相关的数据分在ー个结构或ー条记录中,同时,还可以定义这些结构和记录之间的关系。处理数据文件时,必须根据每个数据文件的特定结构对应用程序进行编码。数据库则不同,它包含一个目录,应用程序可以利用该目录来确定数据的组织结构。通用数据库应用程序能够利用该目录动态地向用户提供来自不同数据库的数据,而不受特定数据格式约束。数据库通常有两个主要部分:ー个是保存物理数据库的文件,ー个是应用程序用于访问数据的数据库管理系统(DBMS)软件。DBMS负责维护数据库的结构,包括:维护数据库内数据间的关系。确保数据存储正确,定义数据间关系的规则未被违反。在系统崩溃的情况下,按照已知的一致性程度恢复所有数据。关系数据库组织数据库数据的方法有很多种,而关系数据库是最为高效的ー种。关系数据库系统是数学集合理论在如何高效组织数据这ー问题上的应用。在关系数据库中,数据被收集在表(在关系型理论中称为关系)中。表描述了对企业具有重要意义的某类对象。比如,ー个公司的数据库中可能会有有关员エ的表、有关客户的表,以及有关库存的表。每个表都由列和行(关系型理论中称为属性和元组)组成。每一列描述代表对象的某个属性。比如,Employee表通常包含名字、姓氏、员ェID号、部门、エ资级别以及职位等属性列。每一行表示表所代表的对象的ー个实例。比如,Employee表中的某一行代表员エID号为12345的员エ。在将数据组织成表的过程中,用户通常会发现有许多不同定义表的方法。关系数据库理论定义了一个称为规范化的进程,可确保定义的表集能够有效地组织数据。可伸缩性SQLServer2000支持许多用户的同时访问。ー个SQLServer2000实例通常包括组成一系列数据库的文件和一套DBMS软件。在不同计算机上运行的应用程序使用SQLServer2000通讯组件,通过网络将命令传送到SQLServer2000实例。当应用程序与SQLServer2000实例连接后,就可以引用该实例中用户被授权访问的任何数据库。通讯组件还允许SQLServer2000实例与在同一台计算机上运行的应用程序之间进行通讯。用户可以在一台计算机上同时运行多个SQLServer2000实例。SQLServer2000被设计为可支持最大的Web站点或企业数据处理系统上的数据流通。在大型多处理器服务器上运行的SQLServer2000支持成千上万的用户同时连接。SQLServer表中的数据可在多台服务器间分区,这样,多台多处理器计算机就可彼此协作,支持超大型系统的数据库处理需求。这些数据库服务器组称为联合体。尽管SQLServer2000被设计为用作通过网络连接的成千上万用户的数据存储引擎,它仍可作为ー个独立的数据库,像应用程序ー样直接在同一台计算机上运行。SQLServer2000卓越的可伸缩性和便于使用的诸多功能使其能够在单个计算机上高效运行,既不占用过多的系统资源,也不需要专门的用户来管理。这些功能还使SQLServer2000得以动态地获取支持上千用户所需的资源,同时将数据库的管理和调节工作减到最少。SQLServer2000关系数据库引擎动态调节自身以获取或释放适当的计算机资源,以支持在任何特定时间访问SQLServer2000实例时不断变化的用户负荷之需。SQLServer2000关系数据库引擎的强大功能可以避免因某个用户读取或修改其他用户当前使用的数据而引起的逻辑问题。结构化查询语言若要处理数据库中的数据,必须使用ー套由DBMS软件定义的命令和语句(语言)。处理关系数据库的语言有很多种,其中最常用的是SQL。美国国家标准化组织(ANSI)和国际标准化组织(ISO)定义软件标准,包括SQL语言的标准。SQLServer2000支持SQL-92入门级(EntryLevel),即由ANSI和ISO在1992年公布的SQL标准。MicrosoftSQLServer支持的SQL语言称为Transact-SQL(T-SQL),,T-SQL是MicrosoftSQLServer应用程序使用的主要语言。可扩展标记语言XML是新出现的Internet数据标准。XML是一套可用于定义超文本文档结构的标记。XML文档可由显示Web页的最重要语言——超文本标记语言(HTML)轻松处理。尽管大多数SQL语句以关系或表格格式结果集的形式返回结果,但是SQLServer2000数据库组件仍支持以XML文档形式返回结果的FORXML子句。SQLServer2000还支持来自!nternet和Intranet应用程序的XPath查询。可将XML文档添加到SQLServer数据库中,并可使用OPENXML子句以关系结果集的形式显示XML文档中的数据。Chapter3Section3数据库构架MicrosoftSQLServer2000数据存储在数据库中。在数据库中,数据被组织到用户可以看见的逻辑组件中。数据库还可以按物理方式,在磁盘上作为两个或更多的文件实现(见图3.4)。使用数据库时使用的主要是逻辑组件,例如表、视图、过程和用户。文件的物理实现在很大程度上是透明的。一般只有数据库管理员需要处理物理实现。每个SQLServer实例有四个系统数据库(master、modeRtempdb和msdb)以及■ー个或多个用户数据库(见图3.5)。有些单位只使用一个用户数据库来存储其所有数据。有些单位则为本单位的每一个组都设立了不同的数据库,而且有时ー个数据库只能由一个应用程序使用。例如,ー个单位可以有销售数据库、エ资单数据库、文档管理应用程序数据库等。应用程序有时只使用一个数据库,而有时则可以访问几个数据库。不需要运行多个SQLServer数据库引擎的复本即可使多个用户访问服务器上的数据库。SQLServer标准版或企业版实例能够处理同时在多个数据库中工作的上千个用户。根据定义的安全权限,每个SQLServer实例可使所有连接到实例的用户都能使用该实例上的所有数据库。当连接到SQLServer实例时,您的连接会与服务器上的具体某个数据库相关联。这个数据库就称为当前数据库。系统管理员通常会将您连接到默认数据库,但您可以使用数据库API内的连接选项来指定另ー个数据库。您可使用Transact-SQLUSEdatabase_name语句,或使用可更改当前数据库上下文的API函数,由一个数据库切换到另一个数据库。SQLServer2000允许从SQLServer实例中分离数据库,然后将数据库重新附加到另ー个实例,甚至可以将数据库附加回原来的实例。如果有SQLServer数据库文件,可以在连接时让SQLServer以特定的数据库名称附加该数据库文件。数据类型和表结构MicrosoftSQLServer2000数据库中的所有数据包含在称为表的对象中。每个表代表某类对用户有意义的对象。例如,可在一个学校数据库内找到班级表、教师表和学生表。SQLServer中的表有两个主要组件:列:每列代表由表建模的对象的某种特性,例如,ー个部件表有ID歹リ、颜色列和重量列。行:每行代表由表建模的对象的个别事件。例如,部件表(见图3.6)中公司运送的每个部件均占一行。数据类型因为每一列都代表对象的ー个特性,所以一列中每个事件的数据均相似。列属性中有一个称为列数据类型的属性,用于定义该列可以包含的数据类型。SQLServer有多种可指定给列的基本数据类型:Section4数据仓库数据仓库概述单位在正常的业务运作过程中需要收集数据。数据仓库的目的是合并和组织这些数据,以便对其进行分析并用来支持业务决策。在许多情况下,数据仓库包含单位的动态历史记录。数据仓库通常包含历史数据,这些数据经常是从各种完全不同的来源收集的(如联机事务处理(OLTP)系统、传统系统、文本文件或电子表格)。数据仓库组合这些数据,对其进行清理使其准确一致,并进行组织使其便于轻松高效地查询。有些数据仓库定义包括多个元素,如数据准备区、清理进程、含有数据仓库数据的数据库以及组织数据并将其提供给客户端应用程序的工具。有些定义则将数据仓库限制为包含数据仓库数据的数据库。在大型数据仓库应用程序中,通常将数据分段为数据集市的专用组件,而数据集市处理单位的个别组件。有些定义将数据集市作为数据仓库的一部分;有些定义则将其作为单独的实体。术语“数据仓库”的本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论