计算机发展简史(P3)经五代_第1页
计算机发展简史(P3)经五代_第2页
计算机发展简史(P3)经五代_第3页
计算机发展简史(P3)经五代_第4页
计算机发展简史(P3)经五代_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、目录. 计算机科学与技术学科.1 计算机科学与技术学科的概念计算机科学与技术学科的概念计算机科学与技术学科的开展1计算机科学的形成2计算机科学的研究课题.2 计算机科学与技术学科的开展 计算机开展简史超级计算机计算机网络的兴起探索中前进的软件工程学绚丽的数字媒体技术新兴的生物信息学.3 计算机技术及相关学科的开展趋势1. 计算机的特点2. 计算机的分类3. 计算机与计算技术的未来4. 普适计算1.4.4 思考题参考文献5次巨大的信息变革1、语言:标志着人类信息活动由具体走向抽象;2、文字:打破时空限制,信息传播远、久;3、印刷:速度、范围扩展,信息共享;4、电磁波通信:电信革命,即时;人类划时

2、代进步;5、计算机和网络技术:信息处理一体化和自动化;计算机和计算机技术是人类历史上创造的最重要的工具及技术,它们深刻地影响和改变人类的生活方式。计算机正在并且还将继续渗透到世界乃至宇宙的各个角落,承载人类的无限梦想。可以这样说,没有计算机就没有当今的信息社会。下文先介绍计算机科学与技术学科的概念、计算机研究课题,再由计算机开展史谈及开展、应用和趋势。1.4.1 计算机科学与技术学科的概念1. 计算机科学与技术学科的概念计算机科学与技术是一门实用性很强、开展极其迅速的学科,它建立在数学、电子学(特别是微电子学)、信息论、磁学、光学、精密机械,以及其他各类应用领域知识等多门学科的根底之上。但是,

3、它并不是简单地应用这些学科的知识和技术,而是经过高度综合,形成一整套特有的理论和技术。计算机科学与技术是一个一级学科的名称,是指研究计算机的设计和制造,利用计算机进行信息的获取、表示、存储、处理、控制和利用等的理论、原那么、方法和技术的科学。通常认为计算机科学与技术包括六个分支学科,即理论计算机科学、计算机系统结构、计算机组织与实现、计算机软件、计算机应用技术和人工智能。这些分支学科构成了计算机科学与技术学科的主要内容。详细内容请参考有关资料。2. 计算机科学与技术学科的开展1. 计算机科学的形成计算机科学植根于电子工程、数学和语言学,是科学、工程和艺术的结晶。它是在20世纪最后30年兴起的一

4、门独立学科,它开展出了自己的理论、方法和技术。2. 计算机科学的研究课题目前,计算机科学已经开展成为一门包含各种各样与计算和信息处理相关主题的系统学科,从抽象的算法分析、形式化语法等,到具体的主题,如编程语言、程序设计、软件和硬件等。作为一门学科,它与数学、计算机程序设计、软件工程和计算机工程有显著的不同,却通常被混淆,尽管这些学科之间存在不同程度的交叉和覆盖。计算机科学研究的课题包括:1计算机程序能做什么和不能做什么(可计算性)可计算性 (calculability) 是指一个实际问题是否可以使用计算机来解决,或被定义为“可以在有限步骤内被解决的问题。事实上,很多非数值问题(比方文字识别,图

5、像处理等)都可以转化为数值问题来由计算机处理。2如何使程序更高效地运行特定任务(算法和复杂性理论)算法是指完成一个任务所需要的具体步骤和方法。一个算法在给定初始状态或输入数据后,能够得出所要求或期望的终止状态或输出数据。算法常常含有重复的步骤和一些比拟或逻辑判断。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤,然后执行一个指定的任务, 3程序如何访问不同类型的数据(数据结构和数据库)在计算机科学中,数据结构(data structure)是计算机中存储、组

6、织数据的方式。在通常情况下,精心选择的数据结构可以带来最优效率的算法。一般而言,数据结构的选择首先会从抽象数据类型的选择开始。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,为各种临界状态下的运行提供支持。数据结构可通过编程语言所提供的数据类型、引用及其他操作加以实现。不同种类的数据结构适合于不同种类的应用,而局部数据结构甚至专门用于特定的作业任务。不管是哪种情况,数据结构的选择都是至关重要的。系统构造的关键因素是数据结构而非算法的深人理解, 4程序如何显得更具有智能(人工智能)人工智能也称做机器智能,是指由人工制造出来的系统所表现出来的智能。通常人工智能是指通过普通计算

7、机实现的智能。该词同时也指研究这样的智能系统是否能够实现及如何实现的科学领域。专家系统是早期人工智能的一个重要分支,可以看做是一类具有专门知识和经验的计算机智能程序系统,一般用人工智能中的知识表示和知识推理技术模拟通常由领域专家才能解决的复杂问题。专家系统适合完成那些没有公认的理论和方法、数据不精确或信息不完整、人类专家短缺或专门知识十分昂贵的诊断、解释、监控、预测、规划和设计等任务。5人类如何与程序沟通(人机互动和人机界面)人机交互研究系统与用户之间的互动关系。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的局部。用户通过人机交互界面与系统交流并进行操作

8、。人机交互界面的设计要包含用户对系统的理解(即心智模型), 这是为了系统的可用性或用户友好性。.2. 计算机系统结构的开展算机开展简史上面谈到了理论计算机科学的开展,但是计算机是理论和实践融合的产物,对计算机科学的理解必须进入实践领域。1. 计算机开展简史计算机开展过程经过了由简单的计算工具科学技术领域的计算工具数据-信息处理机知识-智能处理机人们生活中不可缺少的工具计算机影响着人类社会的开展的漫长道路。1计算机开展过程:人类在认识自然、改造自然的过程中,曾经创造过各种各样的计算工具。计算机(computer)作为一种计算工具,可追溯到中国古代所作出的奉献。早在春秋战国时代(公元前770年至公

9、元前221年)已使用竹子制作的算筹完成计数。唐代时已出现早期的算盘,宋代时已有算盘口诀的记载。17世纪后,随着西方产业革命的到来,推动了计算工具的进一步开展,在欧洲出现了能实现加减乘除运算的机械式计算机。1623 年德国博学家 Wilhelm Schickard 利用机械原理,率先研制出了欧洲第一台计算设备,这是一个能进行六位以内数的加减法,用转动齿轮来进行操作的“计算钟,欧洲,这是一个能进行六位以内数的加减法。1642 年法国数学家布莱士帕斯卡在英国数学家 WilliamOugtred 制作的“计算尺的根底上,将其加以改良,能进行八位计算。查尔斯巴比奇(Charles Babbage)于18

10、20年设想和设计了第一台完全可编程计算机。沿着这样一条上下求索的漫漫长路去定义所谓的“第一台电子计算机可谓相当困难。1941年5月12日,德国工程师 Konrad Zuse 完成了他的图灵完全机电一体计算机Z3,这是第一台具有自动二进制数学计算特色及可行的编程功能的计算机,但还不是“电子计算机。基于二进制的“埃尼阿克(ENIAC), 全称为:“电子数值积分计算器, 这是第一台通用意图的计算机, 1940 年的第二次世界大战中,军方要求应基于空气动力学设计计算机,与实物无限接近,以便进行各种航空训练。于是麻省理工学院创造了旋风工程,制造出了世界上第一台能够实时处理资料的“旋风计算机, 并创造了磁

11、心存储器。这为个人计算机的开展做出了历史性的奉献。开发埃尼阿克的小组针对其缺陷又进一步完善了设计,并最终呈现出今天我们所熟知的冯诺依曼结构(程序存储体系结构)。这个体系是当今所有计算机的根底,20世纪40年代中晚期,开始研制大批基于此体系结构的计算机,其中以英国最早。1944年美国物理学家艾肯领导完成了第一台机电式通用计算机MARK1,主要元件采用继电器,是一台可编程序的自动计算机。 图1.1 ENIAC电子计算机世界公认的第一台通用电子数字计算机是美国宾夕法尼亚大学莫尔学院的莫奇利和埃克特领导的科研小组建造的,取名为ENIAC ()。这台计算机的研制历时3年,是美国军方为适应第二次世界大战对

12、新式火炮的需求,为解决在导弹试验中复杂的弹道计算而研制的。该计算机由18000多个电子管、1500多个继电器等组成,占地170平方米,重量达30吨,耗电140千瓦,投资超过48万美元。该机器字长10位,采用十进制,计算速度为5000次秒,每次至多只能存储20个字长为10位的十进制数。计算程序是通过插件式“外接线路实现的,尚未采用“程序存储方式。为了在机器上进行几分钟的数字计算,其准备工作要用几小时甚至12天的时间,使用很不方便。ENIAC计算机于1945年底宣告竣工,1946年2月15日正式举行揭幕典礼,它标志着人类计算工具的历史性变革。(2) 计算机开展的分代史在整个20世纪50年代,真空管

13、计算机居于统治地位。这是第一代计算机。到了20世纪60年代,晶体管计算机将其取而代之。晶体管体积更小,速度更快,价格更加低廉,性能更加可靠。1959-1964年间设计的计算机一般被称为第二代计算机 。1964-1972年的计算机一般被称为第三代计算机,它大量使用集成电路,典型的机型是 IBM360 系列。到了20世纪70年代,集成电路技术极大地降低了计算机生产本钱,计算机从此开始走向千家万户。1972 年以后的计算机习惯上被称为第四代计算机,它基于大规模集成电路及后来的超大规模集成电路。1958年9月12日,在后来英特尔的创始人、Robert Noyce 的领导下,创造了集成电路,不久又推出了

14、微处理器。1972年4月1日英特尔推出 8008 微处理器。1976年,史蒂夫乔布斯(Stephen Jobs)和斯蒂夫沃兹尼亚克(Stephen Wozinak)创办了苹果计算机公司,并推出 Apple I计算机。1982 年,微计算机开始普及,大量进入学校和家庭。1982年1月 Commodore 64 位计算机发布。1982年2月80286 发布,时钟频率提高到 20MHz, 并增加了保护模式,可访问16MB 内存,支持 1GB 以上的虚拟内存,每秒执行 270 万条指令,集成了134000 个晶体管。图5-4 所示为 Commodore 公司在 1980年生产的 Amiga500 计算

15、机。1990年1 1月,微软发布第一代 MPC(multimedia PC, 多媒体个人计算机标准)。1995年11月1日 ,Pentium Pro 发布。1997年1月8日英特尔发布 Pentium MMX, 其对游戏和多媒体功能进行了增强。此后计算机的变化日新月异 ,1965 年发表的摩尔定律不断被印证。计算机以组成计算机根本逻辑元件来划分分为五代:如下列图所示计算机开展的分代史,通常是以计算机所采用的逻辑元件作为划分时代的标准的。迄今为止,计算机的开展已经历四代,正向新一代计算机过渡。1. 第一代电子计算机( 1 9 4 61 9 5 8年)其主要特征是采用电子管作为根本逻辑元件。存储器

16、早期采用水银延迟线,后期采用磁鼓或磁芯。由于采用电子管,第一代计算机的体积大、耗电多、价格贵,运行速度低,存储容量小,可靠性差。编程语言使用低级语言,即机器语言或汇编语言,几乎没有什么软件配置,主要用于科学计算。尽管如此,这一代计算机却奠定了计算机的技术根底,如:二进制、自动计算和程序设计等,对以后计算机的开展产生了深远的影响。这个时期计算机的商品化是由美国国际商业机器公司( I B M公司)实现的,以I B M系列机为代表。2. 第二代电子计算机( 1 9 5 81 9 6 4年)其主要特征是采用晶体管作为逻辑元件。晶体管与电子管相比,具有体积小、寿命长、开关速度快、省电等优点。内存主要采用

17、磁芯存储器,外存开始使用磁盘。这个时期,计算机的软件也有很大开展,各种早期的高级语言( FORTRAN、COBOL、ALGOL等)相继问世,因而在程序设计中降低了程序设计的复杂性。由于采用了晶体管,第二代计算机的体积大大减小,运算速度及可靠性等各项性能大为提高。计算机的应用已由科学计算拓展到数据处理、过程控制等领域。3. 第三代电子计算机( 1 9 6 4 1 9 7 4年)其主要特征是采用半导体中小规模集成电路作为逻辑元件,半导体存储器取代了沿用多年的磁芯存储器。这一时期的中、小规模集成电路技术,可将数十个、成百个别离的电子元件集中做在一块硅片上。集成电路体积更小,耗电更省,寿命更长,可靠性

18、更高,这使得第三代计算机的总体性能较之第二代计算机有了大幅度的跃升。计算机系统结构有了很大改良,在商品计算机设计上出现了标准化、通用化、系列化的局面。软件技术也日趋完善,并有了操作系统。此外,计算机的应用进入到许多科学技术领域。4. 第四代电子计算机( 1 9 7 4年以后)采用大规模集成电路作为逻辑元件是第四代计算机的主要特征。这个时期是计算机开展最快、技术成果最多、应用空前普及的时期。自进入第四代计算机以来,计算机的硬件与软件技术都获得了惊人的开展。计算机系统向微型化、巨型化、网络化和智能化的方向开展,计算机的系统软件的功能日趋完善,规模越来越大、应用软件的开发日趋简便。多媒体技术的兴起引

19、起计算机应用领域的革命,人们利用声音、符号、图形、图像即可开发计算机的应用。在网络技术的支持下,信息表达工具( 、电视、终端)、信息处理工具(计算机)和信息传输工具(有线通讯、无线通讯及卫星通讯)巳趋于一体化,为人类方便地处理信息开辟了更广阔的前景。计算机开展简史P3经五代代数 起止年份逻辑元件逻辑元件图例速度(次/秒)软件-语言应用领域 存储器类型外存附注第1代46-5840年代末至50年代末电子管5千1万次机器语言、汇编语言主要用于科学计算汞延迟线、静电管、磁鼓-磁带穿空纸带计算机开展的初级阶段,体积大,速度低,耗电量大第2代58-6450年代末至60年代末晶体管几万几十万次高级语言(FO

20、RTRAN、COBOL、ALGOL)数据处理,事务管理,过程控制等磁芯、磁盘体积减小,速度增高,耗电减小,价格下降第3代64-7460年代中期开始中、小规模集成电路几十万几百万次操作系统/高级语言文字处理、企业管理、自动控制、城市交通管理半导体存储器硬盘性能进一步提高。标准化、通用化、系列化第4代7470年代初开始大、超大规模集成电路几千万千百亿次面向对象/分布式操作系统/数据库系统/软件工程标准化网络/多媒体/PC/MPC/巨型机半导体存储器光盘U盘性能大幅提高。应用空前普及计算机系统向微型化、巨型化、网络化、智能化和多媒体等方向开展;在高科技军事领域,在空间技术、气象预报、地球物理勘探等广

21、泛应用第5代9 0年代开始神径、生物、光子等计算机是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。新一代计算机将是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。在体系结构上,新一代计算机将突破冯诺依曼体系结构的限制。如神径、生物、光子等计算机;它能够最大限度地模拟人类大脑的机制,具有人类大脑所特有的联想、推理、学习等某些功能,具有对语言、声音、图像及各种模糊信息的感知、识别和处理能力。硬件技术在微型化方面发挥积极作用。由于大规模集成电路技术的应用,不仅极大地提高了电子元件的集成度,而且可将计算机最核心的部件运算器和控制器集中制作在一块小小的芯片上。在这样

22、的技术背景下,第一代微处理器以及以它为核心的微型计算机在美国英特尔公司( INTEL公司)问世。微型计算机的“异军突起是计算机开展史上的重大事件。作为第四代计算机的一个机种,微型计算机以其机型小巧、使用方便、价格低廉、性能完善等特性赢得了广泛的应用。微型计算机本身的开展也极其迅猛,除了占主流地位的台式机外,单片机、便携式微型机(膝上机、笔记本电脑等)、超级微型机(工作站等)都已取得长足进展, 9 0年代涌现出的多媒体个人计算机的飞速开展,使计算机逐步渗入人类社会生活的各个领域,并使计算机很快地进入到家庭。第四代计算机开展的另一个方向是巨型化。由于多处理机结构和并行处理技术的采用,具有超强功能的

23、巨型机也取得稳步开展。例如美国克雷公司生产的G r a y - 4巨型机共采用了6 4个处理器。巨型机的出现,推动了许多新兴学科的开展,巨型机主要用于高科技军事领域,在空间技术、气象预报、地球物理勘探等领域也有重要应用。我国在不到2 0年的时间内也先后研制成功了银河系列的三代巨型机(银河-、银河-和银河-),从而进入世界上少数能研制巨型机的国家的行列。第四代计算机在运算速度、存储容量、可靠性及性能价格比等诸多方面的性能都是前三代计算机所不能企及的。这个时期计算机软件的配置也空前丰富,操作系统日臻成熟,数据库管理系统普遍使用,新一代计算机语言C+及Java等问世,软件工程已成为社会经济的重要产业

24、。计算机的开展呈现出多极化、网络化、多媒体、智能化的趋势。计算机的应用进入了以网络化为特征的时代。现在许多国家正在研制新一代的计算机,有人称之为第五代计算机,是对第四代计算机以后的各种未来型计算机的总称。电子计算机从第一代到第四代,尽管开展速度令人眩目,但其根本的设计思想和工作方式仍一脉相承,即采用冯诺依曼的“存储程序原理。从本质上讲,计算机尽管被称为“电脑,但仅是一种机器,没有思维,不具有智能,它只能在人们事先设计好的程序的控制下工作,只能局部地、有限地模仿人的智能。新一代计算机将是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。在体系结构上,新一代计算机将突破冯诺依曼体系

25、结构的限制。它能够最大限度地模拟人类大脑的机制,具有人类大脑所特有的联想、推理、学习等某些功能,具有对语言、声音、图像及各种模糊信息的感知、识别和处理能力。新一代计算机是从8 0年代开始研制的对未来型计算机的开展蓝图,现已提出智能计算机、神经网络计算机、生物计算机及光子计算机等各种设想和描述,在实际研制过程中也取得一些重要进展。新一代计算机的开展前景极其诱人,但不难想象,具有上述功能的未来型计算机的研制是非常困难的,因为这项工作在某种意义上讲是对人类自身智能的挑战。随着计算机科学技术和相关学科的开展,在不远的未来,研制成功新一代计算机的目标必定会实现。3计算机开展趋势从目前看计算机开展的趋势如

26、下:微型化:(以微处理器_将运算器和控制器集成在一块大规模或超大规模集成电路芯片上作为CPU的计算机,称之为微处理机巨型化:(巨型化并不是指体积大,而是指计算机的存储容量大、运算速度高、功能更强)网络化:(通过网络效劳器,把分散在不同地方的计算机用通信线路如光纤、 线,或卫星发射等互相联结成一个大规模、功能强的网络系统,使得众多的计算机可以互相传递信息,共享硬件、软件、数据信息等资源)智能化:(智能化就是要求计算机具有人工智能,即让计算机能够进行图像识别、定理证明、研究学习、探索、联想、启发和理解人的语言等)多媒体交互化:即功能齐全、界面友好,易于理解、便于操作呈现多媒体交互化。微处理器的开展

27、:8086802868038680486奔腾2. 超级计算机由于现实条件所限,大局部人认识的计算机是微型机,甚至对小型机的了解也不多。实际上,计算机有各种不同的形态,尽管它们的原理根本一致,但是毕竟有其特殊性,对这些特性的了解,应当成为我们学习的一局部。本节介绍超级计算机,其中的根本知识有益于提高我们的计算素养。1. 超级计算机的概念超级计算机是计算机开展的另一条线索。超级计算机(super computer)是指在计算速度或容量上处于领先水平的电子计算机。它的体系设计和运作机制与人们日常使用的个人计算机有很大区别。超级计算机的速度以每秒的浮点运算 FLOPS 来作量度单位。现有的超级计算机运

28、算速度大都可以到达每秒万亿次(240) 以上,据报导现将达万万亿次。因此无论在运算能力还是速度方面都是全球顶尖。超级计算机常用于需要大量运算的工作,如天气预测、气候研究、运算化学、分子模型、物理模拟、密码分析等。2. 超级计算机的开展历史20 世纪 60 年代,超级计算机由希穆尔克雷在 Control Data Corporation 设计,20世纪 70 年代,克雷创立了自己的公司克雷研究所。凭着他的新设计,他控制了整个超级计算机市场,并占据巅峰位置长达五年(1985-1990)。超级计算机一词的含义随计算机业的开展而发生变化。早期的控制数据公司机器仍然是比拟原始的标量处理器。到了20 世纪

29、 70 年代,大局部超级计算机就已经是矢量处理器了,很多是自行开发的廉价处理器。20 世纪 80 年代初期,业界开始转向大规模并行运算系统,这时的超级计算机由成千上万的普通处理器所组成。20 世纪 80 年代中叶,将适量的矢量处理器(一般由816个不等)联合起来进行并行计算成为通用的方法。20 世纪 90 年代以后到21 世纪初,超级计算机那么主要由基于精简指令集(RISC)的处理器(如PowerPC 或PA-RISC)互联进行并行计算。超级计算机的创新设计在于把复杂的工作细分为可以同时处理的工作,并分配于不同的处理器。它们在进行特定的运算方面表现突出,但在处理一般工作时却不能满足人们的需求。

30、它们的数据结构经过精心设计来确保数据及指令及时送达,传递速度的细微差异可以导致运算能力的巨大差异。其输入/ 输出系统也用特殊设计来提供高带宽,但是这里的数据传输延迟却并不重要,超级计算机并非数据交换机,根据 Amdahls law, 超级计算机的设计都集中在减少软件上的序列化、用硬体在瓶颈上加速。2021年11月IBM推出的Roadrunner成为当今最快的超级计算机,运算能力为1.105PFLOPS(1P=250)。几乎同时,美国超级计算机公司推出Jaguar 系列,运算能力为 1.059PFLOPS, 采用 45376 颗四核的Opteron 处理器 ,362TB(lT=240) 的存储器

31、,传输总带宽为 284GB/s, 硬盘容量为 10750TB, 内部的数据总线带宽为 532B/s 。这台计算机摆放在美国的国家高速计算机中心,并开放给有需要的团体申请使用。2007 年 11 月 ,IBM 的Blue Gene/L, 运算能力为 478.2TFLOPS, 安装了 32768 个处理器,它是 PowerPC 架构的修改版本,正式运作版本被推出到很多地方,包括罗兰士利物摩亚国家实验室(Lawrence Livermre national laboratory)。在 Blue Gene/L 之前,最快的超级计算机是日本电气株式会社在横滨地球科学学院的地球模拟器。它由 640 个特别

32、设计的 8 阶矢量处理器根据 NEC SX-6 架构所组成的从集,使用 UNIX 的修改版本。在地球模拟器之前,最快的超级计算机是美国加州罗兰士利物摩亚国家实验室的 ASCI White, 它的冠军位置维持了2.5 年。2021年2月4日,IBM 发表Sequoia 超级计算机,运算速度约为 2OPFLOPS, 主要为国家核能平安署(national nuclear security administration)提供核子武器储存模拟测试所需的运算能力,将放置于美国能源部加州的劳伦斯利弗莫尔(Lawrence Livermore) 国家实验室,预计于 2021 年建设完成。3. 我国的超级计算

33、机2021年6月17日,造价2亿元、每秒峰值运算速度超过200万亿次的超级计算机魔方开始在上海高速运转。这台运算速度是世界第 15 、亚洲第 1 的超级计算机,经过整整一个月的软、硬件安装和上电调试,终于在张江高科技园区投入运行,迎来第一批高性能计算业务。由此,中国正式迈入了每秒运算速度超百万亿次的一个全新的计算机时代。超级计算机的设计原理就是让数千台乃至上万台计算机协作,变成一台超级计算机,术语叫并行计算。魔方采用的是刀片机群体系架构,每个刀片就是一个效劳器,能协同工作。短短几年,全球超级计算机的整体速度提升了至少20倍。“摩尔定律指出,计算机微处理器芯片的性能每 18 个月会翻倍。但“超算

34、500强比这个定律开展更快,500 个超算系统的性能总和大约每14个月就翻一番。魔方的成功研制使我国成为继美国之后第二个研制出实测峰值超百万亿次超算的国家。3. 计算机网络的兴起从内涵上讲,计算机网络被归于“计算机组织与实现学科。从“计算机组织与实现的角度看待网络,我们会更清楚地理解计算机的实现原理,也更加深刻地理解网络的作用。实际上,超级计算机内部就是一个网络系统,而像 Google 这样的网络搜索引擎也可以看成是一台超级计算机。1. 计算机网络与 internet计算机网络特别是互联网的开展集中反映了计算机组织方式的变革。计算机网络是指将地理位置不同的具有独立功能的多台计算机及外部设备,通

35、过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络的形成:互联网始于 1969 年,是在 ARPA(美国国防部研究方案署)制定的协定下,将美国西南部四所大学的四台主要的计算机连接起来。之后随着TCP/IP 体系结构的开展,随着在UUCP 的根底上,新闻组网络系统开展起来,BITNET(一种连接世界教育单位的计算机网络) 连接到世界教育组织的 IBM 的大型机上 ,1981 年开始提供邮件效劳。BITNET(一种连接世界教育单位的计算机网络) 连接到世界教育组织的 IBM 的大型机上 ,1981 年开始提供邮件效劳。当 E-ma

36、il(电子邮件)、FTP( 文件传输) 和 Telnet( 远程登录 ) 的命令都规定为标准化时,在大学和特殊领域里极大地推广了互联网的应用。其他的部门,包括计算机、物理和工程技术部门也与世界各地的大学通信,并共享文件和资源。第一个检索互联网在 1989 年由 Peter Deutsch 和他的全体成员创造,Brewster Kahle 创造了WAIS(广域网信息效劳)、客户机/效劳器体系结构的倡导者们作了一个先进的 Gopher 示范系统,越来越多的学校和公司加人,规模越来越大。由于最开始互联网是由政府部门投资建设的,所以最初只限于研究部门、学校和政府部门使用。除了直接效劳于研究部门和学校的

37、商业应用之外,其他的商业行为是不允许的。20 世纪 90 年代初,当独立的商业网络开始开展起来,这种局面才被打破,它使得从一个商业站点发送信息到另一个商业站点而不经过政府资助的网络中枢成为可能虽然网络类型的划分标准各种各样,但是根据地理范围划分是一种大家都认可的通用网络划分标准。按这种标准可以把各种网络划分为局域网、城域网、广域网和互联网四种。在互联网应用如此兴旺的今天,它已是我们每天都要打交道的一种网络,无论从覆盖范围,还是从网络规模来讲,它都是一种最大的网络。从覆盖范围来说,它可以是全球计算机的互连,这种网络的最大特点就是不确定性,整个网络的计算机每时每刻随着网络的接人在不变地变化。当连接

38、互联网时,计算机可以算是互联网的一局部,但断开互联网的 连接时,计算机就不属于互联网了。但它的优点也是非常明显的,就是信息量大、传播广。 因为这种网络的复杂性,所以这种网络的实现技术也是非常复杂的。由于最开始互联网是由政府部门投资建设的,所以最初只限于研究部门、学校和政府部门使用。除了直接效劳于研究部门和学校的商业应用之外,其他的商业行为是不允许的。20 世纪 90 年代初,当独立的商业网络开始开展起来,这种局面才被打破,它使得从一个商业站点发送信息到另一个商业站点而不经过政府资助的网络中枢成为可能。2. 分布式与网格计算1分布式计算分布式计算(distributed computing)研究

39、多核系统、多处理器系统、多计算机系统和计算机集群系统环境下的硬件系统组织与软件设计问题。在分布式计算中,一个程序被分解成多个局部,同时在多台通过网络连接在一起的计算机上运行。分布式计算的核心是如何把一个需要巨大计算能力才能解决的问题分成多个小的局部,然后把这些局部分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。我们把这叫任务共享。C 是一个基于伯克利开放式网络计算平台(BOINC)的分布式计算工程。该工程由英国牛津大学开发和维护,用于全球气象变化的研究。这个工程是跨平台的,支持不同的软件和硬件环境。另一个典型的分布式计算机系统是 drug design and。ptimiza

40、tion lab (D20L), 即药物设计优化实验室。其工作目标是寻找治疗 Anthrax (炭瘟)、Smallpox(天花)、 Ebola( 埃博拉)、SARS(非典型性肺炎)及其他一些潜在的极具破坏性的传染病的药物是其典型的实例。2网格计算网格计算是分布式计算的高级形态。网格技术的目标是基于因特网技术、Web 技术和高性能计算等技术,采用开放标准,实现网络虚拟环境中的资源共享和协同工作,消除信息孤岛和资源孤岛。与它相关的技术包括: 实时企业信息系统、网络化虚拟设计环境、因特网技术、知识管理、XML 技术、ASP技术、数据网格、信息网格、计算网格、高性能计算等技术。1990 年提出的网格运

41、算 (grid computing ) 概念是基于网格的问题的求解。网格计算旨在动态的环境下协调资源分享与问题解决能力,利用互联网或专用网络把地理上广泛分布的各种计算资源互连在一起,构成虚拟的整合应用环境的技术。这些计算资源包括超级计算机、计算机集群、存储系统和可视化系统等,在必要的时候,这项技术还可以有选择地将这些计算资源作为单独的、统一的计算资源来处理。研究人员可突破空间障碍,通过共享的虚拟组织,弹性建立各种议题、有效的合作机制,并解决更大的问题。网格计算的目的是要善用效劳器能量,利用大量的闲置效劳器运算能力从事更多的工作,包括IBM、Microsoft、Sun在内的公司已开始将网格运算加

42、人到商用系统中。通常网格计算着眼于大型应用系统,大型应用系统应该由许多组织协同完成,它们形成一个虚拟组织,各组织拥有的计算资源在虚拟组织里共用。4. 探索中前进的软件工程学在完成对计算机系统结构、组织与实现技术开展历程的认识之后,我们必须回到软件上来。软件学科的开展很不平凡,软件开发也很诱人并充满挑战性,以致程序员的工作被称为 “程序人生。1. 软件危机软件工程的兴起起源于 20 世纪 60 年代的软件危机。当时,很多软件开发工程最后都以失败告终。这些软件工程的开发时间大大超出了规划的时间表,一些工程导致了财产的流失,甚至某些软件导致了人员伤亡。同时软件开发人员也发现软件开发的难度越来越大。O

43、S 360 操作系统被认为是一个典型的案例。到现在为止,它仍然被使用在 IBM360 系列主机中。这个经历了数十年、极度复杂的软件工程甚至产生了一套不包括在原始设计方案之中的工作系统。OS 360 是第一个超大型的软件工程,它使用了1000个左右的程序员。软件的错误可能导致巨大的财产损失,欧洲阿里亚娜火箭的爆炸就是一个最为惨痛的教训。由于当时计算机软件被广泛应用于包括医院等与生命息息相关的行业,因此软件的错误也有可能会导致人员伤亡。在软件工程界被大量引用的案例是 Therac-25 的意外。在工业上,某些嵌入式系统导致机器的不正常运转,从而将一些人推入了险境 。面对严峻的软件危机,科学家和软件

44、设计人员不得不反思,为什么软件设计和开发会遇到这么大的困难软件开发的规律到底在哪里。 1968 年北大西洋公约组织的计算机科学家在德国召开的国际学术会议上第一次提出了“软件危机这个词,同时讨论了如何摆脱“软件危机。那次会议还第一次提出了软件工程 (software engineering ) 这个概念,从此一门新兴的工程学科软件工程学应运而生。作为一门旨在开发满足用户需求、及时交付不超过预算和无故障的软件的学科,软件工程的主要对象是大型软件。它的最终目的是摆脱手工生产软件的状况,逐步实现软件开发和维护的工程化及自动化。2. 软件工程与软件工程师 软件工程是一门研究用工程化方法构建和维护有效的、

45、实用的及高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌人式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,比方工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的开展,提高了人们的工作效率,同时提升了生活质量。软件工程师是应用软件来创造软件的人们的统称。软件工程师按照所处的领域不同,可以分为系统分析员、软件设计师、系统架构师、程序员、测试员等。人们也常常用程序员来泛指各种软件工程师。狭义的程序员即指编程人员。然而,即便是编程员,

46、其工作也是十分独特的。优秀的程序员需要十分熟悉程序设计语言、开发工具和各种编程资源;程序员需要有良好的记忆力,在一次编程中要记住上百个变量;程序员需要有良好的数据结构和算法知识;程序员需要有良好的文档开发能力;程序员需要有克服困难、忍受寂寞的毅力;程序员需要有发自内心的热情,如此才能忘我地投入设计和开发。现实中,优秀程序员是难得的人才。3. 方法学软件工程的方法有很多方面的意义,包括工程管理、分析、设计、程序的编写、测试和质量控制。软件设计方法可以分为重量级的方法和轻量级的方法。重量级的方法中产生大量的正式文档。著名的重量级开发方法包括 IS09000 、 CMM 和统一软件开发过程 (RUP

47、) 。轻量级的开发过程没有对大量正式文档的要求。著名的轻量级开发方法包括极限编程 (extreme programming,XP) 和敏捷过程 (agile processes) 。目前有一些人认为,重量级方法适合于大型的软件团队(数十个人以上)使用,而轻量级方法适合小型的软件团队( 几个人、十几个人)使用。一些方法论者认为,人们在开发中应当严格遵循并且实施这些方法。但是一些人并不具有实施这些方法的条件。实际上,采用何种方法开发软件取决于很多因素,同时受到环境的制约 。4. 软件工程的开展方向敏捷开发(agile development)被认为是软件工程的一个重要的开展,它强调软件开发应当能够

48、对未来可能出现的变化和不确定性作出全面反响。敏捷软件开发又称敏捷开发,是一种从 20 世纪 90 年代开始逐渐引起关注的一些新型软件 开发方法,是一种应对快速变化的需求的一种软件开发能力。它们的具体名称、理念、过程、术语都不尽相同,相对于“非敏捷,它更强调程序员团队与业务专家之间的紧密协作、面对面的沟通(认为比书面的文档更有效)、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重作为软件开发中人的作用。敏捷一词来源于 2001 年初美国犹他州雪鸟滑雪胜地的一次敏捷方法发起者和实践者( 他们发起组成了敏捷联盟) 的聚会。雪鸟会议共同起草了敏捷软

49、件开发宣言,其中最重要的局部就是对一些与会者一致同意的软件开发价值观的表述,第一,人机交互重于过程和工具;第二,可以工作的软件重于完备的文档;第三,客户协作重于合同谈判;第四,随时应对变化重于循规蹈矩。宣言中还包括以下原那么: 对我们而言,最重要的是通过尽早和不断交付有价值的软件满足客户需要 ; 我们欢送需求的变化,即使在开发后期,敏捷过程能够驾驭变化,保持客户的竞争优势;经常交付可以工作的软件,从几个星期到几个月,时间尺度越短越好;业务人员和开发者应该在整个工程过程中始终朝夕在一起工作;围绕斗志高昂的人进行软件开发,给开发者提供适宜的环境,满足他们的需要,并相信他们能够完成任务;在开发小组中

50、最有效率也最有效果的信息传达方式是面对面的交谈;可以工作的软件是进度的主要 度量标准;敏捷过程提倡可持续开发,出资人、开发人员和用户应该总是维持不变的节奏;对丰越技术与良好设计的不断追求将有助于提高敏捷性;尽可能减少工作量的艺术至关重要;最好的架构、需求和设计都源自自我组织的团队;每隔一定时间,团队都要总结如何才能更有效率,然后相应地调整自己的行为。敏捷方法有时候被误认为是无方案性和无纪律性的方法,实际上更确切的说法是敏捷方法强调适应性而非预见性。适应性的方法集中在快速适应现实的变化。当工程的需求有所变化,团队应该迅速适应。这个团队可能很难确切描述未来将会如何变化。相比迭代式开发,两者都强调在

51、较短的开发周期提交软件,敏捷方法的周期可能更短,并且更加强调队伍中的高度协作。与瀑布模型相比,两者没有很多的共同点,瀑布模型式是最典型的预见性的方法,严格遵循预先方案的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如,需求规格、设计文档、测试方案和代码审阅等。瀑布式的主要问题是它的严格分级导致的自由度降低,工程早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明,且在工程进行过程中可能变化的情况下根本是不可行的。相对来讲,敏捷方法那么在几周或几个月的时间内完成相对较小的功能,强调的是能尽早将 尽量小的可用的功能交付使用,并在整个工程周期中持续改

52、善和增强。敏捷方法除了其独特之处以外,它和其他的方法也有很多共同之处,比方迭代开发,关注互动沟通,减少中介过程的资源消耗。通常可以在以下几个方面衡量敏捷方法的适用性: 从产品角度看,敏捷方法适用于需求萌动并且快速改变的情况,如果系统有比拟高的关键性、可靠性、平安性方面的要求,那么可能不完全适合 ; 从组织结构的角度看,组织结构的文化、人员、沟通那么决定了敏捷方法是否适用。最重要的因素是工程的规模,规模增 长,面对面的沟通就愈加困难,因此敏捷方法更适用于较小的队伍。大规模的敏捷软件开 发尚处于积极研究的领域。其他的问题是工程初期的大量假定或快速收集需求可能导致工程走人误区,特别是客户对其自身需要

53、毫无概念的情况下。与之类似,人之天性很容易造 成某个人成为主导,并将工程目标和设计引人错误方向的境况。开发者经常能把不恰当的 方案授予客户,并且直到最后发现问题前都能获得客户认同。虽然理论上快速交互的过程 可以限制这些错误的发生,但前提是有效的负反响,否那么错误会迅速膨胀。面向方面的程序设计 (AspectOriented Programming,AOP) 被认为是近年来软件工程的另外一个重要开展。这里的方面是指完成一个功能的对象和函数的集合。在这一方面相关的内容有泛型编程 (generic programming)和模板。5. 绚丽的数字媒体技术 P142任何试图总结计算机应用技术学科开展史

54、的努力都应受到尊敬,因为这个领域实在是太庞大。下面展示一些计算机典型的应用 。1. 计算机图形学计算机图形学(computer graphics ,CG) 的主要内容就是研究如何在计算机中表示图形,以及利用计算机进行图形的计算、处理和显示的相关原理与算法。图形通常由点、线、面、体等几何元素及灰度、色彩、线型、线宽等非几何属性组成。从处理技术上来看,图形主要分为两类,一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等;另一类是明暗图,也就是通常所说的真实感图形。计算机图形学一个主要的目的就是要利用计算机产生令人赏心悦目的真实感图形。为此,必须建立图形所描述的场景的几何表示,再用某种光

55、照模型,计算在假想的光源、纹理、材质属性下的光照明效果。所以计算机图形学与计算机辅助几何设计有着密切的关系。事实上,图形学也可以把表示几何场景的曲线曲面造型技术和实体造型技术作为主要的研究内容。同时,真实感图形计算的结果是以数字图像的方式提供的,计算机图形学也就和图像处理有着密切的关系。计算机图形学研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、非真实感绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。近年来,计算机图形学开展迅猛,在生活、科学、工程技术、艺术、音乐、舞蹈、影视制作等领域得到了广泛应用。2.

56、 科学可视化科学可视化 (scientific visualization ) 是一个跨学科研究与应用领域,主要关注三维现象的可视化,如建筑学、气象学、医学或生物学方面的各种系统,重点在于对体、面及光源等的逼真渲染,甚至还包括某种动态(时间)成分。科学可视化侧重于利用计算机图形学来创立视觉图像,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。美国计算机科学家布鲁斯麦考梅克,在 1987 年关于科学可视化的定义之中,首次阐 述了科学可视化的目标和范围:“利用计算机图形学来创立视觉图像,帮助人们理解科学技术概念或结果的那些错综复杂而又往往规模庞大的数字表现形式。此类

57、数字型表现形式或数据集可能会是液体流型(fluid flow)或分子动力学(molecular dynamics)之类计算机模拟的输出,或者经验数据( 如利用地理学、气象学或天体物理学设备所获得的记录)。就医学数据(CT、MRI、PET等)来说,常常听说的一条术语就是“医学可视化(medicalvisualization ) 。科学可视化本身并不是最终目的,而是许多科学技术工作的一个构成要素。 这些工作之中通常会包括对科学技术数据和模型的解释、操作与处理。科学工作者对数据加以可视化,旨在寻找其中的种种模式、特点、关系及异常情况,换句话说也就是为了帮助理解。因此,应当把可视化看做是任务驱动型,而

58、不是数据驱动型。图 5-7 所示为数据可视化的例如。图 5-7 数据可视化例如(铷原子速度的分布情况)图形学(graphics)和影像学(imaging)技术方法在计算科学方面的应用,当时是一项新的领域;上述专题组成员把该领域称为“科学计算之中的可视化(visualization in scientific computing,ViSC) 。该专题组认为,科学可视化是正在兴起的一项重大的基于计算机的技术,需要联邦政府大力加强对它的支持。3. 计算机动画计算机动画 (computer animation ) 又称计算机绘图技术,是通过使用计算机制作动画的艺术,它是计算机图形学和动画的子领域。它越

59、来越多地借助于三维计算机图形学,虽然二维计算机图形学仍然被广泛使用着。有时动画最后使用的地方就是计算机本身,有时候那么是其他的媒体,譬如电影。为了制造运动的影像,将画面显示在计算机屏幕上,然后很快被一幅和前面画面相似但不同的新画面所代替,这个技术和电视、电影制造移动的假 象的原理一样。三维计算机动画本质上是定格动画 (stop motion, 或称静帧采集) 的数字化后代,动画中的形象建立在计算机屏幕上并被装上了一个骨架。然后,三维形象的四肢、 眼睛、嘴巴、衣服由动画制作者来操作。最后,动画由计算机绘制出来。计算机动画可以用计算机和动画软件制作。一些常见的动画软件包括 Amorphium (3

60、D)、造型软件(3D)、Ray Dream Studio(3D)、Bryce,Cinema 4D 、玛雅、Blender,Truespace(3-D)、3D Studio Max(3D)以及 SoftImage XSI(3D)。它们的价格随着目标市场的不同而有很大的不同。有些令人印象深刻的动画可能由相当简单的程序生成,但是在普通家用机 上绘制会耗时很久。电子游戏动画制作者倾向于用低分辨率、低多边形数的绘制器,使得图形得以实时绘制。高真实感动画在这种环境中制作是不现实的。图5-8 所示为科幻电影?保罗纪公园?中的一个画面。图 5-8 ?保罗纪公园?中的一个画面电影、电视和录像的专业动画师采用高细

温馨提示

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

评论

0/150

提交评论