关于操作系统知识详细解读

描述

一、操作系统是基础软件,分为闭源和开源两类

广义的操作系统包括:计算机(PC、工作站、服务器)系统、移动端系统(例如鸿蒙)、嵌入式系统 等。本篇报告只涉及计算机操作系统。

计算机操作系统的功能角色:作为用户和计算机硬件资源之间的交互,管理调度硬件资源,为应用 软件提供运行环境。操作系统属于基础软件,是系统级程序的汇集,为用户屏蔽底层硬件复杂度, 并提供编程接口和操作入口。

cpu

操作系统控制处理器(CPU)调度系统资源,控制应用程序执行的时机, 决定各个程序分配的处理器时间(CPU time)。操作系统需要兼容底层硬件和应用软件,才能实现计 算机的功能。

cpu

根据核心代码是否向开放,操作系统可划分为两类:开源系统、闭源系统。

1. 闭源操作系统:代码不开放,以微软 Windows 系统为代表

微软公司内部的研发团队开发 Windows 操作系统,并开发配套的应用软件,比如 Office。在生态 建设方面,Intel 和 Windows 长期合作形成 Wintel 体系,在 PC 端市占率全球领先

cpu

Windows 系统的访问分为 User mode(用户模式)和 Kernel mode(内核模式)。用户级的应用程序在 用户模式中运行,而系统级的程序在内核模式中运行。

内核模式允许访问所有的系统内存和 CPU 指令。Windows 系统从最早期的 16 位、32 位到现在流行的 64 位,系统版本从最初的 Windows 1.0 到 Windows 95、Windows 98、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10 和 Windows Server 服务器企业级 操作系统,不断持续更新。

cpu

Windows 系统最大的优势在于图形界面,使得普通用户操作起来非常便利。相比大部分 Linux 系 统,windows 的常用软件安装和系统设置不需要以命令行的方式去输入系统指令,只需要点击“按 钮”即可完成。如今,绝大多数常见软件、专用软件和底层硬件都支持 Windows 操作系统,形成 了 Window 强大的生态整体。

2. 开源操作系统:代码免费开放,以 Linux 操作系统为代表

Linux kernel(内核)由 Linus Torvalds 在 1991 年发布,代码免费公开,由全球开发者共同贡献, 已成为影响最广泛的开源软件项目。以 Linux 内核为基础,不同的开发团体(开源社区、企业、个 人等)对内核代码进行一定的修改和补充,加入 GUI(图形界面)、应用等部分,形成了相应的 Linux 操作系统发行版。

Linux 系统版本之间存在衍生关系,由此形成 RedHat、Slackware、Debian 等几大家族,各家族 内部又衍生出一些著名版本,如 Ubuntu、SUSE、CentOS、Red Hat Enterprise Linux、Fedora 等。

cpu

Linux kernel 是开源项目,由全球范围的开发者(企业、团体、独立开发者)共同贡献源代码。Linux 的官方组织是 Linux 基金会,作为非盈利的联盟,协调和推动 Linux 系统的发展,以及宣传、保护 和规范 Linux。Linux 基金会由开源码发展实验室(Open Source Development Labs,OSDL)与自 由标准组织(Free Standards Group ,FSG) 于 2007 年联合成立。

cpu

开源社区是 Linux 系统的创新源泉和主要的开发场所。Linux 操作系统发行版分为社区版本和商 业版本。社区版本数量较多,其开发和维护的主体是开源社区。少数的商业版本(比如红帽企业版) 则是在社区版本的基础上,进一步优化而来。整体来看,无论是否涉及商业活动,开源社区是 Linux 发行版的创新来源和主要的开发场所。而成熟的开源社区通常由相应的开源基金会(或者项目委员 会)进行管理。开源基金会为开发社区制定了规则,进行资源管理,负责可能的商务对接,以及保 护社区的健康运转。社区的开源基金会(委员会)一般由开源贡献方进行赞助和决策支持。

cpu

许多开源社区背后都有一个主导企业,为社区提供资金和研究支撑,甚至直接委派员工参与开源 项目。例如,Fedora 社区的核心开发者中 1/3 是红帽的正式雇员。通过资助和维护开源社区的方 式,企业可以发挥研究力量的“杠杆”作用,通过向社区输入自有的研究资源,吸引更多的外部贡 献者参与进来,扩大创意来源;另一方面,开源社区版本也成为企业扩大技术影响力的重要途径。

cpu

Linux 操作系统由 4 部分组成:kernel、shell、文件系统、应用程序。Kernel(内核)是操作系统的 核心,不同于 windows 的内核,Linux 的内核不仅实现了进程调度、内存管理、中断处理、异常陷 阱处理,而且还实现了进程管理、进程通信机制、虚拟内存管理、文件系统驱动和 USB、网络、声 音等各类设备驱动子系统,决定了整个系统的性能和稳定性。而 shell 是系统的用户界面,提供用 户与内核交互的接口,接收用户输入的命令并送入内核去执行。

cpu

Linux 操作系统主要的优势领域是服务器和嵌入式。据 Linux 基金会统计,全球 90%的公有云平 台采用了 Linux 系统,99%的超算和 62%的嵌入式设备也都是基于 Linux。亚马逊 AWS、微软 Azure、微软 Azure、谷歌云平台和阿里云等主流云服务商,都提供了 Linux 系统方案。全球公有 云平台运行的所有应用,超过 54%是运行在 Linux 虚拟机上。甚至微软 Azure 的近 30%的虚拟机 也是基于 Linux。根据 IDC 在 2017 年的统计数据,全球服务器操作系统使用份额(免费+付费)中, 68%是 Linux 服务器操作系统。

cpu

Linux 操作系统在服务器领域的普及,主要由于 3 个方面:

1)创新方面,集思广益。全球开发者对 Linux 内核保持了持续的更新,提供了充足的创新动力。据 GitStats 分析结果,截至 2018 年 9 月,已有超过 19000 名开发者为 Linux 内核贡献了代码, 这些开发者遍布全球范围超过1500个组织/企业。广泛分布的开发者,从不同视角不同方面对Linux 内核的补充,使得 Linux 系统得以快速适应服务器领域的变化。

2)系统代码可以修改和自定义,用户可调用计算机资源的自由度极高。Linux 操作系统的使用者 可以轻松查看系统代码,可以自由修改代码来修补常见的问题,也可以开发自己的程序并添加入 Linux 操作系统中。相比 Windows 等闭源系统,Linux 支持了使用者对于计算机资源极大的使用自 由度,支持专业用户去构建和自定义服务器,由此获得了互联网公司、云计算公司的青睐。

3)运行效率高,运维成本低。Linux 系统在服务器上面的运行效率较高,相对比较轻量化,除非硬 件资源分配出现问题,不易出现系统卡死状况。而且 Linux 系统天然地支持虚拟化。因此,在服务 器集群上,Linux 系统的运维成本较低。

4)安全。Linux 从发展根源上就是针对多用户系统设计的,系统管理员和 root 用户具有系统管理 权限。Linux 面向全球开发者开源,系统文件都是文档,在全球开发者多次的筛查和更新中,基本 排除了“后门植入”的可能。实际应用中,普通不成熟的 Linux 操作系统确实可能存在安全问题, 也是和系统的文档属性有关。例如,用户 root 权限和 sudo 指令可在有意或无意间修改 Linux 系 统文档,可能会对其他用户或整个系统造成不利影响。因此,成熟的 Linux 操作系统解决方案,有 必要对这类属性进行设计方面的防范,去进行适当的权限屏蔽。而这些安全属性的设计,本质上并 不存在难以解决的障碍。

二、国产操作系统是新基建的重要基础数字经济成为我国经济发展的重要支撑

近年来,中国经济发展的环境发生重大变化,人口红利、 城镇化等驱动因素对增长的边际贡献下降,传统调控手段负面效应增加,中国经济增长面临一定的 下行压力。而数字经济的快速发展,以互联网、大数据、云计算、人工智能、区块链、物联网等为 代表的新一代数字科技与实体经济的日趋融合,新市场与新业态的层出不穷,为中国经济增长注入 了新的源泉。据中国信息通信研究院《中国数字经济发展与就业白皮书(2019)》显示,2018 年 中国数字经济规模占 GDP 比重达 34.8%,对 GDP 增长的贡献率超过三分之二;2016—2018 年,数字经济连续 3 年维持 20%以上的名义增速,高于同期 GDP 名义增速十余个百分点,为中国经济 提供了重要支撑。

新一轮数字经济基础建设拉开序幕。2020 年 3 月 4 日,中共中央政治局常务委员会会议强调,加 快 5G 网络、数据中心等新型基础设施建设进度。新一轮数字经济基础建设启动,各地纷纷出台相 应政策推动新基建项目的实施。

操作系统作为软件应用的基础和平台,直接关系到信息安全。棱镜门事件,使得信息安全正式成为 国际关注的重要问题。而操作系统作为最重要最根本的基础软件,是所有应用软件和数据处理场景 的基础和平台,直接关系到信息安全。在过去的国际贸易摩擦中,针对基础软硬件(芯片、操作系 统等)的限制事件再一次提升了信创战略的重要性。

操作系统的 Wintel 体系垄断,也对信息安全造成了不利影响。在 Windows XP 停服三年后,全球 迎来了史上最严重的一次病毒攻击—WannaCry 借“永恒之蓝”漏洞发起攻击,袭击了安装 Windows 系统的设备,对全国多个国家造成了较为严重的经济损失。2020 年 1 月 14 日,微软 win7 停服,使得现有已安装 win7 系统的设备再次暴露于漏洞风险中。因此,在关键领域推广国产 操作系统,已经成为迫切需求。

三、国产操作系统的生态是关键,开源是重要途径

壁操作系统的行业垒:开发成本高、生态建设难

1. 操作系统开发成本高

计算机操作系统开发是一项庞大而复杂的工程。软件开发工作量可以用代码行数进行粗略表征。主 流的操作系统代码量都比较庞大,而且随着版本升级呈增长趋势。据公开可查证资料显示, Windows Vista(2007)有5000万行代码, Windows 7(2009)和Windows XP(2001)各有4000万行, Windows 2000 有 2900 万行代码,相比 1992 年的版本增长了数十倍。

cpu

对于 Linux 操作系统,仅 Linux 内核 4.13 就包含 6 万个系统文件,代码量近 2500 万行。成熟的 Linux 操作系统发行版需要 在内核基础上加入 GUI 以及必要的应用文件,总的代码量会更高。

cpu

如果采用闭源的开发方式,操作系统开发所需要的资金和人力资源较大。比如微软,一方面要进行 Windows 系列的开发、升级和维护,另一方面也要为 Windows 系统开 发关键的应用软件,包括 Office、Microsoft Visual Studio(集成开发环境 IDE)等,每年的研发费用 达百亿美元。2019 财年(18 年 6 月-19 年 6 月)微软的研发费用 169 亿美元,员工达 14.4 万人。

cpu

如果假设 Linux 操作系统都是闭源开发的,相应的成本也比较高。据“ Linux 中国”官方账号报道, David A. Wheeler 等研究了 Linux 发行版代码行数代表的复杂性,指出 Linux 2002 年发行版对 应的闭源开发成本为 12 亿美元。而如果闭源开发 Fedora 9 发行版(2008 年发布),估计需要投入 108 亿美元。从开发者数量角度,据 GitStats 分析结果,截至 2018 年 9 月,已有超过 19000 名 开发者为 Linux 内核贡献了代码,这些开发者遍布全球范围超过 1500 个组织/企业。

2.操作系统生态建设难

操作系统的生态建设,首先在于完善的软/硬件兼容适配。

操作系统和底层硬件、应用软件的兼容,在技术上并不是轻易就能实现。在适配底层硬件层面,引 用龙芯技术专家的观点“操作系统需要针对不同的主板和升级后的CPU进行磨合适配,而在Wintel 体系中可以实现不同主板及 CPU 的操作系统二进制兼容,其背后是 Wintel 体系统一的系统架构,包括指令系统、地址空间布局、中断系统、多核互联架构、IO 接口规范等,需要 CPU、BIOS、桥 片、操作系统配合完成。”在应用软件方面,需要软件开发商针对操作系统的版本进行相应的调试 和调优,同款应用软件经常有多个版本以适应不同的操作系统。

cpu

操作系统对软/硬件的兼容是双向的,需要操作系统技术路线有足够的影响力。兼容不只是需要操 作系统自身的努力,也要硬件/应用软件厂商主动配合,在硬件/软件产品设计方面进行适当调整。在操作系统技术路线的影响力足够强的前提下,硬件/软件厂商才有足够强的动机进行配合。

在生态兼容方面,主流操作系统推出时间都比较早,经历了多次的版本迭代,和硬件、应用软件厂 商共同成长,先发优势显著。Windows 生态建设:在个人 PC 机诞生初期,微软就推出了操作系 统软件,凭借发优势迅速普及。通过和芯片厂商、软件应用厂商以及自研应用的长期磨合,Windows 系统如今已具备庞大的用户群体和长期养成的用户习惯;Linux 生态建设:Linux 内核开源通过全 球开发者和主流 IT 厂商的参与,经历了多代升级和完善,获得了较广泛的软硬件支持,但部分专 业软件(特别是某些大型商业软件)尚未支持 Linux 架构。

获取用户群体也是生态建设的难点。从用户选择角度,新的操作系统厂商面临 4 个挑战:用户习 惯、服务支持力度、安全、迁移成本。在用户习惯方面,普通用户养成了对 Windows 图形界面的 使用习惯,缺乏足够的动力去主动选择陌生界面的操作系统;在服务和支持力度方面,企业级用户 强调软件产品的稳定性,需要有较强的服务和技术团队去及时对接用户,以及满足用户的部分定制 化需求;从安全角度,操作系统这里基础软件,直接关系到用户的信息安全,供应商要有足够的技 术实力去解决可能出现的漏洞、网络攻击等风险;迁移成本也很重要,选择新的操作系统,则需要 用户把部分软件和数据迁移过去,产生迁移成本,操作系统供应商要有足够的技术实力解决迁移问 题。

我们认为,国产操作系统理想的发展路径:自主版本形成——建立初步、稳定的用户群体——“可 用”向“好用”升级——实现市场良性循环。

cpu

1)选择适当的技术路线,形成自主版本。最佳的选择是基于开源资源。在 Linux 内核的基础上, 进一步开发形成自主的操作系统版本,缩短开发时间周期同时节约开发成本。“站在巨人的肩膀 上”,采用开源内核,省去了重复造轮子的过程,操作系统厂商可以把精力集中于提升用户体验和 生态推广方面。事实上,国产操作系统基本上都以 Linux 内核为基础进行开发。

2)通过政策支持形成初步、稳定的用户群体,达到“可用”状态。在政策支持下,有望初步形成 稳定的、成规模的用户群体。而用户群体的建立,提高了软/硬件厂商的适配意愿。在完成常用软/ 硬件生态建设的基础上,产品达到“可用”层面,基本满足用户日常的办公需求。

3)“可用”到“好用”升级,进入市场良性循环阶段,扩大用户群体。在对初步的客户群体进行 服务和技术支持的过程中,厂商不断完善系统版本,通过版本迭代提升产品性能,逐渐达到“好用”, 进入良性的市场循环。
编辑:lyn

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分