您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[华为]:软件吞噬一切,开源吞噬软件 - 发现报告
当前位置:首页/行业研究/报告详情/

软件吞噬一切,开源吞噬软件

信息技术2022-12-15-华为缠***
软件吞噬一切,开源吞噬软件

CommunicationsofHUAWEIRESEARCH 内部资料免费交流 准印证号:(粤BL)022060040 2022年12月 第3期(总第3期) 操作系统演进:历史、现在与展望第1页MindSpore:人工智能开源生态系统实践第18页技术使能艺术:新一代HDRVivid视频技术标准第122页 编委会: 廖恒,童文,肖新华,胡邦红,周慧慧,鲍丰,JeffXu,陈海波,陆品燕,张小俊,李瑞华,白博 索阅、投稿、建议和意见反馈,请联系: HWResearch@huawei.com 印刷数量:4000本 印刷单位:雅昌文化(集团)有限公司印刷地址:深圳市南山区深云路19号印刷日期:2022年12月16日 版权所有©2022 华为技术有限公司,保留一切权利。 华为研究 内部资料,免费交流 准印证号:(粤BL)022060040 主编: 廖恒 本期责任主编: 陈海波,陆品燕 基础,《随机游走与适应度函数相结合求解布尔可满足性问题》介绍了随机游走技术在SAT求解器算法中的重大突破; 域理论是编程语言及其分析工具最早的数学理论基础,《域理论与交互式计算》是一篇综述文章,详细介绍了域理论自上世纪六十年代以来的发展历史,以及在编程模型不断演进的过程中,如何被用于刻画交互、并发等行为。 “软件吞噬一切,开源吞噬软件”,《开源策略的制定与社区构建的度量》从企业开源策略的制定和企业开源社区的构建等方面阐述了企业如何利用开源发展生态经济,并推动产业数字化转型。 本分册还有很多优秀文章,内容面向软件领域的关键挑战,力求贴近产业热点,希望对读者有所启发。不当之处,也请多多批评指正! 陈海波 华为基础软件首席科学家 陆品燕 华为理论计算机首席科学家 编者按 欢迎大家来到《华为研究》软件与理论分册!软件正在重塑数字世界与物理世界,成为数字世界的核心基础设施。如何构建软件基础能力并突破软件核心技术,是现代企业乃至国家拥抱数字世界的核心抓手。 与物理世界的对象不同,软件是一种“看不见摸不着”的逻辑实体,可能也是人类迄今为止所设计的最复杂的系统,一个大型软件系统的代码往往可达数亿行。软件的发展有其客观规律,不存在一劳永逸的“银弹”。软件包含基础软件、应用软件与工具软件等不同类型,面向智能终端、嵌入式设备、云与企业IT等诸多产业,它们的发展规律各具特色,生态现状与需求也存在差异。软件的生命周期与供应链管理具有自身的独特性,支撑软件不断发展的软件理论也在不断演进。研究与掌握这些规律和理论,是我们研发出好软件的关键。 华为公司长期以来在软件与理论领域持续投入,不仅面向终端、联接、计算、云与智能驾驶等多产业构筑了良好的竞争力,通过可信及软件工程变革不断提升软件的工程与可信能力,还构建了欧拉和鸿蒙两大操作系统生态,从而推动了openEuler、OpenGuass、MindSpore、OpenHarmony等基础软件开源社区的建设。 本分册汇聚了华为公司在基础软件、软件理论以及开源社区构建等领域的专家观点与新近成果。 在基础软件领域,《操作系统演进:历史、现在与展望》从产业应用演进与硬件演进两个维度来分析操作系统发展轨迹、创新机遇与技术挑战,并介绍openEuler和OpenHarmony在技术演进方面的实践;《GaussDB:云原生分布式数据库》介绍了中央软件院高斯部开发的企业级分布式数据库平台GaussDBKernel,以及该平台的架构和主打特性; 《MindSpore:人工智能开源生态系统实践》介绍了深度学习框架MindSpore的主要架构与核心技术,以及在人工智能开源生态系统方面的实践探索;《华为毕昇编译器的创新与实践》在总结分析编译器技术演进的基础上,系统性地介绍了华为毕昇编译器的技术创新与实践,分析核心技术特性,并阐述了进一步演进和创新的技术方向。 在软件理论领域,《在线匹配领域的最新进展》介绍了在线匹配技术的最新学术进展;《面向组合优化的学习增强算法设计》介绍了在组合优化中运用AI技术的新近学术成果;求解器是一类非常重要的工具软件,也是工业软件的核心 基础软件 01 操作系统演进:历史、现在与展望 陈海波,钱梽杨,贾宁,胡欣蔚,李毅 12 GaussDB:云原生分布式数据库 AndyLi,任阳 18 MindSpore:人工智能开源生态系统实践 于璠,时北极,王紫东,金学峰,陈雷,苏腾,李锐锋,周斌,丁诚,谭焜 37 华为毕昇编译器的创新与实践 高耀清,华保健 软件理论 48 在线匹配领域的最新进展 唐志皓,张宇昊 58 面向组合优化的学习增强算法设计 黄棱潇,王彧弋,阎翔 79 随机游走与适应度函数相结合求解布尔可满足性问题 蔡少伟,姜滔 89 域理论与交互式计算 GlynnWinskel 软件技术与生态 102 开源策略的制定与社区构建的度量 侯培新,李自,王晔晖 113 智能汽车LiDAR辅助GNSS-RTK定位 HanGao,WeisongWen,Li-TaHsu,YongliangWang 122 技术使能艺术:新一代HDRVivid视频技术标准 余全合,徐巍炜,王弋川,张继武,陈虎,袁乐 基础软件 操作系统演进:历史、现在与展望 陈海波1,钱梽杨1,贾宁1,胡欣蔚1,李毅21中央软件院 2终端BG软件部 摘要 操作系统承上启下,向上服务应用,向下管理与挖潜硬件能力,是构建硬件生态与应用生态的关键。本文分别从产业与应用演进和硬件演进两个维度来分析其发展轨迹、创新机遇与技术挑战,并介绍openEuler和OpenHarmony的实践。 关键词 操作系统,openEuler,OpenHarmony 1引言 按照《计算机科学技术百科全书(第三版)》[1]的定义,操作系统是“管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件”。操作系统自诞生以来,其内涵与外延一直在不断扩大,早期的操作系统只包含操作系统内核与原始的Shell(如命令行终端),现代操作系统的功能不断扩大,包含了扩展操作系统内核管理与抽象硬件资源功能的操作系统服务以及为应用创建执行环境与管理应用执行的应用框架(如图1)。 操作系统在整个计算系统中发挥“承上启下”的关键作用。承上就是为应用提供运行时和开发环境服务,并在一些场景下还作为应用生态与云服务的入口;启下则是高效、安全地管理硬件,最大程度地发挥硬件潜力,并使能硬件生态。 本文将分别从产业与应用演进和硬件演进两个维度来观察和思考其发展轨迹,并从应用场景驱动与硬件驱动两个维度来展望操作系统发展方向。最后,本文将介绍openEuler和OpenHarmony的创新实践。 云服务 应用 操作系统应用框架 系统服务 内核 芯片和硬件 图1操作系统在整个计算系统中的定位 2产业演进中的操作系统 2.1操作系统伴随产业浪潮诞生与发展 回顾操作系统的发展史(见图2),在业界取得成功的操作系统通常都是伴随着产业浪潮诞生与发展的,并与产业互相促进。 在早期的计算机中软件硬件深度耦合,从而使得应用程序开发的专业性高、开发效率低,对更方便地使用计算机并进行应用开发的需求直接推动了编程语言和操作系统的诞生,也使得软硬件持续解耦。 1956年诞生的GM-NAAI/O[2]系统可以被称为操作系统的雏形,主要提供了输入和输出的管理系统。直到20世纪60年代,才形成了真正意义上的操作系统。在此之前,大型机的软件与硬件深度耦合,软件往往需要等待硬件研制后数年才得以研发成功上市,从而影响整体系统的上市节奏。1964年,IBM发布的OS/360[3]首次推动了软件与硬件解耦;并且,这一操作系统的复杂研制过程还催生了“软件工程”学科的开创性书籍《人月神话:软件项目管理之道》[4],该书对今天我们认识软件的复杂性仍然具有很强的现实指导意义。1969年,贝尔实验室的KenThompson和DennisRitchie在参加多任务信息与计算系统(MultiplexedInformationandComputingService,Multics)[5]的研究后,认为这一系统过于复杂,从而在简化Multics系统的设计理念的基础上研制了Unix操作系统 (原本叫Unics,其中的Uni-与Multics中Multiplexed对应)[6];基于此操作系统的理念,诞生了后续包括Linux在内的一系列操作系统。 20世纪80年代面世的一系列操作系统,推动了小型机到PC机和嵌入式的演进与发展。举例而言,QNX[7]诞生于1982年,广泛应用于嵌入式领域,当前在智能车领 域被广泛应用;VxWorks[8]诞生于1982年,主要在嵌入式和工业场景广泛使用;Windows的诞生则推动了PC的发展,并在随后的30多年时间里始终在个人电脑和PC服务器市场上占据主流地位;此外,前文提及的1991年诞 用户数:数万 用户数:10亿+用户数:30亿+用户数:40亿+ 联接数:1000亿 主机PC&嵌入式PC互联网移动互联网万物智联 1960s 1980s1990s2010s 2020s •OS/360(1964) •Unix(1969) •QNX/VxWorks(1982) •Windows(1985) •Linux(1991) •iOS(2007) ? •Android(2008) 图2操作系统与产业应用的共生发展历史 生的Linux系统,推动了PC服务器和云计算的发展。 iOS和Android等移动操作系统的诞生则推动了手机等移动设备从功能机走向智能机,并伴随着移动互联网的发展,成为移动互联网时代的王者。 面向未来,随着信息技术(InformationTechnology,IT)、通信技术(CommunicationTechnology,CT)和运营技术(OperationalTechnology,OT)的逐步融合,以及人工智能(ArtificialIntelligence,AI)与5G等技术的发展,操作系统将迎来万物智联的新发展机遇与挑战。 3.2操作系统的成功要素也伴随着产业不断演进 操作系统所承载的价值和成功要素也在不断演进,大致经历了硬件附属、作为独立的软件产品、作为生态与云服务入口以及赋能和赋智千行百业等阶段(见图3)。 早期的操作系统(IBMOS/360和早期的Unix等)作为硬件的附属品,其价值也依附于硬件的价值产生。例如,IBMOS/360作为IBM大型机的附属而体现其价值。彼时,硬件设备性能约束大,在这个阶段的操作系统关键的成功要素是性能。 20世纪80年代以来,操作系统逐步成为一个独立的软件产品。例如,Windows就是这一阶段作为独立的软件产品销售的典型代表。由于软件的可复制性非常强,销售软件授权(License)可以获得巨大价值,这使得微软在很长一段时间内都是市值最高的IT公司之一。这一阶段,操作系统获得成功的关键要素是通用。Windows对设备的兼容性和应用的通用性,推动了PC时代的发展。 2000年以后,操作系统的商业模式逐步演进为作为生态与云服务的入口。例如苹果iOS+iCloud+AppStore与安卓+GMS+应用市场形式,通过提供一个生态入口,加上与云的连接,形成一个非常强大的生态,它的成功因素主要是生态的粘性。 展望未来,随着数字世界进入每个人、每个家庭、每个组织,从而构建万物互联的智能世界,操作系统支撑这一战略的关键是要能够赋能、赋智各行各业,而其核心成功要素是柔性和智能。 需要强调的是,上述四种模式并不是替代关系,而是逐步演进的,旧的模式在相当长的时期里会一直存在。面向未来,我们将看到多种形态的共存。例如,操作系统将持续支撑设备类产品的竞争力,操作系统作为生态与云服务入口的方式方兴未艾,同时业界也在积极探索如何赋能、赋智千行百业。 OS的价值 赋能、赋智千行百业 •成功要素:柔性、智能 硬件附属 •成功要素:性能 •例如:IBMOS/360和Unix 独立的软件产品 •成功要素:通用 •例如