1、Internet环境下的操作系统发展(节选),北京大学信息科学技术学院杨芙清2005年10月,下一代软件技术发展趋势,软件 是客观世界中问题空间与解空间的 具体描述 追求 表达能力强、更符合人类思维模式 具有易构造性和易演化性的计算模型软件工程 应用 计算机科学理论和技术 以及 工程管理原则和方法,按预算和进度, 实现 满足用户要求的软件产品的 定义、开发、发布和维护的工程 或以之为研究对象的学科。 (计算机大百科全书),构造性 软件 是 典型的知识产品 是 客观世界中 问题空间与解空间的 具体描述,软件 是有结构的,构造性 是软件的本质特性,传统的软件开发 是 个体作坊式的主要 解决功能问题
2、较少 考虑结构问题造成 软件 复杂度 高维护难度 大 可靠性 差,软件的本质特性构造性和演化性,软件 是 客观事物的一种反映是 知识的提炼 知识的体现知识的固化,演化性,客观世界不断发展不断发生变化,软件系统不可能一成不变 新需求、新技术 不断出现 软件系统要 不断升级 不断演化,软件构件技术集中体现了软件的构造性随着软件规模及复杂性的增加算法 + 数据结构 的描述方式逐渐变得不足人们需要从整体上、从体系结构高度把握软件构件 + 构件之间的关系 是软件体系结构的具体内容,软件构件技术有力地支持软件的演化性软件的演化涉及软件系统在功能、性能、易用性等方面的改进对于大型软件系统的维护(演化)工作
3、占据开发单位总开销的50-75%目前“打补丁”(patched)式的“演化”方式 限制了软件的演化能力基于构件技术开发软件 采用构件的集成组装方式生成软件 易描述、易配置、易演化 提高了软件的演化能力, 软硬件之间的异构性 促进 软件技术的发展,为屏蔽计算机硬件的异构性,发展了操作系统,.NET/COM,Web Services,J2EE/EJB,Windows,C/C+语言,支撑软件中间件,为屏蔽操作系统和编程语言的异构性,发展了支撑软件和中间件,Fortran语言,为了弥补应用软件与开发平台之间的距离,发展了软件框架、设计模式等技术,应用系统,体系结构 软件框架 设计模式,软件技术的发展不
4、断产生更新的、更复杂的异构性问题,如流程、安全、事务等方面的异构性,要求软件能够适应外部环境,从而促进软件技术的不断发展,Java语言,UNIX,无需掌握复杂的编程语言/过多的技术细节,就可以开发出满足需求的软件,用户只需关注高层建模、复用包含复杂技术细节的低层模型即可自动生成代码, 软件生产方式的变革 促进 软件技术的发展,手工作坊式软件开发,软件工业化生产,软件构件技术,中间件,网络,操作系统,由服务提供商,根据用户需求,快速正确地构造出相应服务,尽可能多地凝练共性并复用 降低开发应用软件的复杂度 以提高软件开发效率和质量, 软硬结合是发展的趋势 信息技术中 微电子是基础 软件是核心 通信
5、网络与计算机是载体SOC与嵌入式系统 是 软硬结合的典型例子政策: 关于鼓励软件和集成电路产业发展的若干政策 (国发200018号文件)振兴软件产业行动纲要(2002至2005) 国办发200247号文件,以产品为中心 向 以服务为中心 的转变,近期出现的应用服务提供商 (ASP: Application Service Provider)网络服务(Web Service) 等 皆体现了软件向服务发展的趋势发展过程 有服务:方便使用 有好服务:保证服务质量 个性化服务:满足不同个体的服务需求, 个性化服务满足不同个体的需求,Media Gateways,骨干网,媒体网关,服务器,连接,应用软件
6、与内容服务,通信应用与控制,客户,移动网,广电网,接入网,接入网,接入网,其他IP/多服务网络,其他电话网,管理,固网,移动数据,移动,移动电话,电话服务,IP电话,媒体服务,可视电话/视频会议,消息服务,位置服务, 随时随地计算 实现多种访问方式,Internet平台特征,无统一控制的分布性节点的自治性和不可预测性链接的开放性和动态性人、设备和软件的多重异构性使用方式的个性化和灵活性 网络连接环境的多样性,下一代软件基本形态,Internet环境及其应用:基础平台的开放性、动态性和多变性共享资源的多样性(信息、计算、服务)产业模式的服务化, Internet平台和环境的出现 对软件形态 技术
7、发展 理论研究 提供了 新的契机 提出了新的问题,自主性,协同性,反应性,演化性,多态性,自主性:软件实体具有相对独立性、主动性和自适应性,演化性:元素数目可变性、结构关系和形态的动态可调性,协同性:软件实体之间多种方式的互连、互通、协作和联盟,多态性:软件实体具有目标制导和多目标的特征协同能力,反应性:软件实体具有感知外部运行和使用环境的能力,网构软件是Internet开放、动态和多变环境下 软件系统基本形态的一种抽象 既是传统软件结构的自然延伸 又具有区别于传统软件形态的独有的基本特征,网构软件Internetware,下一代软件主要特征,高效 可信 统一的 虚拟资源,未来在Interne
8、t平台上进一步进行资源整合,形成 巨型的 高效 可信 统一的虚拟资源,使得 所有资源 能够 高效 可信的 为所有用户服务,遵循 软硬结合 系统与应用结合 开发 面向应用 实现一体化 面向个人 体现个性化实现 平台 网络化 方法 对象化 系统 构件化 产品 家族化 开发 工程化 过程 规范化 生产 规模化 竞争 国际化,软件技术的总体发展趋势,的 系统,OS对人才的要求,从事OS开发的软件人才要细致、严谨、认真要甘于寂寞、乐于奉献、责任感强要兴趣广泛,思路开阔,善于观察自然和社会要具有创新创业精神,需要“动静结合”一个优秀的软件人才 不仅要有过硬的技术 还要有良好的文化底蕴和艺术素养,Knowl
9、edge/Technology,人文社科,管理沟通,先进技术,英语交流,编程技术,专业技术,Skill,教 学 管 理,招生计划、培养方案、教学质量保证、学籍管理学科设置、论文答辩 、教学组织与实施 ,招生宣传、新生选课指导、选课指导、教学服务实习项目征集、认证培训、论文答辩 ,教 学 服 务,实习、论文,Practice/Engineering,多层次多领域多方向模块化开放式的课程体系,以课程体系为核心,逐步形成注重 知识、能力、素质 综合提高 的培养体系,实习、论文:工程实践能力,技能训练:专业技能外语能力,教学管理服务平台,核心课程体系 获取知识能力,Manage/Communicate,素质教育组织管理能力交流沟通能力,培养软件人才有效方式是产学研用相结合既重视学生的数学基础和英语能力 又结合大型项目的研发和产业化注重培养学生分析、解决实际问题的能力和团队协作精神软件产品是群体劳动的结晶 特别需要默契配合,紧密合作,谢谢,