科普操作系统与芯片那些事儿

科普操作系统与芯片那些事儿

Posted by 陈谭军 on Monday, November 22, 2021 | 阅读 |,阅读约 23 分钟

操作系统(operating system,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

操作系统

在计算机中,操作系统是其最基本也是最为重要的基础性系统软件。从计算机用户的角度来说,计算机操作系统体现为其提供的各项服务;从程序员的角度来说,其主要是指用户登录的界面或者接口;如果从设计人员的角度来说,就是指各式各样模块和单元之间的联系。事实上,全新操作系统的设计和改良的关键工作就是对体系结构的设计,经过几十年以来的发展,计算机操作系统已经由一开始的简单控制循环体发展成为较为复杂的分布式操作系统,再加上计算机用户需求的愈发多样化,计算机操作系统已经成为既复杂而又庞大的计算机软件系统之一。【百度百科】

基本概念

在信息化时代,软件被称为计算机系统的灵魂。而作为软件核心的操作系统,已经与现代计算机系统密不可分、融为一体。计算机系统自下而上可分为四个部分:硬件、操作系统、应用程序和用户(这里的划分与计算机组成原理的分层不同)。

操作系统管理各种计算机硬件,为应用程序提供基础,并充当计算机硬件与用户之间的中介。硬件,如中央处理器、内存、输入/输出设备等,提供了基本的计算资源。应用程序, 如字处理程序、电子制表软件、编译器、网络浏览器等,规定了按何种方式使用这些资源来解决用户的计算问题。操作系统控制和协调各用户的应用程序对硬件的分配与使用。在计算机系统的运行过程中,操作系统提供了正确使用这些资源的方法。综上所述,操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。计算机操作系统是随着计算机研究和应用的发展逐步形成并发展起来的,它是计算机系统中最基本的系统软件。

发展历史

纵观计算机之历史,操作系统与计算机硬件的发展息息相关。操作系统之本意原为提供简单的工作排序能力,后为辅助更新更复杂的硬件设施而渐渐演化。从最早的批量模式开始,分时机制也随之出现,在多处理器时代来临时,操作系统也随之添加多处理器协调功能,甚至是分布式系统的协调功能。其他方面的演变也类似于此。另一方面,个人计算机之操作系统模仿大型机的成长之路,在硬件越来越复杂、强大时,也逐步实现以往只有大型机才有的功能。

从1946年诞生第一台电子计算机以来,它的每一代进化都以减少成本、缩小体积、降低功耗、增大容量和提高性能为目标,随着计算机硬件的发展,同时也加速了操作系统(简称OS)的形成和发展。最初的电脑没有操作系统,人们通过各种按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由制作人员自己编写程序来运行,不利于程序、设备的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。 随着计算技术和大规模集成电路的发展,微型计算机迅速发展起来。从20世纪70年代中期开始出现了计算机操作系统。在美国1976年的时候就研制了DIGITAL RESEARCH软件公司出8位的CP/M操作系统。这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现其他设备文件或硬盘文件的自动存取。此后出现的一些8位操作系统多采用CP/M结构。

操作系统主要包括以下几个方面的功能 :

  1. 进程管理,其工作主要是进程调度,在单用户单任务的情况下,处理器仅为一个用户的一个任务所独占, 进程管理的工作十分简单。但在多道程序或多用户的情况 下,组织多个作业或任务时,就要解决处理器的调度、 分配和回收等问题 。
  2. 存储管理分为几种功能:存储分配、存储共享、存储保护 、存储扩张。
  3. 设备管理分有以下功能:设备分配、设备传输控制 、设备独立性。
  4. 文件管理:文件存储空间的管理、目录管理 、文件操作管理、文件保护。
  5. 作业管理是负责处理用户提交的任何要求。

分类

体系结构

简单体系结构

计算机操作系统诞生初期,其体系结构就属于简单体系结构,由于当时各式各样影响因素的作用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操作系统结构呈现出一种混乱且结构模糊的状态,其操作系统的用户应用程序和其内核程序鱼龙混杂,甚至其运行的地址和空间都是一致的。这种操作系统实际上就是一系列过程和项目的简单组合,使用的模块方法也相对较为粗糙,因此导致其结构宏观上非常模糊。

单体内核结构

随着科学技术的不断发展和进步,硬件及其平台的水平和性能得到了很大程度的提高,其数量和种类也与日俱增,操作系统的复杂性也逐渐加深,其具备的功能以及性能越来越多,在此背景下,单体内核结构的操作系统诞生并得到了应用,例如UNIX操作系统、windows NT/XP等。一般情况下,单体内核结构的操作系统主要具备以下几种功能,分别是文件及内存管理、设备驱动、CPU调度以及网络协议处理等。由于内核的复杂性不断加深,相关的开发设计人员为了实现对其良好的控制,逐渐开始使用了一些较为成熟的模块化方法,并根据其不同的功能将其进行结构化,进而将其划分为诸多的模块,例如文件及内存管理模块、驱动模块、CPU调度模块及网络协议处理等。这些模块所使用的地址和空间与内核使用的完全一致,其以函数调用的方式构建了用于通讯的结构来实现各个模块之间的通讯。在使用模块化的方法以后,只要其通讯接口没有发生明显的变化,即使整个结构中的任何一个模块发生变化也不会对结构中的其他模块造成任何的影响,为其系统的维护和改良扩充提供了便利。虽然单体内核结构的计算机操作系统经过了模块化的处理,但是其中的全部模块仍然是在硬件之上、应用软件之下的操作系统核心中运转和工作。模块与模块之间活动的层次没有任何的差别。

层次式结构

层次式结构的计算机操作系统是为了减少以往操作系统中各个模块之间由于联系紧密而带来的各种问题而诞生的,其可以做大程度的减少甚至是避免循环调用现象的发生,确保调用有序,为操作系统设计目标的实现奠定了坚实的基础。在层次式结构的计算机操作系统之中,其是由诸多系统分为若干个层次的,其最底层是硬件技术,其他每一个层级均是建立在其下一层级之上的。在设计其计算机操作系统内核时,主要采用与抽象数据类型十分类似的设计方法进行的,在系统中的每一个层级均包含着多种数据和操作,且每一个的数据和操作是其他层不可见的,在每一层当中都配备了用于其他层使用的一操作接口,同时每一层发生的访问行为只能针对其下层进行,不能访问其上层的数据和服务,严格遵守了调用规则,在很大程度上避免了其他层次对某一层次的干扰和破坏。对于理想的层次式计算机系统体系结构来说,其之间的联系不仅仅是单向依赖性的,同时各个层级之间也要具备相互的独立性,且只能对低层次的模块和功能进行调用,例如THE系统。但是这种理想的全序层次式计算机操作系统在现实中建成是较为困难的,其无法完全避免模块之间循环调用现象的出现,某个层级之间仍旧存在某种循环关系,这种层次式结构又被叫作半序层次式计算机操作系统,例如SUSE操作系统。

功能分类

计算机的操作系统根据不同的用途分为不同的种类,从功能角度分析,分别有实时系统、批处理系统、分时系统、网络操作系统等。

  1. 实时系统主要是指系统可以快速的对外部命令进行响应,在对应的时间里处理问题,协调系统工作。
  2. 分时系统可以实现用户的人机交互需要,多个用户共同使用一个主机,很大程度上节约了资源成本。分时系统具有多路性、独立性、交互性、及时性的优点,能够将用户-系统-终端任务实现。
  3. 批处理系统出现于20世纪60年代,批处理系统能够提高资源的利用率和系统的吞吐量。
  4. 网络操作系统是一种能代替操作系统的软件程序,是网络的心脏和灵魂,是向网络计算机提供服务的特殊的操作系统。借由网络达到互相传递数据与各种消息,分为服务器及客户端。而服务器的主要功能是管理服务器和网络上的各种资源和网络设备的共用,加以统合并控管流量,避免有瘫痪的可能性,而客户端就是有着能接收服务器所传递的数据来运用的功能,好让客户端可以清楚的搜索所需的资源。

操作实例分类

嵌入式

嵌入式系统使用非常广泛的系统(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能缩减版本的Linux或者其他操作系统。某些情况下,OS指称的是一个内置了固定应用软件的巨大泛用程序。在许多最简单的嵌入式系统中,所谓的OS就是指其上唯一的应用程序。iOS是由苹果公司开发的手持设备操作系统。Android是一种基于Linux的自由及开放源代码的操作系统。

类 Unix

所谓的类Unix家族指的是一族种类繁多的OS,此族包含了System V、BSD与Linux。由于Unix是The Open Group的注册商标,特指遵守此公司定义的行为的操作系统。而类Unix通常指的是比原先的Unix包含更多特征的OS。类Unix系统可在非常多的处理器架构下运行,在服务器系统上有很高的使用率,例如大专院校或工程应用的工作站。

1991年,芬兰学生林纳斯·托瓦兹根据类Unix系统Minix编写并发布了Linux操作系统内核,其后在理查德·斯托曼的建议下以GNU通用公共许可证发布,成为自由软件Unix变种. Linux近来越来越受欢迎,它们也在个人桌面计算机市场上大有斩获,例如Ubuntu系统。

某些Unix变种,例如惠普的HP-UX以及IBM的AIX仅设计用于自家的硬件产品上,而SUN的Solaris可安装于自家的硬件或x86计算机上。苹果计算机的Mac OS X是一个从NeXTSTEP、Mach以及FreeBSD共同派生出来的微内核BSD系统,此OS取代了苹果计算机早期非Unix家族的Mac OS。

经历数年的披荆斩棘,自由开源的Linux系统逐渐蚕食以往专利软件的专业领域,例如以往计算机动画运算巨擘──硅谷图形公司(SGI)的IRIX系统已被Linux家族及贝尔实验室研发小组设计的九号项目与Inferno系统取代,皆用于分散表达式环境。它们并不像其他Unix系统,而是选择内置图形用户界面。九号项目原先并不普及,因为它刚推出时并非自由软件。后来在自由及开源软件许可证Lucent Public License发布后,便开始拥有广大的用户及社群。Inferno已被售予Vita Nuova并以GPL/MIT许可证发布。

Microsoft Windows

Microsoft Windows系列操作系统是在微软给IBM机器设计的MS-DOS的基础上设计的图形操作系统。现在的Windows系统,如Windows 2000、Windows XP皆是创建于现代的Windows NT内核。NT内核是由OS/2和OpenVMS等系统上借用来的。Windows可以在32位和64位的Intel和AMD的处理器上运行,但是早期的版本也可以在DEC Alpha、MIPS与PowerPC架构上运行。虽然由于人们对于开放源代码操作系统兴趣的提升,Windows的市场占有率有所下降,但是到2004年为止,Windows操作系统在世界范围内占据了桌面操作系统90%的市场。Windows系统也被用在低级和中阶服务器上,并且支持网页服务的数据库服务等一些功能。最近微软花费了很大研究与开发的经费用于使Windows拥有能运行企业的大型程序的能力。

Windows XP在2001年10月25日发布,2004年8月24日发布服务包2(Service Pack 2),2008年4月21日发布最新的服务包3(Service Pack 3)。

Windows 7,是由微软公司(Microsoft)开发的操作系统,内核版本号为Windows NT 6.1。Windows 7可供家庭及商业工作环境:笔记本电脑 、多媒体中心等使用。和同为NT6成员的Windows Vista一脉相承,Windows 7继承了包括Aero风格等多项功能,并且在此基础上增添了些许功能。

Windows 10是由美国微软公司开发的应用于计算机和平板电脑的操作系统,于2015年7月29日发布正式版。

Windows 10操作系统在易用性和安全性方面有了极大的提升,除了针对云服务、智能移动设备、自然人机交互等新技术进行融合外,还对固态硬盘、生物识别、高分辨率屏幕等硬件进行了优化完善与支持。截至2020年3月6日,Windows 10正式版已更新至十一月更新10.0.18363版本。微软上一款操作系统Windows Vista(开发代码为Longhorn)于2007年1月30日发售。Windows Vista增加了许多功能,尤其是系统的安全性和网上管理功能,并且其拥有接口华丽的Aero Glass。但是整体而言,其在全球市场上的口碑却并不是很好。其后继者Windows 7则是于2009年10月22日发售,Windows 7改善了Windows Vista为人诟病的性能问题,相较于Windows Vista,在同样的硬件环境下,Windows 7的表现较Windows Vista为好。而最新的Windows 10则是于2015年7月29日发售。

MacOS X

macOS,前称“MacOS X”或“OS X”,是一套运行于苹果Macintosh系列计算机上的操作系统。Mac OS是首个在商用领域成功的图形用户界面系统。Macintosh开发成员包括比尔·阿特金森(Bill Atkinson)、杰夫·拉斯金(Jef Raskin)和安迪·赫茨菲尔德(Andy Hertzfeld)。从OS X 10.8开始在名字中去掉Mac,仅保留OS X和版本号。2016年6月13日在WWDC2016上,苹果公司将OS X更名为macOS,现行的最新的系统版本是11.0 Big Sur,即macOS Big Sur。

Google Chrome OS

Google Chrome OS是一项Google的轻型的、基于网络的计算机操作系统计划,其基于Google的浏览器Google Chrome的Linux内核。

Linux 主要发行版本

Redhat 系列

目前许多高手都使用它,长相一般但却很强悍,一般是Linux高手的首选系统,相比之下就是桌面系统有点不大一样,拥有强大的rpm软件包管理系统,界面更加简洁,如果你不喜欢太多花哨的桌面系统可以考虑用它!Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的RedhatAdvance Server,收费版本)、FedoraCore(由原来的Redhat桌面版本发展而来,免费版本)。CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。非常遗憾的是,2020年12月8日,红帽突然官网宣布,CentOS 8 将在2021年底停止维护,CentOS 7 将维护到2024年6月30日。不知道红帽这个决定是英明还是愚蠢。

Debian系列

Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch):stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去。由于优秀的稳定性,Ubuntu和Debian在服务器领域应用广泛。据 W3Tech 的统计,Ubuntu 是最受欢迎的 Linux 服务器操作系统,占47.5% ,CentOS 排名第二,占18.8% ,Debian 排名第三,占17.5%。

Gentoo 系列

Gentoo,伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——Portage包管理系统。不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux发行版本里安装最复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

FreeBSD 系列

需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而 current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编译后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。

OpenSUSE 系列

在欧洲非常流行的一个Linux,由Novell公司发放,号称是世界上最华丽的操作系统,独家开发的软件管理程序zypper|| yast得到了许多用户的赞美,和ubuntu一样,支持kde和gnome,xface等桌面,桌面特效比较丰富,缺点是KDE虽然华丽多彩,但比较不 稳定。新手用这个也很容易上手。

操作系统主要组成部分

操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面,输入命令。操作系统则对命令进行解释,驱动硬件设备,实现用户要求。以现代标准而言,一个标准PC的操作系统应该提供以下的功能:

  1. 进程管理(Processing management)
  2. 内存管理(Memory management)
  3. 文件系统(File system)
  4. 网络通信(Networking)
  5. 安全机制(Security)
  6. 用户界面(User interface)
  7. 驱动程序(Device drivers)

常见芯片架构

提到芯片架构,就不得不说CPU,因为架构的发明离不开它。CPU也叫中央处理器,是一块超大规模的集成电路,主要包括运算器和高速缓冲存储器及实现它们之间联系的数据、控制及状态的总线。

CPU的核心是各种类型的芯片,芯片架构是造芯的第一步。目前市场上主流的芯片架构有X86、ARM、RiSC-V和MIPS四种。ARM和X86架构最显著的差别是使用的指令集不同。

ARM主要是面向移动、低功耗领域,因此在设计上更偏重节能、能效方面。X86处理器主要面向家用、商用领域,在性能和兼容性方面做得更好。

RiSC-V架构是基于精简指令集计算(RISC)原理建立的开放指令集架构(ISA),RISC-V是在指令集不断发展和成熟的基础上建立的全新指令。RISC-V指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。 RiSC-V架构的起步相对较晚,但发展很快。它可以根据具体场景选择适合指令集的指令集架构。基于RISC-V指令集架构可以设计服务器CPU,家用电器cpu,工控cpu和用在比指头小的传感器中的CPU。

MIPS架构是一种采取精简指令集(RISC)的处理器架构,1981年出现,由MIPS科技公司开发并授权,它是基于一种固定长度的定期编码指令集,并采用导入/存储(load/store)数据模型。经改进,这种架构可支持高级语言的优化执行。其算术和逻辑运算采用三个操作数的形式,允许编译器优化复杂的表达式。如今基于该架构的芯片广泛被使用在许多电子产品、网络设备、个人娱乐装置与商业装置上。最早的MIPS架构是32位,最新的版本已经变成64位。

每一种架构都有自己的优势和不足,天下并没有所谓的“万能芯片架构”。如X86架构是英特尔和AMD的“专属”,在PC市场上独霸多年,地位不可撼动;ARM的架构在移动端和便捷设备上有着不可替代的优势;MIPS架构的处理器在网关、机顶盒等市场上非常受欢迎;RiSC-V架构虽然出来不久,但在智能穿戴产品上的应用广泛,前景广阔。

ARM架构和X86架构是市场份额最大的两大架构,它们有着各自的特点和市场。目前在移动领域上ARM架构占主流,X86架构也占有一定的市场份额。X86架构由于其封闭性,相对于ARM架构成本更高,但有着更高的性能、更快的速度和兼容性。英特尔近几年也在逐步的布局移动市场,如其推出的X86架构凌动系列处理器,在速度、视频体验、兼容性等方面表现优异。

举例

  1. x86:是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA-32”。
  2. x86_64:是 x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。
  3. AMD64:比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。AMD64,又称“x86-64”或“x64”,是一种64位元的电脑处理器架构。它是建基于现有32位元的x86架构,由AMD公司所开发,应用 AMD64指令集的自家产品有Athlon 64、Athlon 64 FX、Athlon 64 X2、Turion 64、Opteron及最新的Sempron处理器。x86_64,x64,AMD64基本上是同一个东西。

ARM 微处理器目前包括下面几个系列,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。其目前有Classic系列、Cortex-M系列、Cortex-R系列、Cortex-A系列和Cortex-A50系列5个大类。Classic系列,该系列处理器由三个子系列组成:

  1. ARM7系列:基于ARMv3或ARMv4架构
  2. ARM9系列:基于ARMv5架构
  3. ARM11系列:基于ARMv6架构

ARM 系列分类

  1. Cortex-M系列,该系列处理器包括Cortex-M0、Cortex-M0+、Cortex-M1、Cortex-M3、Cortex-M4共5个子系列。该系列主要针对成本和功耗敏感的应用,如智能测量、人机接口设备、汽车和工业控制系统、家用电器、消费性产品和医疗器械等。
  2. Cortex-R系列,该系列处理器包括Cortex-R4、Cortex-R5、Cortex-R7共3个子系列。面向如汽车制动系统、动力传动解决方案、大容量存储控制器等深层嵌入式实时应用。
  3. Cortex-A系列,该系列处理器包括Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A12和Cortex-A15共6个子系列,用于具有高计算要求、运行丰富操作系统及提供交互媒体和图形体验的应用领域,如智能手机、平板电脑、汽车娱乐系统、数字电视等。Cortex-A50系列,基于ARMv8架构,允许在32位和64位之间进行完全的交互操作。

➜ ~ uname -a
Darwin MacintoshdeMacBook-Pro.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 arm64

国产操作系统

国产操作系统多为以Linux为基础二次开发的操作系统。2014年4月8日起,美国微软公司停止了对Windows XP SP3操作系统提供服务支持,这引起了社会和广大用户的广泛关注和对信息安全的担忧。而2020年对Windows7服务支持的终止再一次推动了国产系统的发展。

  1. 深度 Linux(deepin)
  2. 安超 OS(国产通用型云操作系统)
  3. 优麒麟(UbuntuKylin)(由中国CCN联合实验室支持和主导的开源项目)
  4. 中标麒麟(NeoKylin)(银河麒麟与中标普华已在2010年12月16日宣布合并品牌)
  5. 威科乐恩Linux(WiOS)
  6. 起点操作系统(StartOS 原雨林木风OS)
  7. 凝思磐石安全操作系统;
  8. 共创Linux
  9. 思普操作系统;
  10. 中科方德桌面操作系统
  11. 普华Linux(I-soft OS)
  12. RT-Thread RTOS
  13. 中兴新支点操作系统
  14. 一铭操作系统
  15. springLinux
  16. 红旗 linux(redflag linux)
  17. Veket Linux
  18. UOS(统信操作系统)
  19. AliOS(阿里云系统)(原Yun OS)
  20. PhoenixOS(凤凰系统)
  21. JideOS(技德系统)(原remixOS) 面向物联网的国产边缘计算操作系统
  22. HopeEdgeOS(面向物联网领域操作系统)
  23. openEuler(openEuler是华为推出的一个开源免费的Linux发行版系统)
  24. 鸿蒙 Harmony OS
  25. ……

总结与期待

未来的操作系统会是怎样的发展的呢?从用户端的角度出发,或者跟以下的使用场景有关?

  1. 处理器:目前是ARM发力挤压x86份额。当然x86份额实在是太大了以至于可能很多人并不看好arm在电脑端的发展。物联网领域RISC-V潜力很大。
  2. 大小核:个人使用对性能有需求只是在少数情境下。ARM已在使用。
  3. 操作系统:微内核、多平台统一、高度兼容、高度模块化、接口统一(redoxOS一切皆url,plan9一切皆文件)
  4. 计算:异构、并发等概念与编程语言深度结合(这里了解一下Rust、Go等现代语言)。
  5. :Plan9 思想,这个难度非常大,比如把处理器核心放到网络上、显卡计算核心放到网络上。不过性能损耗会很大。但云存储未来在国内还有发展空间。个人存储维护太心累。Plan9 中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是一个文件,网络是一个文件,任何的东西都是一个文件。
  6. 兼容性:兼容性包袱我希望是抛弃的。希望未来的硬件在运行兼容层时性能也不会差。
  7. 多端协同:这里提个假设,手机电脑、穿戴式设备如手表都运行同样的操作系统。这样移植工作就会非常简单,几乎只需要界面适配。mac抛弃intel转向arm就可以比较轻松实现这个。
  8. 续航:也得看电池发展。当然穿戴式设备要求节能很高,节能也会对手机有利。目前国内的软件也算是比较不在乎给用户省电吧,看那自启动就知道了,小米的隐私保护已经被国家一定程度认可了。
  9. 云性能:如果“云”那个实现的好的话,那么以后可能就会有大型云电脑提供商。比如我出门只需要带一个低配置笔记本电脑,续航久,我只需要联网就可以连接远程电脑。
  10. 网络、压缩技术等:目前视频编码都在想办法普及H.265,还有更多类似的可以了解一下。此外还有基于UDP的QUIC(http3.0),算是抛弃了一部分tcp的包袱。
  11. 前端化:现在“小程序”越来越多,简单需求和中等需求软件的GUI都可以直接放到web上了。高需求指游戏之类的和大型软件。WASM也是个新技术。AutoCAD这么大的软件都能放到web上,就靠wasm。还有微软的office在线,简直就是教科书级别的东西。当然国内条件特殊,这些外边的网页版本软件体验会很烂。VSCode之类的很多新软件的界面也都是类似前端的。
  12. ……