为什么华为鸿蒙OS要采用微内核技术,微内核操作系统的前世今身

为什么华为鸿蒙OS要采用微内核技术,微内核操作系统的前世今身

华为的蒙鸿操作系统自发布以来受到了广泛的关注,其一大特点就是采用「微内核」架构。
我们学习操作系统课程的时候,讲到微内核由来已久,有众多天然优势,是未来系统的发展方向。可是事实上,真正进入工业级应用的微内核操作系统并不多。这个分歧主要是学术界和工业届的分歧,学术界认为,微内核是操作系统发展的主流方向,但一直以来工业界不这么认为。
当年Linus推出Linux以后,和他的老师AndrewTanenbaum(写Minix系统的牛人)就宏内核和微内核进行了激烈的辩论,即著名的“Tanenbaum–Torvaldsdebate”。
什么是「微内核」架构
微内核是指操作系统的最底层是一个包含最基本功能的Kernel(内核),这个内核通常只负责最基本的最底层的任务,如上下文切换、中断处理、进程间通信(IPC)和时钟处理等,而其他的系统任务,如硬件驱动,文件系统和内存管理都以用户态进程(即ring3)的形式运行,并且相互之间通过IPC进行通信。
宏内核则与之相反,所有的系统任务均在内核态(ring0)处理,系统模块之间通过函数调用方式进行交互。这两个不同架构模式的操作系统概念自提出已经过去了三十年(最早的微内核系统是由卡内基梅隆大学开发的Mach,于1985年被提出,之前的操作系统都是宏内核,如Unix等。
「微内核」优缺点
工业界和学界普遍认为微内核的优势在于内核很轻(通常C代码在10000行左右),因此攻击面和代码出错的可能性更低。微内核比宏内核依赖更为简单,而且大部分任务是以进程的方式运行,一旦出错只会影响到这个进程本身,稳定性更强。
另一方面,由于内核的精简化,所以这样的操作系统内核可以很方便的进行移植,由于这种内核是小型的,不包括其他功能性模块,可以让我们随意的拼凑,这样就是可以得到不同组合。如华为鸿蒙系统那样:
鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架。可用于大屏、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓。
不过微内核的整体性能不如宏内核,这对于追求性能的厂商而言,采用宏内核无可非议。我们平常接触到的操作系统,大多数都是宏内核,包括Windows系统和类Unix系统,微内核一度仅局限于研究目的。
但随着硬件和处理器性能的快速发展,摩尔定律和多核技术使得计算机基本处于过剩状态,而现在大部分性能问题可以说是软件造成的。而且L4在微内核本身的IPC性能方面已经有了长足的发展,性能不再是限制微内核发展的主要原因。
Windows、macOS、Linux三大操作系统是微内核吗?
Linux由于是开源系统,采用宏内核这点没有任何疑问。在编译Linux内核的时候,会接触到module概念,但这些module共享同一个addressspace(地址空间)。而在微内核操作系统中,module彼此之间通常是隔离的,具有不同的addressspace。
Windows和macOS,都宣称采用微内核架构。为了追求效能,他们将需要具备特权的服务组件放进核心空间,违反了微内核的基本设计原则,更为接近整块性核心的设计方式,可称为混合内核。
「微内核」的历史
微内核家族
第一代微内核系统Match由于IPC性能令人失望,德国的JochenLiedtke提出了L3和后续的L4结构,对IPC的性能改进很大,甚至相比较Unix都有很大的性能优势。为了追求效率,L4用汇编语言实现,但也导致第一代L4只能运行在486和奔腾处理器上面。目前L4已经变成微内核的一个设计标准,围绕这个标准,有很多的L4的实现。
最初的由Jochen设计的L4目前称之为L4/X86,现在最活跃的两个分别是Pistachio和Fiasco。前者是普通的微内核,后者是专门为实时系统设计的微内核,实现了L4V2(L4APIVersion2)。由于Fiasco跟L4关系,所以平时Fiasco也被称做L4/Fiasco,以强调它是L4的一个实现。
Fiasco的意思是“失败“,是DresdenReal-TimeOperatingSystemsProject(德累斯敦大学实时操作系统项目)的核心子项目,它是一个具备实时功能的微内核。在一个实时系统里面,通常有两种任务,一种是real-time的,另一种是time-sharing的。real-time部分由Fiasco提供,在time-sharing部分,开发者们利用了Linux。开发者对Linux进行了修改,使得Linux能够运行在L4/Fiasco,这便是L4Linux项目。
近年来,有两个微内核系统特别受到关注,一个是谷歌的Fuchsia,另一个是用Rust语言实现的RedoxOS。
Fuchsia是谷歌在2016年公开的一个项目,尽管谷歌一直没有对外公布它的目的和计划,但是它普遍被认为将用于取代安卓系统,以求彻底解决安卓及其底层的Linux内核的历史问题。Fuchsia的底层Zircon本身是基于lk,而lk原本是一个嵌入式微控制器系统,最具有最基本的任务调度,同步原语等功能。但是Zircon在lk基础上构建各种系统服务,而Fuchsia又在Zircon上构建了图像化服务和其他应用程序。
RedoxOS是一个从2015年开始的开源通用操作系统项目,其遵循微内核架构,最大的特点在于完全使用Rust(和少量必需的汇编)作为开发语言编写操作系统及周围生态(例如文件系统、显示服务器及Rust版本的libc)。Redox是编写一个完整、功能齐全的通用操作系统的尝试,关注于安全性、自由性、可靠性、正确性和实用性。该项目团队希望能够在没有障碍的情况下使用它作为Linux的替代品。它一定程度上兼容于POSIX,因而应该能够在无需大量修改的情况下运行大多数Linux程序。
历史的车轮在前进,新的需求场景不断向现有操作系统提出挑战。如部署于自动驾驶中枢位置的操作系统,对安全性和稳定性的要求将大于兼容性和灵活性,也是微内核发挥长处的地方。鸿蒙采用微内核架构,较传统操作系统,有很多新的优势:

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/15352.html

(0)
上一篇 2023年3月7日 上午1:11
下一篇 2023年3月7日 上午1:13

相关推荐

  • Stack Overflow 2019程序员调查—最热门的不是Python

    Stack Overflow 2019程序员调查—最热门的不是Python StackOverflow发布了2019年的年度程序员调查,这个调查报查有90000名程序员参与,这份调度报告平均花了20分钟,可见,这份报告有很多的问题,也是很详细的。这份报告有一些地方,让我有了一些思考。首先,我们先来看一下之份报告的KeyResults:在第一部分中…

    RUST资讯 2023年2月21日
    80
  • 2021哪门编程语言挣得最多?答案并不是Python

    2021哪门编程语言挣得最多?答案并不是Python 2021哪门编程语言挣得最多?答案并不是Python。今年6月,O’Reilly对来自英国和美国的3136名受访者进行了调查,以了解数据和人工智能行业的薪酬状况、职业机会和挑战。报告显示,从编程语言的薪水来看,使用Rust的程序员的平均薪水最高,超过18万美元;其次是Go(17.9万美元)和S…

    RUST资讯 2023年2月16日
    60
  • golang发送applicationjson请求

    golang发送application/json请求 我认为golang的强大之处有两点语言级别支持协程和管道,程序员们可以轻松编写出高并发的服务大量优质的官方包实现,减少了程序员编程的压力虽然有很多优质的官方包,有时还是需要我们自己去思考,比如今天讨论的题目,首先我们看看基础的post请求如何实现。最普遍的请求参数都是这个格式的。name=李荣浩&…

    RUST资讯 2023年2月18日
    70
  • 全国不过20台,老司机都叫不出名,大爷花5万买了台什么二手车

    全国不过20台,老司机都叫不出名,大爷花5万买了台什么二手车 哈喽,大家好!检车家又和大家见面啦,我是人见人爱,花见花开,事故车见了要绕开的检车家大彪哥,欢迎大家收看本期二手车检测趣事。我是一名修过车的二手车检测师,更是一名事故车劝退师。今天大彪检测的这台车可谓是全国都没几台的,甚至一些了解车的朋友估计都叫不出这车的名字来!而委托我检测的这位客户是一个年龄快…

  • 外媒IGN汇总最佳生存游戏TOP10《我的世界》登顶

    外媒IGN汇总最佳生存游戏TOP10《我的世界》登顶 今日(9月7日),外媒IGN发布了十款最佳的生存类游戏,一起来看看吧。第十名:《腐蚀(Rust)》《腐蚀》是采用Unity3D引擎制作的一款丧尸类生存网络游戏,游戏是采取PVP(playervsplayer)方式,玩家看见其他玩家的时候,可以选择结伴、无视、或是直接杀了对方,抢夺其身上的任何资源。游戏除了…

  • 美国国家安全局:停止使用 C 和 C++

    美国国家安全局:停止使用 C 和 C++ C语言和C++语言是不安全的。美国国家安全局(NSA)希望广大开发人员使用内存安全的语言,因为大多数安全漏洞都是由内存使用方面的漏洞引起的。美国国家安全局网络安全部门主任NealZiring表示,所有程序员都在犯“简单的错误”,这些错误“依然完全非常普遍”。他谈论了缓冲区溢出和释放后使用漏洞之类的问题。他给出的建议是…

  • 武汉,被誉为东方芝加哥,自然有他的原因

    武汉,被誉为东方芝加哥,自然有他的原因 “为武汉将来立计划,必须定一规模,略如纽约、伦敦之大。”——孙中山《建国方略》这是中山先生在其《建国方略》之中对武汉的期许。为了民族独立,孙中山奔走呼号多年,1917年到1920年,他开始谋划未来中国民族独立的蓝图。其中物质建设部分的《实业计划》于1920年完稿,原本是以英文发表,1921年10月10日被译成中文,孙中…

  • 新手妈妈们每天都做些什么?

    新手妈妈们每天都做些什么? 作者|AnneRust编译|PoppyWong我和一位新晋妈妈面对面聊天,她告诉我生下宝宝后睡眠已经被剥夺了。而我作为一名产后顾问和导师,关于睡眠话题,在和许多新晋妈妈都交流过后,我发现这是整个群体的困扰。我总是听到那些新妈妈(正过渡为母亲的女性)讲,她们努力让自己的孩子拥有一个好的睡眠,同时自己也很绝望,因为她们因为照顾孩子而什…

  • 「木材百科」人工木材从“形似”走向“神似”

    「木材百科」人工木材从“形似”走向“神似” 树脂基仿生人工木材新型人工木材不仅具有类似木材的取向孔道结构,而且力学强度与天然木材相当,更重要的是,人工木材还具有很好的耐腐蚀、隔热和防火性能。钢材、树脂、碳纤维……这些人造合成材料已经越来越多地出现在日常生活中。这既是科学技术进步的结果,也是人类不断追求美好生活使然。不过,始终有一种材料一直无法被完全取代,那就…

    RUST资讯 2023年2月14日
    70
  • 美国新劳工运动的兴起①:从“商业工会”到“社运工会”

    美国新劳工运动的兴起①:从“商业工会”到“社运工会” 欢迎点击上方“选美”,关注选美公众号这是选美的第1006篇文章在新自由主义议程下,经济全球化对美国劳工运动有深远的影响,一方面,去工业化造成的制造业外流使得美国传统工业地区大批产业工人失业,生活陷入困窘;另一方面,大量外籍移民涌入美国劳动力市场,他们集中在低工资的非正规行业,因其临时性和零散化的就业而得不…

关注微信