? Frontier Technologies in Computer Science 计算机科学前沿技术 Frontier Technologies in Computer Science 知识框架 ? Frontier Technologies in Computer Science ? ? ? ? ? ? ? 第1章 概述 第2章 计算机硬件的发展 第3章 高性能计算 第4章 现代操作系统 第5章 计算机网络新技术 第6章 数据库技术的发展 第7章 数据挖掘及其应用 ? ? ? ? ? ? ? 第8章 人工智能前沿 第9章 搜索引擎技术 第10章 集体智慧与Web 2.0 第11章 云计算 第12章 物联网技术 第13章 服务科学与服务计算 第14章 智慧地球 ? Frontier Technologies in Computer Science 第1章 概述 ? Frontier Technologies in Computer Science 在1895年出版的Darwin(达尔文)名著《物种起源》(The Origin of Species)第一版扉页上写道:“作为生物进化论的完整理论体系,《物种 起源》主要讨论两个问题:一个是形形色色的生命是否由进化而来,二是 进化的主要机理是什么 ”。达尔文对第一个问题的回答是肯定的,对第二 个问题的回答是“自然选择”。 ——Charles Darwin 知识概要 ? Frontier Technologies in Computer Science ? 计算机科学面临的问题 ? 计算机学科概述 –计算机学科的特点 –基本学科能力 –计算机学科发展和分支学科的划分 –计算机科学与其他学科之间的关系 ? 计算机科学发展的趋势 5 六大科学理论的突破 ? Frontier Technologies in Computer Science ? 量子力学 ? 相对论 ? 宇宙大爆炸模型 ? DNA双螺旋结构 ? 板块构造理论 ? 计算机科学 计算机科学是现代科学体系的主要基石之一 6 21世纪计算机科学和信息技术发展的新取向 ? Frontier Technologies in Computer Science ? 更加重视技术的多样性、开放性和个性化 ? 更加重视计算机技术惠及大众 ? 更加重视生态和环境影响 ? 更加重视医学及与人类健康有关的科学技术 ? 将更加重视计算机科学的交叉研究 ? 更加重视与人文艺术的结合 ? 更加重视计算机科学与信息技术伦理道德方面的研 究和对社会作用的法制化管理与监督 7 计算机科学(Computer Science) ? Frontier Technologies in Computer Science ? 计算机科学与技术学科,简称计算机科学 ? ACM/IEEE-CS 的专家们认为,目前已经无法继续 用计算机学科来称谓它,而改称其为计算学科( Computing Discipline) 8 计算机科学(Computer Science) ? Frontier Technologies in Computer Science ? Wikipedia:与计算相关的多种学科的集合,包括理论和实际 两方面:涉及信息和计算的理论基础、语言理论、算法分析 和开发、计算系统的实现、计算机图形学、数据库、数据通 信等。 ? 美国的网络和信息技术研究与发展国家办公室:计算系统和 计算的语义研究。 ? 美国计算机学会(ACM):计算机和算法过程的研究,包括 它们的原理、它们的硬件和软件设计、它们的应用以及它们 对社会的影响。 9 计算机科学怎样成为一种科学? ? Frontier Technologies in Computer Science 科学Science 艺术Art 原理(Principles) 基本原理的重复性(Fundamental recurrences) 解释说明(Explanation) 发现(Discovery) 分析(Analysis) 剖析(Dissection) 实践(Practice) 熟练运用(Skilled performance) 行动(Action) 发明(Invention) 合成(Synthesis) 构造(Construction) 10 1.1 计算机科学面临的问题 ? Frontier Technologies in Computer Science ? 计算机科学教育缺乏创新,计算机课程体系的陈旧 – 针对学生特别是本科学生的培养上,充分强调以兴趣为主 – 大学提供的是一种机会,让学生自己做真正喜欢的事情 ? 从狭义工具论到计算思维的转变 – 计算机和信息科技的普及实际上是在全社会传播一种计算思维 – 计算思维是一种普适的思维,是每个人的基本技能 ? 计算机科学人才的匮乏 – 企业、政府等部门都需要计算机人才 – 德智体合格,在团队精神、敬业态度、工作能力等方面都能胜任 11 计算思维 ? Frontier Technologies in Computer Science ? 计算思维强调一切皆可计算,从物理世界到人类社会模拟, 从人类社会再到智能活动,都可认为是计算的某种形式。 ? 计算思维是概念化思维,是人的思维,是数学和工程互补融 合的思维,是面向所有人的思维。 12 1.2 计算机科学概述 ? Frontier Technologies in Computer Science ? 计算机学科的特点 ? 基本学科能力 ? 计算机学科发展和分支学科的划分 ? 计算机科学与其他学科之间的关系 13 1.2.1 计算机学科的特点 ? Frontier Technologies in Computer Science ? 根本问题 – Nicklaus Wirth:在较高的认识层次上,硬件和软件是一样的。 – 计算机学科的根本问题:什么能、且如何被有效地自动计算。 ? 基本特征 – 计算机学科具有“理论、抽象、设计”三个学科形态 形式化、模型化 符号 符号变换 抽象思维、逻辑思维 描述手段 表示形式 求解方式 思维方式 “程序”的非物理特征 14 1.2.2 基本学科能力 ? Frontier Technologies in Computer Science ? 计算思维能力 ? 算法设计与分析能力 ? 程序设计与实现能力 ? 系统分析、开发与应用能力 15 1.2.3 计算机学科发展和分支学科的划分 ? Frontier Technologies in Computer Science ? 计算机科学(Computer Science) ? 计算机工程(Computer Engineering) ? 软件工程(Software Engineering) ? 信息技术(Information Technology) ? 信息系统(Information System) 16 1.计算机科学(Computer Science) ? Frontier Technologies in Computer Science ? 计算机科学研究的范围很广,从理论和算法基础到机 器人开发、计算机视觉、智能系统、生物信息等。主 要包括: – 寻找求解计算问题的有效方法 – 构建使用计算机的新方法 – 软件的设计与实现 17 2.计算机工程(Computer Engineering) ? Frontier Technologies in Computer Science ? 设计和构建计算机系统和基于计算机的系统,包括研 究硬件、软件、通信以及它们之间的交互。 – 学科内容集中在传统的电子工程、数学等相关领域的理论 、原理和实践。 – 强调的是硬件而不是软件,而且具有很强的工程特性。 18 3.软件工程(Software Engineering) ? Frontier Technologies in Computer Science ? 软件工程的主要目标是开发系统模型和按时并在有限 预算下生产高质量软件的可靠技术。 – 软件工程寻找计算机科学中科学与工程原理的结合,探讨 以工程的规范有效地开发和管理软件系统。 19 4.信息技术(Information Technology) ? Frontier Technologies in Computer Science ? 信息技术主要用于管理和处理信息所采用的各种技术 的总称。 – 它主要是应用计算机科学和通信技术来设计、开发、安装 和实施信息系统及应用软件。 – 与信息系统学科的重点在于“信息”相对,信息技术学科 的重点在于“技术”。 20 5.信息系统(Information System) ? Frontier Technologies in Computer Science ? 信息系统学科可以理解为是基于技术的商务开发 – 该学科强调信息技术中的“信息”,而将“技术”看成是 产生、处理和分发所需的工具。 – 他们面对的信息系统一般都是庞大和复杂的,既要懂技术 ,又要明白组织因素,知道如何有效地利用这类系统。 21 1.3 计算机科学发展的趋势 ? Frontier Technologies in Computer Science ? “高”:性能越来越高,速度越来越快 – 提高器件速度 – 并行处理 ? “广”:计算机的无处不在 – 网络化与向各个领域的渗透 – 普适计算(Pervasive Computing) ? “深”:信息的智能化发展 22 ? Frontier Technologies in Computer Science 第2章 计算机硬件的发展 知识概要 ? Frontier Technologies in Computer Science ? 计算机发展的历史回顾 ? 我国计算机发展史 ? 新型计算机的发展 ? CPU和GPU的发展 24 ? Frontier Technologies in Computer Science ? 早期计算机:机械式计算工具、机电式计算机 1 计算机发展的历史回顾 25 ? Frontier Technologies in Computer Science ? 电子计算机的诞生 ? 电子管、晶体管和集成电路 1 计算机发展的历史回顾 26 1 计算机发展的历史回顾 ? Frontier Technologies in Computer Science ? 现代计算机发展历程 ?第一代电子管计算机(1945─1956) ?第二代晶体管计算机 (1956─1963) ?第三代集成电路计算机 (1963─1971) ?第四代大规模集成电路计算机 (1971至今) 27 2 我国计算机发展史 ? Frontier Technologies in Computer Science ? 第一代电子管计算机研制(1958─1964) ? 第二代晶体管计算机研制(1965─1972) 28 2 我国计算机发展史 ? Frontier Technologies in Computer Science ? 第三代中小规模集成电路计算机研制(1973─20世纪80年代初) ? 第四代超大规模集成电路计算机研制(80年代中期至今) 29 ? Frontier Technologies in Computer Science ? 光计算机 ?量子计算机 ?纳米计算机 ? DNA计算机 3 新型计算机的发展 30 4 CPU和GPU的发展 ? Frontier Technologies in Computer Science ? CPU的发展 ? Intel 4004和8080 ? Intel 8086、Intel 80286、Intel 80386、Intel 80486 ? Intel Pentium ? Intel Pentium MMX ? Intel Pentium Pro ? Intel Pentium II ? Intel Celeron(赛扬) ? Intel Pentium III ? Intel Pentium IV ? 双核处理器 31 4 CPU和GPU的发展 ? Frontier Technologies in Computer Science ? 多核计算的发展趋势 ? 多核技术的发展 ---多核上将集成更多结构简单、低功耗的核心。 ---异构多核是一个重要的方向。 ---多核上应用可重构技术 ---多核的功率和热管理 ---片上多核处理器时代的到来 ? 多核计算的发展 32 4 CPU和GPU的发展 ? Frontier Technologies in Computer Science ? GPU的发展 ? GPU简介 --- Graphic Processing Unit,中文翻译为“图形处理器” --- GPU是显示卡的“心脏”,也就相当于CPU在电脑中的作用 ---20 世纪60-70年代,受硬件条件的限制,图形显示器只是计算机输出的一种工具 ---20世纪80年代初期,出现GE(Geometry Engine)为标志的图形处理器 ---20世纪90年代,NVIDIA进入个人电脑3D市场 33 4 CPU和GPU的发展 ? Frontier Technologies in Computer Science ? GPU的发展 ? NVIDIA GPU的发展 ? GPU通用计算 GPU结构(左)与CPU结构(右)的对比 34 4 CPU和GPU的发展 ? Frontier Technologies in Computer Science ? CPU和GPU的融合 ---Intel推出了在单芯片上集成X86 CPU和DirectX引擎的Fusion系列处理器, AMD称这种融合了传统CPU和GPU功能的处理器为APU ---AMD第一款Fusion APU系列处理器是Llano处理器 35 ? Frontier Technologies in Computer Science 第3章 高性能计算 第3章 高性能计算 ? Frontier Technologies in Computer Science ? 高性能计算概述 ? 世界各地超级计算机中心的发展概况 ? 高性能计算机的发展 ? 高性能计算机关键技术与挑战 ? 推荐阅读 37 1 高性能计算概述 ? Frontier Technologies in Computer Science ? 什么是高性能计算 -高性能计算(High Performance Computing)是计算机科学的一个分支,研 究并行算法和开发并行软件,致力于研制高性能计算机(High Performance Computer) -高性能计算技术主要是指从体系结构、并行算法和软件开发等方面研究开发 高性能计算系统的技术 38 1 高性能计算概述 ? Frontier Technologies in Computer Science ? 发达国家在高性能计算方面的发展 --- “战略计算机计划” --- “高性能计算和通信(HPCC)” ---“先进模拟和计算(ASC)” 39 我国高性能计算的发展 ? Frontier Technologies in Computer Science ? “天河一号” 由国防科技大学于2009年10月研制推出,目在国家级超级计算天津中心投 入运营,为天津市乃至环渤海地区的生物制药、新能源新材料、航空航天 装备研制等新兴产业服务。 ? 曙光“星云” 曙光“星云(Nebulae)”高性能系统,是我国自主研发的首款实测性能 超千万亿次超级高性能计算机,该系统于2011年底落户深圳,为我国华南 、港澳乃至全国用户提供计算和信息服务。 40 2 世界各地超级计算中心的发展概况 ? Frontier Technologies in Computer Science ? 美国国家超级计算应用中心 ? 日本东京工业大学全球科学信息与计算中心 ? 德国Jülich超级计算中心 ? 英国Edinburgh大学超级计算中心 ? 上海超级计算中心 ? 中国科学院超级计算中心 41 3 高性能计算机的发展 ? Frontier Technologies in Computer Science ? 高性能计算机的发展过程 ? 1976年、1982年,Cray Research Inc 分别推出Cray-1型的单向量计算机 ,其速度仅为133MFlops,以及行向量处理Cray X-MP机型,其速度为 941MFlops,处理器数是4个。 ? 1988年,John L. Gustafson(古斯塔夫森)在Communications of the ACM(《ACM通讯》)上发表了一个加速比公式:s = f + p ( 1 – f ) ? 1993年克雷公司推出的Cray T3D,其峰值速度达21.4GFlops ? 1997年,Intel公司推出世界上第一台万亿次(TeraFlops)机器──ASCI Red,其速度为1.068TFlops ? 2002年,日本NEC公司推出“地球模拟器” ? 2008年,在高效能理念的推动下,IBM公司研制了“走鹃”,其处理器数 为122 400个,功耗为2.346MW,采用异构集群的系统结构,运行速度突 破了Peta FLOPS大关,达到1.026PFlops。 42 ? Frontier Technologies in Computer Science ? 千万亿(1015)次系统研发 ? 1996年,每秒万亿次运算能力的超级计算机诞生,在计算机发展的历史 上建立了新的里程碑 ? 超级计算需求根据用途大致可分为能力计算(Capability Computing)和 容量计算(Capacity Computing)两类 ? 千万亿次超级计算机的主要应用领域包括生物医学、航空航天制造、气候 和环境、核能、纳米技术、国防和国家安全 ? 艾级超级计算机的机遇与挑战 美洲豹(Jaguar)超级计算机 艾级超级计算机的概念 43 4 高性能计算机关键技术与挑战 ? Frontier Technologies in Computer Science ? 高性能计算机关键技术 ? 体系结构:商用混合式处理器 + 商用高性能互连网络相结合的结构(“ 走鹃”) 、通用CPU + 定制多套互连网络系统的结构(蓝色基因)、商 用高性能处理器 + 定制高性能互连网络的结构 + 非一致性存储访问体系 结构(CRAY XT3)等等。 ? 微处理器: Intel的Nehalem、AMD的皓龙(Opteron);基于单指令多数 据(SIMD)的分布存储多核结构,如IBM Cell;探索型多核结构,具体 实例有斯坦福大学的流处理器(Stanford Imagine)和麻省理工学院的 RAW芯片; ? 光互连:具有高带宽、低损耗、无串扰和匹配及电磁兼容等特点 ? 软件技术:操作系统方面的热点技术包括虚拟机技术(VMWARE、VPC 机等)、自治技术(Self-configuring、Self-healing、Self-optimizing和 Self-protecting)等;更深的存储层次、多核/多线程微处理器编译技术、 流处理技术等 ? 纳米技术:高密度、低功耗、适应量子效应 44 4 高性能计算机关键技术与挑战 ? Frontier Technologies in Computer Science ? 超级计算机系统的挑战 ? 体系结构的挑战 ? 大量应用对超级计算机的计算能力、数据访问能力、数据存储能力提出了 更高性能的要求 ? 存储器墙(Memory wall)和编程墙(Programming wall)是超级计算中 两个非常具有挑战性的问题 ? 系统规模和能耗的挑战:将规模和功耗纳入整体设计的考虑范围 ? 更快速的算法挑战:千万亿次计算系统需要并行度和并行效率更高的算法 ? 更高效能的挑战:更加关注于系统的平衡设计 ? 生态环境的挑战: ? 任何新的重大创新如何融入这样的生态环境,都需要技术、人才、资本的 巨大支撑。 45 4 高性能计算机关键技术与挑战 ? Frontier Technologies in Computer Science ? 超级计算机发展的技术路线 ? 可重构计算结构 ? 系统的主要逻辑通过重构机制控制,在一定范围内调整变化,以提高不同 应用程序核心算法的运行效率 ? 流式结构 ? 能够针对某些类型算法获得高计算/通信率,并且计算速度高、能耗低 ? 存储器内置处理器 ? PIM将算法逻辑单元与存储器相融合使逻辑存储器访问紧密耦合 ? 专用器件结构 ? 利用超高速硬件技术提供更高的逻辑密度,保证单元面积提供更高的性能 和更低的计算能耗。 ? 混合异构结构 ? 利用现有的高性能计算机资源作为节点互连构成的集成计算机系统 46 ? Frontier Technologies in Computer Science 第4章 现代操作系统 1 操作系统的历史 ? Frontier Technologies in Computer Science ? 1946年2月14日世界上第一台电子计算机ENIAC(埃尼阿克)在美国宾夕法尼 亚州立大学诞生 ? 20世纪50年代中期, 在美国通用汽车研究 实验室诞生了世界上 第一个操作系统 ? 20世纪60年代末期,在兼容分时系统的基础上,美国的麻省理工学院、贝尔实 验室和通用电气公司联合开发出了称为多路信息和计算系统(MULTiplexed Information and Computing System,Multics)的操作系统 ? 20世纪70年代初期,Ken Thompson(汤普森)和Dennis Ritchie(里奇)开发 出了UNIX操作系统,并因此获得1983年图灵奖 48 2 现代操作系统的发展 ? Frontier Technologies in Computer Science ? 现代操作系统的新特征:网络化和多媒体化 ? 现代操作系统发展的重要趋势:并发性(采用多线程)和可靠 性(采用微内核结构减小规模) ? 桌面操作系统的特点: ?满足新的计算模式将成为下一代桌面 系统设计的关键,例如手机操作系统 、云终端操作系统 ?桌面操作系统分化出不同的功能 三维桌面 ? 桌面系统安全性受到高度重视,特别是通过与可信平台模块(Trusted Platform Module,TPM)等硬件安全技术的结合,使得桌面安全性和可信 性得到改善。 49 2 现代操作系统的发展 ? Frontier Technologies in Computer Science ? 计算机系统组成: ? 一个计算机系统通常由硬件、操作系 统、应用软件和用户四个部分组成 用户1 用户2 ?? 用户n 编译程序 汇编程序 文字处理 ?? 应用程序 操作系统 计算机硬件 客户层 ? 计算模式: ? 多处理器计算 ? 基于互联网和Web的计算 ? 嵌入式计算 本地 全球 Web Applications 网络应用程序 广泛性 应用程序客户端、Flash、Java Applet和其他GUI Rich Internet Applications 丰富的互联网应用 1998 表示层 ASP、JSP、Servlets、Flex和其他UI元素 业务层 连接到业务对象 1992 集成层 连接到数据和传统系统 Client/Server 客户机/服务器 丰富性 集成多媒体用户界面 Mainframe 大型机 文字界面 资源层 数据库、外部系统和传统资源 ? 虚拟化计算 互联网和Web的计算的发展及Web应用的典型结构 ? 所谓虚拟化,是通过硬件和操作系统 的中间层─虚拟机监控层实现计算资 源的管理和再分配,使资源利用率实 现最大化。 50 2 现代操作系统的关键技术 ? Frontier Technologies in Computer Science ? 微内核操作系统 ? 内核通常是操作系统中最核心的部分,管理着所有的系统资源,对于系 统的设备拥有完全的访问权,通常运行于特权模式 ? 具有微内核结构的现代操作系统拥有以下优点: (1)可伸缩性好,能适应硬件更新和应用变化 (2)可移植性好,所有与具体机器特征相关的代码,全部隔离在微内核中 (3)实时性好,微内核可以更有效地支持实时处理 (4)安全可靠性高,微内核将安全性作为系统内部特性进行设计,对外仅 使用少量应用编程接口 (5)支持分布式系统,支持多处理器的体系结构和高度并行的应用程序 (6)真正面向对象的操作系统,能显著减小系统开销,提高系统的正确性 、可靠性和易扩展性 51 2 现代操作系统的关键技术 ? Frontier Technologies in Computer Science ? 嵌入式操作系统 ? 嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、 成本、体积和功耗等综合性要求严格的专用计算机系统 ? 具有软件代码小、自动化程度高和响应速度快等特点,特别适合于要求实 时和多任务的体系 ? 嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关 的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面和标准 化浏览器等。 ? 商用嵌入式系统和专用操作系统: WinCE、VxWorks Symbian OS、Android OS 52 2 现代操作系统的关键技术 ? Frontier Technologies in Computer Science ? 分布式操作系统 ? 网络操作系统:UNIX和Windows NT。具有网络功能,可以用来访问远程资源。 ? 特点:运行于其上的节点能独立地管理自己的进程资源用户能够可扩展操作系 统 ? 可扩展操作系统 ? 所谓的可扩展操作系统,即利用微内核技术,使操作系统在保持核心功能的基 础上能够灵活地结合各种服务及应用 ? 这种外延和扩展不仅体现在用户应用层,还体现在硬件层 53 2 现代操作系统的关键技术 ? Frontier Technologies in Computer Science ? 多处理机并行操作系统 ? 多处理机并行操作系统新特征: (1)并行性,即增强对程序并行执行的支持。 (2)分布性,即支持对分布的任务、资源的管理与控制。 (3)通信及其同步性,即在不同处理机上运行的不同进程之间实现同步和 通信,以共享资源和相互合作,支持程序的并行执行,以改善系统的性能 。(4)可重构性,为了提高系统的可靠性,当系统中某个处理机或存储 模块等资源发生故障时,系统能够自动切除故障资源,换上备份资源,并 对系统进行重构,以保证其能继续工作。 ? 并行操作系统版本:前SUN公司的Solaris、美国AT&T公司(AT&T)的 UNIX SYSTEM V4.0 MP版本等等 ? 在提高系统性能方面,对称式多处理机(Symmetric Multi-Processor, SMP)结构计算机已经成为现代计算机技术发展的潮流和趋势, 54 2 现代操作系统的关键技术 ? Frontier Technologies in Computer Science ? 虚拟化操作系统 ? 进程级虚拟化,即不是用软件模拟,而是在操作系统之上添加一个很“薄 ”的虚拟化程序来实现虚拟化,在这个虚拟化程序之上再模拟操作系统 ? 系统级虚拟化,即操作系统几乎可以不变,只是每个操作系统调度的是自 己的虚拟化硬件资源,这些虚拟硬件资源是由系统硬件和操作系统之间的 虚拟监控层(虚拟化操作系统)创建和管理的 ? 未来操作系统的发展趋势 ? (1)开源化 ? (2)专用化 ? (3)小型化或微型化 ? (4)便携化。 ? (5)网络化 ? (6)安全化或可信化 55 3 Windows操作系统 ? Frontier Technologies in Computer Science ? Windows是微软公司在操作系统领域中的品牌和产品系列 ? 2个分支: ? 一个分支是基于MS-DOS的Windows开发平台,最后发展成为Windows 95/98/Me等一系列操作系统 ? 另一个分支则发展成以Windows NT为代表的操作系统系列,经历了 Windows NT、Windows 2000、Windows XP/Server 2003,直到 Windows Vista/Server 2008/Win7 ? 第二个分支是按照20世纪80年代后期的硬件水平进行全新设计的操作系统 ,包含了现代操作系统的各个要素,也奠定了Windows作为现代操作系统 典范的基础 ? Windows NT 3.1~3.51版本采用了Windows 3.1操作系统的 窗口界面风格,并且保持了对MS-DOS和Windows 3.1应用 程序的兼容性。 56 3 Windows操作系统 ? Frontier Technologies in Computer Science ? Windows NT 4.0是一个相对比较成熟和稳定的网络服务器操 作系统,并且内置了微软(IIS 6作为基本的Web服务器软件 ? Windows 2000在安全性方面也有显著提高。它充分发挥了 NT内核中安全框架的作用,为企业网络环境提供全方位的安 全服务 ? Windows Server 2003在稳定性、安全性和易管理方面都超 过了其前身Windows 2000服务器版本,是微软公司在服务 器操作系统领域发展的一个重要里程碑,并且也是微软在倡 导可信计算(Trustworthy Computing)以后发布的第一个 操作系统 ? Windows Vista于2007年1月发布,全面更新用户界面风格, 集成和增强桌面搜索能力,更加关注安全性 57 3 Windows操作系统 ? Frontier Technologies in Computer Science ? Windows Vista和Server 2008改进了Windows NT文件系统 NTFS(New Technology File System),采用了更新的 SMB协议,数据传输效率更高 ? Windows 7于2009年10月22日正式发布 Windows Vista和 Windows 7界面 Windows家族树(源自Wikipedia) 58 3 Windows操作系统 ? Frontier Technologies in Computer Science ? Windows Mobile的介绍 ? Windows Mobile是微软为智能移动终端设备使用的操作系统 ,是基于一系列智能设备的操作系统(例如Pocket PC, Pocket PC Phone和Smartphone) ? Bill Gates 59 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? UNIX系统简介 ? 1971年,UNIX诞生于美国AT&T公司的 贝尔实验室 ? 支持多用户和多任务,网络和数据库功 能强,可靠性高,伸缩性突出,并支持 多种处理器架构 ? UNIX、Linux和Windows成为三大类主 流操作系统 ? 商业版UNIX:基于美国AT&T公司贝尔 实验室的UNIX逐步演化发展而来的各 UNIX版本 ? 类UNIX:与UNIX有渊源,不能佩戴 UNIX标志的系统(比如BSD);技术 属性上与UNIX类似或有关的系统 UINIX的发展史(源自Wikipedia) 60 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? UNIX家族的演化 ? UNIX初始研发阶段:20世纪70年代 ? 1969年,Thompson和Ritchie共同动手设计了一套包含文件系统、命令解 释器以及一些实用程序的支持多任务的操作系统,UNIX第一版(UNIX V1 )正式诞生 ? 1972年,UNIX发布了第二版,添加了管道功能- UNIX标志特征之一。在 开发UNIX V2的时候,Ritchie给B语言加上了数据类型和结构的支持,推 出了C语言。 ? 1979年,UNIX V发布 ? 1975年,UNIX V6到达Berkley ? 1983年,4.2 BSD发布 Ritchie(左)和Thompson(右)以及所著的C语言教材 61 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? UNIX家族的演化 ? UNIX商业推广阶段 ? 1980年,美国AT&T公司发布了UNIX的可分发二进制版许可证,启动了将 UNIX商业化的计划 ? 1982年,美国AT&T公司发布了UNIX System III的第一个版本 ? 1992年,前SUN公司基于美国AT&T公司UNIX SVR 4.2开发了Solaris 2.0 ? 1983年, SCO公司发布SCO XENIX System V ? ? 1980年,微软基于UNIX V7开发了运行在 Intel平台上UNIX操作系统XENIX UNIX成熟应用阶段 20世纪90年代中后期 Solaris 10操作系统和SPARC处理器 62 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? 类UNIX系统的发展 ? 1984年,Richard M. Stallman(理查德· 斯托曼)发起了一项国际性的源 代码开放的GNU计划,制定了一项GNU通用公共许可证 ? 1993年,Linux发布标志性的1.0版本 ? 1995年,Bob Young(鲍勃· 扬)创办了Red Hat(红帽)公 司,出售Red Hat Linux Richard Stallman和GNU标志 Linus Torvalds和Linux标志 Bob Young和Red hat 63 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? 类UNIX系统的发展 ? 1998年2月,以Eric Raymond(雷蒙德)创办了开放源代码促进会( Open Source Initiative) ? 目前,Linux可以支持x86、SPARC、MIPS、Alpha、PowerPC、ARM及 IA64等多种平台,可以运行在个人计算机、PC服务器、UNIX服务器、中 型机和大型计算机上 ? 各大主流硬件厂商包括IBM、Intel、HP、Oracle和Dell等公司都已成为 Linux的支持者。 开源软件的吉祥物大集合 64 4 UNIX类操作系统的发展 ? Frontier Technologies in Computer Science ? UNIX系统的展望 ? UNIX从初期发展时的开放源代码到商业推广期的封闭源代码,再到后面 以前Sun公司的OpenSolaris为代表的开放源代码,一直在开源与不开源的 交织中前行,并由此带来技术与商业的相互促进 ? 开源文化:在将软件销售分为许可证销售和订阅这两种主要模式的过程中 ,人们越来越认识到开源与商业并非完全对立。 ? 虽然今天仍存在自由软件与开源软件的争论、自由软件与商业利益的冲突 以及Hurd计划与Linux内核的微妙关系,但随着Linux产业的快速发展,相 信终有一天,Linux会接过传统UNIX的接力棒,延续UNIX带来的技术、文 化和精神。 65 ? Frontier Technologies in Computer Science 第5章 计算机网络新技术 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 最成功的计算机网络——互联网的诞生 ? 967年10月,Joseph Licklider为主的研究小组提出 “ARPANET”(阿帕网 )的计划,发明了一种叫做“分组交换(包交换)”的技术 ? 1981年,传输控制规范最终确定和发布,并得到采用 ? 1982年,在美国以外的ARPANET连接都被转变使用新的TCP/IP协议, 互联网诞生了 Joseph Licklider和ARPANET计划 分组交换的思想 67 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 计算机网络的历史 ? 第一代计算机网络(早期的计算机网络) :20世纪50年代中后期 ? 以单个计算机为中心的远程联机系统 ? 典型应用:美国航空公司与IBM在20世纪50年代初开始联合研究,20世 纪60年代投入使用的飞机订票系统SABRE-I,它由一台计算机和全美范 围内2 000个终端组成 电子订票和网上值机 68 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 计算机网络的历史 ? 第二代计算机网络(现代计算机网络的发展):20世纪60年代后期 ? 以远程大规模互联为主要特点,以通信子网为中心,同时由“能够相互共 享资源为目的,互连起来的具有独立功能的计算机的集合体”组成 ? 现代意义上的计算机网络是1969年美国国防部高级研究计划局(DARPA )建成的ARPAnet实验网开始的 ? 两个主机间通信是对传送信息内容的理解、信息的表示形式,以及各种情 况下的应答信号必须遵守一个共同的约定,这就是“协议” ? 在ARPA网中,将协议按功能分成了若干层次。如何分层,以及各层中具 体采用的协议总和,成为网络体系结构 ? 最成功的网络体系结构实例是OSI参考模型和TCP/IP体系结构 69 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 计算机网络的历史 ? 第三代计算机网络(计算机网络标准化阶段):20世纪70年代至80年代 中期 ? 开放系统互联参考模型OSI/RM标志着新一代计算机网络的诞生 ? OSI/RM参考模型把网络划分为七个层次,计算机之间只能在对应层之间 进行通信,这是公认的新一代计算机网络体系结构的基础,为普及局域网 奠定了基础 OSI参考模型(来源Wikipedia) 70 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 计算机网络的历史 ? 第四代计算机网络(微机局域网的发展时期,互联网出现):20世纪90 年代后 ? 此时,计算机网络定义为“将多个具有独立工作能力的计算机系统通过通 信设备和线路由功能完善的网络软件实现资源共享和数据通信的系统” ? 1972年,Xerox公司发明了Ethernet(以太网) ? 1980年2月IEEE组织了802委员会,开始制定局域网标准。 ? 1992年,Internet学会成立 ? 1993年,美国总统Bill Clinton 宣布正式实施国家信息基础设施 (NII)计划 局域网技术 71 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 计算机网络的历史 ? 下一代计算机网络(Next Generation Network,NGN) ? 普遍认为是因特网、移动通信网络、固定电话通信网络的融合、IP网络和 光网络的融合 ? 是可以提供包括语音、数据和多媒体等各种业务的综合开放的网络构架 ? 是业务驱动、业务与呼叫控制分离、呼叫与承载分离的网络 72 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 中国的网络发展史 ? 第一阶段为1987至1993年,也是研究试验阶段 ? 第二阶段为1994年至1996年,同样是起步阶段 ? 第三阶段从1997年至今,是Internet在我国发展最为快速的阶段 中国网民规模、增长率及普及率 73 1 计算机网络的发展 ? Frontier Technologies in Computer Science ? 互联网的发展和主要面临的技术挑战 ? ? ? ? 拓展性受到限制 安全性问题日益突出 日益增长的速度需求, 使用与部署还不够方便 提高移动性面临挑战 移动互联网的发展 74 2 下一代互联网(Next Generation Internet) ? Frontier Technologies in Computer Science ? 下一代互联网的特征 ? 重要的科学和技术问题包括:扩展性、安全性、高性能、实时性、移动性和可 管理性等。 ? 未来互联网设计(FIND) ? 全球网络创新环境(GENI) ? 基于IPv4和IPv6技术逐步演进 未来互联网设计概念图 ? IPv6(Internet Protocol Version 6),它是IETF(Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议IPv6介绍 ? 更大、更快、更安全可信、更及时、更方便、更可管理、更有效 75 2 下一代互联网(Next Generation Internet) ? Frontier Technologies in Computer Science ? 下一代互联网的国内外研究进展 ? 美国最近提出的GENI发展计划,实际上是在思考10年来发展 互联网遇到的问题,准备掀起新一轮发展互联网的高潮 ? CERNET2是中国下一代互联网示范工程核心网的重要组成部 分,建成以后,将是世界上规模最大的纯Ipv6国家主干网 CNGI-CERNET主干网 76 3 对等计算的研究 ? Frontier Technologies in Computer Science ? 对等计算概述 ? 对等计算的核心思想是所有参与系统的节点(指互联网上的某个计算机) 处于完全对等的地位,没有客户机和服务器之分 ? 对等网络服务取代了文件传输(FTP)以及超文本传输(HTTP) ? 结构化覆盖网(Structured Overlay Network,SON)及分布式哈希表( Distributed Hash Table,DHT) ? 理论上实现对等计算的计算模式,必须完成:资源放置、资源定位、资源 获取 覆盖网络的示意 77 3 对等计算的研究 ? Frontier Technologies in Computer Science ? 对等网络服务的底层架构 ? 层次对等的无结构系统 常见的基于对等网的服务软件 ? 利用构造几何造型和哈希函数的方法来建立的底层架构 常见对等网络几何架构 78 3 对等计算的研究 ? Frontier Technologies in Computer Science ? 对等网络服务的应用情况 ? 文件共享服务 文件共享是对等网络中最基本的一项服务,每个节点都把各自拥有的文件 共享出来,从而使这些文件能够在对等网络上获得访问 ? 传输服务 一类是点对点的直接传输,比如节点之间文件的上传下载 另一类则是流媒体服务,比如视频点播等 ? 搜索服务:定位、检索 PPLive和PPStream的界面 79 3 对等计算的研究 ? Frontier Technologies in Computer Science ? 国内研究系统介绍 ? Maze文件共享系统 ? Maze是北京大学网络实验室开发的中心控制与对等连接相融合的对等计算文 件共享系统,结构上类似于Napster,对等计算搜索策略类似于Gnutella ? Granary广域存储服务系统 ? Granary是清华大学自主开发的对等计算存储服务系统。存储服务的提供者在 互联网中部署一定数量的存储服务器,为用户提供数据存储服务,确保数据的 可靠性、可用性、安全性和访问效率;存储服务的使用者按照所存储数据的容 量和质量付费 ? AnySee视频组播系统 ? AnySee 是华中科技大学自主设计研发的视频直播系统。它采用一对多的服务 模式,支持部分NAT 和防火墙的穿越,提高了视频直播系统的可扩展性。 80 3 对等计算的研究 ? Frontier Technologies in Computer Science ? 对等网络面临的问题 ? 信息或者服务的真实性和可靠性 ? 使用P2P文件共享系统传播蠕虫和木马 ? P2P文件共享系统中虚假文件 ? P2P文件共享系统中的搜索毒害,即某些恶意用户通过在索引中插入大量 的虚假记录来降低系统的可用性 ? 隐私问题、版权问题、系统安全问题 对等网络面临的问题 81 4 无线局域网前沿技术 ? Frontier Technologies in Computer Science ? 无线局域网的基本概念 ? 无线局域网是计算机网络与无线通信技术相结合的产物 ? 1990年,Alcatel-Lucent(朗讯)科技在美国最先推出早期的计算机无线 网络系统──WLAN,用以解决工厂、矿山的布线和随时移动的问题 ? 1997年6月,颁布了IEEE 802.11无线网络标准 ? 无线局域网不仅可以通过接入点(Access Point,AP)为其他节点提供 网络接入服务,而且各个节点之间也可以很好地互相通讯 ? 无线局域网技术主要包括:蓝牙(Bluetooth)、智能家居无线射频( HomeRF)、高性能无线局域网(HiperLAN)和IEEE 802.11系列 无线局域网实例 82 4 无线局域网前沿技术 ? Frontier Technologies in Computer Science ? 常见的无线局域网传输技术 ? 红外线(Infrared) ? 红外线是一种电磁波。在笔记本电脑、投影仪和一些手持设备中,红外线 也都是基本的无线通信手段 ? 不会产生干扰,不容易被窃听,主要用于设备间的点对点短距离通信 ? 蓝牙(Bluetooth) ? 蓝牙是一种使用2.45GHz的无线频带(ISM频带)的通用无线接口技术, 主要为不同设备间提供双向短程通信 ? HiperLAN ? HiperLAN作为“宽带无线接入网”计划的组成部分,由欧洲电信标准化 协会(ETSI)的宽带无线电接入网络(Broadband Radio Access Networks,BRAN)制订,在欧洲得到了广泛支持和应用 83 4 无线局域网前沿技术 ? Frontier Technologies in Computer Science ? 无线局域网的未来发展 ? 服务质量(QoS) ? ? 通常QoS描述的是一个定性的和量化的业务特征,如吞吐率、服务间隔、包的大小、 延迟、抖动、带宽和优先级等 有线网络下的传输机制对无线网络来说并不适合,没有QoS保障机制是阻碍IEEE 802.11无线局域网大范围普及的主要因素之一 ? 无线网状网 ? 无线网状网(Wireless Mesh Network,WMN)是一种通过无线链路以多跳方式连接 的自组网络,具有自组织、自配置、高容量、大覆盖和可扩展等特点 ? 安全 ? ? 无线局域网是利用网络技术和无线通信技术在一定局部范围内建立的网络,以无线多 址信道作为传输媒介,提供有线局域网(Local Area Network,LAN)的功能 无线局域网安全问题就成为了当前无线网络产业发展的最大问题 84 4 无线局域网前沿技术 ? Frontier Technologies in Computer Science ? IEEE 802.11系列标准 ? IEEE 802.11无线局域网标准的制定是无线网络技术发展的一个里程碑 IEEE 802.11系列标准 85 4 无线局域网前沿技术 ? Frontier Technologies in Computer Science ? 无线局域网的安全 ? WEP协议 ? WEP协议是IEEE 802.11b协议中最基本的无线安全加密措施,主要提供接入控制 、提供认证功能、提供对数据进行加密 ? WPA协议 ? WPA解决了WEP中共享密钥上的漏洞问题,此添加了用户级的认证措施,解决了 系统的升级问题 ? IEEE 802.11i安全标准 ? WLAN的安全标准802.11i包括Wi-Fi保护存取(WPA)和健壮安全网络(Robust Secure Network,RSN) ? WAPI协议 ? 优点:基于公钥证书的终端设备和接入点之间的双向身份认证、动态的会话密钥 协商、基于高强度加密算法的数据加密、灵活的集中式或分布集中式证书管理和 无会话密钥在信道中传输 86 ? Frontier Technologies in Computer Science 第6章 数据库技术的发展 ? Frontier Technologies in Computer Science Scientific innovation has been called on to spur economic recovery; science and technology are essential to improving public health and welfare and to inform sustainability; and the scientific community has been criticized for not being sufficiently accountable and transparent. Data collection, creation, and access are central to all of these issues. ——Science, 11 February, 2011 知识概要 ? Frontier Technologies in Computer Science 数据库的发展史 --数据管理的诞生 --关系数据库的由来 --结构化查询语言 --面向对象数据库 --数据管理的变革 --数据挖掘和商务智能 数据管理新技术 --未来全球和个人信息的管理 --数据是未来计算的核心 89 知识概要 ? Frontier Technologies in Computer Science 万维网数据库技术 --数据库和万维网信息检索的融合 --XML数据的管理 数据空间:数据管理新概念 --数据空间系统及其特征 --数据空间面临的挑战 小结 三位图灵奖得主 ? Frontier Technologies in Computer Science 三位图灵奖得主C.W. Bachman(左)--关系数据库之父 E.F. Codd(中)--关系模型研究功臣 J. Gray(右)--开创性的数据库研究 数据库类型 ? Frontier Technologies in Computer Science 网状数据库(Network database) 层次数据库(Hierarchical database) 关系数据库(Relational database) 关系模型 ? Frontier Technologies in Computer Science 1970年,IBM的研究员E.F. Codd博士提出了关系模型的概念 关系数据库(左)和IBM的System R(右) 结构化查询语言 ? Frontier Technologies in Computer Science ? 1974年,IBM的Ray Boyce和Don Chamberlin将Codd关系 数据库的12条准则的数学定义以简单的关键字语法表现出来 ,里程碑式地提出了SQL(Structured Query Language) 语言。 ? 1976年IBM的Codd发表了一篇里程碑的论文“R系统:数据 库关系理论”,Oracle的创始人Larry Ellison在此基础上他 们就开发了Oracle 1.0。 图为Larry Ellison 数据管理的变革 ? Frontier Technologies in Computer Science 决策支持系统(左)和数据仓库(右 ) ?20世纪60年代后期,决策支持系统(Decision Support System,DSS) ,其目的是让管理者在决策过程中更有效地利用数据信息。 ?1988年,IBM公司的研究员Barry Devlin和Paul Murphy创造性的提出了 一个新的术语──数据仓库(Data Warehouse) 数据挖掘和商务智能 ? Frontier Technologies in Computer Science ? 数据挖掘是指通过分析大量的数据来揭示数据之间隐藏的关系、模式和 趋势,从而为决策者提供新的知识。。 ? 商务智能(Business Intelligent,BI)指的是一系列以数据为支持、 辅助商业决策的技术和方法。 数据挖掘 商务智能 现代数据管理及特点 ? Frontier Technologies in Computer Science 数据管理:指对数据进行分类、组织、编码、存储、检索和维护 ? 第一个特点:海量 ? 第二个特点:共享 ? 第三个特点:多样化 万维网数据库技术 ? Frontier Technologies in Computer Science 从万维网数据的存在形态上来讲,万维网数据分为三种类型: ?静态的HTML数据; ?通过开放查询接口获取的动态HTML数据; ?已经成为互联网环境中信息的表示和交换标准的XML数据。 XML(eXtensive Markup Language)数据 目前已经成为互联网环境中的数据表示和交换的标准。相 对于静态的HTML网页,XML数据中结构信息更加丰富,能够允许 用户表达更加准确的查询需求。 数据库和万维网信息检索的融合 ? Frontier Technologies in Computer Science XML表示的数据类型以及XML数据模型 随着半结构化数据XML作为网上数据表示和交换标准的流行 ,以及结构化数据(例如关系数据)所得到的广泛的应用与普 及,人们期盼着也能像使用搜索引擎那样用关键字来检索这些 半结构化数据和结构化数据。 XML数据的管理 ? Frontier Technologies in Computer Science ? XML查询处理 由于XML是半结构化的,因此XML上的查询包含两个方面,分别 是结构上的查询和内容上的查询。 ? 数据的XML发布 研究关系数据和XML数据之间的转换方法,以及如何实现各类异 构关系数据源基于XML的发布,已成为当前国际数据管理领域 重要的研究方向。 数据空间:数据管理新概念 ? Frontier Technologies in Computer Science 数据空间中包含一个组织或个人的一切数据。 它的数据可能来自多个不同但又相互关联的数据源,具有各不 相同的格式 数据空间技术通过建立有效的集成机制、完善的扩展机制以及 合理的数据模型来实现对多种数据类型的统一管理 数据空间技术 数据空间系统及其特征 ? Frontier Technologies in Computer Science 对于任意一组数据,只要本质上反应的是同一个实体,它们 就属于同一数据空间。 其特点如下: ?数据多样性 ?数据源不确定性 ?数据共存 ?独立性 ?持续演化性 数据空间面临的挑战 ? Frontier Technologies in Computer Science ? 数据模型 一个好的模型需要考虑很多问题,包括模型能够以统一的方式描述数据源中 所有的数据,需要建立一种能够有效描述所有复杂多样的联系的模型,数据 模型要能够支持一套强大高效的查询机制,以及模型必须具有良好的可扩展 性。 ? 查询处理 由于数据空间中数据的多样性,并要对取到查询结果进行排序,还要包含这 些结果的数据源信息,往往用户的查询很可能是一个渐进的探索式的过程。 ? 数据扩展 数据的范围从局部扩展到全局,而所有局部数据不可能都符合全局标准,所 以产生了数据扩展的需要 推荐阅读 ? Frontier Technologies in Computer Science ? ? ? ? ? ? C. J. Date. An Introduction to Database Systems (Eighth Edition). Addison Wesley, 2003. Jennifer Widom, Jeffrey D. Ullman, Hector Garcia-Molina. Database Systems: The Complete Book (Second Edition). Prentice Hall, 2008. 王海勋. ACM SIGMOD数据管理国际会议.中国计算机学会通讯, 2011, 7(9): 62-64. Clifford Lynch. How do your data grow? Nature, 2008, September, 455, 28~29. Dealing with Data. Science, 2011, February, 331. http://www.sciencemag.org Tong hey etc. The Fourth Paradigm: Data-Intensive Scientific Discovery. Redmond, Washington. ? Frontier Technologies in Computer Science ? “生命的本质在于创新”。当人反省内在生命的时候,就会发现它是动态的、展 开的、希望创新的,再由此推展到整个宇宙。整个宇宙就是一个“生命冲力”, 通过某种很大的力量在运转,且不断地自我呈现。而人是惟一能知道这个力量并 与之呼应的,因为人的内心能够有这种生命冲力的体会,希望能够把它们对照起 来。