Transcript 类UNIX系统的发展
© Frontier Technologies in Computer Science 通识卓越课程 http://en.tjcities.com/index.php/works 计算机科学前沿技术 Frontier Technologies in Computer Science 课程网站:http://en.tjcities.com/index.php/works 联系方式: [email protected] 微博:http://weibo.com/willtongji © Frontier Technologies in Computer Science 课程内容 • • • • • • • • 第1章 概述 第2章 计算机硬件的发展 第3章 高性能计算 第4章 现代操作系统 第5章 计算机网络新技术 第6章 可信系统和可信软件 第7章 数据库技术的发展 第8章 数据挖掘及其应用 • • • • • • • • 第9章 人工智能前沿 第10章 机器学习的研究 第11章 搜索引擎技术 第12章 集体智慧与Web 2.0 第13章 云计算 第14章 物联网技术 第15章 服务科学与服务计算 第16章 智慧地球 © Frontier Technologies in Computer Science 第4章 现代操作系统 © Frontier Technologies in Computer Science 本章内容 操作系统的历史 现代操作系统的发展 • 操作系统的基本概念、现代操作系统的关键技术 Windows操作系统 UNIX类操作系统的发展 • UNIX系统简介、 UNIX家族的演化、类UNIX系统的发展、UNIX系统的展 小结 推荐阅读 问题与讨论 4 © Frontier Technologies in Computer Science 1 操作系统的历史 1946年2月14日世界上第一台电子计算机ENIAC(埃尼阿克)在美国宾夕法尼 亚州立大学诞生 20世纪50年代中期, 在美国通用汽车研究 实验室诞生了世界上 第一个操作系统 20世纪60年代末期,在兼容分时系统的基础上,美国的麻省理工学院、贝尔实 验室和通用电气公司联合开发出了称为多路信息和计算系统(MULTiplexed Information and Computing System,Multics)的操作系统 20世纪70年代初期,Ken Thompson(汤普森)和Dennis Ritchie(里奇)开发 出了UNIX操作系统,并因此获得1983年图灵奖 5 © Frontier Technologies in Computer Science 2 现代操作系统的发展 现代操作系统的新特征:网络化和多媒体化 现代操作系统发展的重要趋势:并发性(采用多线程)和可靠 性(采用微内核结构减小规模) 桌面操作系统的特点: •满足新的计算模式将成为下一代桌面 系统设计的关键,例如手机操作系统 、云终端操作系统 •桌面操作系统分化出不同的功能 三维桌面 • 桌面系统安全性受到高度重视,特别是通过与可信平台模块(Trusted Platform Module,TPM)等硬件安全技术的结合,使得桌面安全性和可信 性得到改善。 6 计算机系统组成: • 一个计算机系统通常由硬件、操作系 统、应用软件和用户四个部分组成 用户1 用户2 …… 编译程序 汇编程序 文字处理 …… 操作系统 计算模式: • 多处理器计算 用户n 应用程序 计算机硬件 客户层 应用程序客户端、Flash、Java Applet和其他GUI 全球 表示层 • 基于互联网和Web的计算 Web Applications 网络应用程序 广泛性 © Frontier Technologies in Computer Science 2 现代操作系统的发展 • 嵌入式计算 ASP、JSP、Servlets、Flex和其他UI元素 1998 业务层 连接到业务对象 集成层 1992 连接到数据和传统系统 本地 • 虚拟化计算 Rich Internet Applications 丰富的互联网应用 Mainframe 大型机 文字界面 Client/Server 客户机/服务器 丰富性 集成多媒体用户界面 资源层 数据库、外部系统和传统资源 互联网和Web的计算的发展及Web应用的典型结构 • 所谓虚拟化,是通过硬件和操作系统 的中间层─虚拟机监控层实现计算资 源的管理和再分配,使资源利用率实 现最大化。 7 © Frontier Technologies in Computer Science 2 现代操作系统的关键技术 微内核操作系统 • 内核通常是操作系统中最核心的部分,管理着所有的系统资源,对于系 统的设备拥有完全的访问权,通常运行于特权模式 • 具有微内核结构的现代操作系统拥有以下优点: (1)可伸缩性好,能适应硬件更新和应用变化 (2)可移植性好,所有与具体机器特征相关的代码,全部隔离在微内核中 (3)实时性好,微内核可以更有效地支持实时处理 (4)安全可靠性高,微内核将安全性作为系统内部特性进行设计,对外仅 使用少量应用编程接口 (5)支持分布式系统,支持多处理器的体系结构和高度并行的应用程序 (6)真正面向对象的操作系统,能显著减小系统开销,提高系统的正确性 、可靠性和易扩展性 8 © Frontier Technologies in Computer Science 2 现代操作系统的关键技术 嵌入式操作系统 • 嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、 成本、体积和功耗等综合性要求严格的专用计算机系统 • 具有软件代码小、自动化程度高和响应速度快等特点,特别适合于要求实 时和多任务的体系 • 嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关 的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面和标准 化浏览器等。 • 商用嵌入式系统和专用操作系统: WinCE、VxWorks Symbian OS、Android OS 9 © Frontier Technologies in Computer Science 2 现代操作系统的关键技术 分布式操作系统 • 网络操作系统:UNIX和Windows NT。具有网络功能,可以用来访问远程资源。 • 特点:运行于其上的节点能独立地管理自己的进程资源用户能够可扩展操作系 统 可扩展操作系统 • 所谓的可扩展操作系统,即利用微内核技术,使操作系统在保持核心功能的基 础上能够灵活地结合各种服务及应用 • 这种外延和扩展不仅体现在用户应用层,还体现在硬件层 10 © Frontier Technologies in Computer Science 2 现代操作系统的关键技术 多处理机并行操作系统 • 多处理机并行操作系统新特征: (1)并行性,即增强对程序并行执行的支持。 (2)分布性,即支持对分布的任务、资源的管理与控制。 (3)通信及其同步性,即在不同处理机上运行的不同进程之间实现同步和 通信,以共享资源和相互合作,支持程序的并行执行,以改善系统的性能 。(4)可重构性,为了提高系统的可靠性,当系统中某个处理机或存储 模块等资源发生故障时,系统能够自动切除故障资源,换上备份资源,并 对系统进行重构,以保证其能继续工作。 • 并行操作系统版本:前SUN公司的Solaris、美国AT&T公司(AT&T)的 UNIX SYSTEM V4.0 MP版本等等 • 在提高系统性能方面,对称式多处理机(Symmetric Multi-Processor, SMP)结构计算机已经成为现代计算机技术发展的潮流和趋势, 11 © Frontier Technologies in Computer Science 2 现代操作系统的关键技术 虚拟化操作系统 • 进程级虚拟化,即不是用软件模拟,而是在操作系统之上添加一个很“薄 ”的虚拟化程序来实现虚拟化,在这个虚拟化程序之上再模拟操作系统 • 系统级虚拟化,即操作系统几乎可以不变,只是每个操作系统调度的是自 己的虚拟化硬件资源,这些虚拟硬件资源是由系统硬件和操作系统之间的 虚拟监控层(虚拟化操作系统)创建和管理的 未来操作系统的发展趋势 • (1)开源化 • (2)专用化 • (3)小型化或微型化 • (4)便携化。 • (5)网络化 • (6)安全化或可信化 12 © Frontier Technologies in Computer Science 3 Windows操作系统 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应用 程序的兼容性。 13 © Frontier Technologies in Computer Science 3 Windows操作系统 Windows NT 4.0是一个相对比较成熟和稳定的网络服务器操 作系统,并且内置了微软(IIS 6作为基本的Web服务器软件 Windows 2000在安全性方面也有显著提高。它充分发挥了 NT内核中安全框架的作用,为企业网络环境提供全方位的安 全服务 Windows Server 2003在稳定性、安全性和易管理方面都超 过了其前身Windows 2000服务器版本,是微软公司在服务 器操作系统领域发展的一个重要里程碑,并且也是微软在倡 导可信计算(Trustworthy Computing)以后发布的第一个 操作系统 Windows Vista于2007年1月发布,全面更新用户界面风格, 集成和增强桌面搜索能力,更加关注安全性 14 © Frontier Technologies in Computer Science 3 Windows操作系统 Windows Vista和Server 2008改进了Windows NT文件系统 NTFS(New Technology File System),采用了更新的 SMB协议,数据传输效率更高 Windows 7于2009年10月22日正式发布 Windows Vista和 Windows 7界面 Windows家族树(源自Wikipedia) 15 © Frontier Technologies in Computer Science 3 Windows操作系统 Windows Mobile的介绍 • Windows Mobile是微软为智能移动终端设备使用的操作系统 ,是基于一系列智能设备的操作系统(例如Pocket PC, Pocket PC Phone和Smartphone) Bill Gates 16 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 UNIX系统简介 • 1971年,UNIX诞生于美国AT&T公司的 贝尔实验室 • 支持多用户和多任务,网络和数据库功 能强,可靠性高,伸缩性突出,并支持 多种处理器架构 • UNIX、Linux和Windows成为三大类主 流操作系统 • 商业版UNIX:基于美国AT&T公司贝尔 实验室的UNIX逐步演化发展而来的各 UNIX版本 • 类UNIX:与UNIX有渊源,不能佩戴 UNIX标志的系统(比如BSD);技术 属性上与UNIX类似或有关的系统 UINIX的发展史(源自Wikipedia) 17 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 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语言教材 18 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 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处理器 19 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 类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 20 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 类UNIX系统的发展 • 1998年2月,以Eric Raymond(雷蒙德)创办了开放源代码促进会( Open Source Initiative) • 目前,Linux可以支持x86、SPARC、MIPS、Alpha、PowerPC、ARM及 IA64等多种平台,可以运行在个人计算机、PC服务器、UNIX服务器、中 型机和大型计算机上 • 各大主流硬件厂商包括IBM、Intel、HP、Oracle和Dell等公司都已成为 Linux的支持者。 开源软件的吉祥物大集合 21 © Frontier Technologies in Computer Science 4 UNIX类操作系统的发展 • UNIX系统的展望 • UNIX从初期发展时的开放源代码到商业推广期的封闭源代码,再到后面 以前Sun公司的OpenSolaris为代表的开放源代码,一直在开源与不开源的 交织中前行,并由此带来技术与商业的相互促进 • 开源文化:在将软件销售分为许可证销售和订阅这两种主要模式的过程中 ,人们越来越认识到开源与商业并非完全对立。 • 虽然今天仍存在自由软件与开源软件的争论、自由软件与商业利益的冲突 以及Hurd计划与Linux内核的微妙关系,但随着Linux产业的快速发展,相 信终有一天,Linux会接过传统UNIX的接力棒,延续UNIX带来的技术、文 化和精神。 22 © Frontier Technologies in Computer Science 小结 操作系统的历史 现代操作系统的发展 • 操作系统的基本概念、现代操作系统的关键技术 Windows操作系统 UNIX类操作系统的发展 • UNIX系统简介、 UNIX家族的演化、类UNIX系统的发展、 UNIX系统的展 23 © Frontier Technologies in Computer Science 推荐阅读 • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne. Operating System Concepts (7th Edition) (影印版). 高等教育 出版社, 2010. • 潘爱民. Windows内核原理与实现. 电子工业出版社, 2010. • Eric S. Raymond. The art of UNIX programming (影印版). 中 国电力出版社, 2004. • Jerome H. Saltzer, M. Frans Kaashoek. Principles of Computer System Design (影印版). 清华大学出版社, 2009. 24 © Frontier Technologies in Computer Science 问题与讨论 • 查看最新操作系统领域顶级会议网站,列举出不同子领域中 的热门研究内容。 • 阅读推荐阅读[3],谈谈你对Unix哲学的理解。 • 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率。程序越精简越好,计算机语言不 限。例如,可以实现下面三种情况: (1)CPU的占用率固定在50%,为一条直线; (2)CPU的占用率为一条直线,但是具体占用率由命令行参数 决定(参数范围1~ 100); (3)CPU的占用率状态是一个正弦曲线。摘自《编程之美》 25 © Frontier Technologies in Computer Science 通识卓越课程 http://en.tjcities.com/index.php/works Thanks!