Linux内核由哪几个子系统组成?

Linux内核由哪几个子系统组成?,第1张

Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

1进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。

2内存管理(MM)允许多个进程安全的

共享主内存区域。Linux

的内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以超过实际内存的大小, *** 作系统只是把当前使用的程序块保留在内存中,其余

的程序块则保留在磁盘中。必要时, *** 作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映

射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。

3虚拟文件系统

(Virtual File

System,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。虚拟文件系统可以分为逻辑文件

系统和设备驱动程序。逻辑文件系统指Linux所支持的文件系统,如ext2,fat等,设备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。

4网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

5进程间通讯(IPC) 支持进程间各种通信机制。

鸿蒙(Harmony OS)是华为自2012年开发的一款可兼容Android 应用程序的跨平台 *** 作系统 截至2019年6月14日, 华为高管证实了新系统的存在以及华为在全球申请“Hongmeng”商标一事, 并且说明主要是用于物联网, 未必会发展为手机系统 2019 年 8 月 9日华为开发者大会上,华为消费者业务首席执行官余承东正式宣布发布自有 *** 作系统鸿蒙,内核为Linux内核、鸿蒙微内核和LiteOS 未来将摆脱Linux内核和LiteOS, 只有鸿蒙微内核

从此,Harmony OS(鸿蒙 *** 作系统,简称鸿蒙)正式进入公众视野 与支持者相对的各种黑化声音同样不绝于耳,相对于这些无脑黑,节奏黑, 难道我们不能好好的找找资料,真正了解鸿蒙是个啥 后面将从 Linux 内核, 鸿蒙微内核, 兼容 Android, 全场景交互体验等方向来一次 HarmonyOS 的学习之旅

PS: 这几篇所有整理的内容都基于网络上的公开资料(维基百科等),为了基本上所有非技术人员也都能无障碍看懂

要想了解 *** 作系统,必然先了解一下 *** 作系统的发展 历史 ,不过是不查不知道,一查吓一跳,这世上的 *** 作系统是真的好多啊,因此肯定是没必要一一道来的, 一些 历史 脉络部分,我这里大致的梳理一下一些关键的标志性系统,辅助我们来了解 HarmonyOS,从此不再人云亦云

目前大家接触比较多的常见 *** 作系统也就那几个, 大致分类有, 电脑端: Unix, Linux, MacOS,Windows, 手机端:Android, iOS

1969年在AT&T的贝尔实验室开发Unics, 1973年, 用C重新编写后正式命名为 Unix, 标志着通用 *** 作系统的到来, 一开始和学术界有合作(加州伯克利大学),从而快速在各大高校传开;

1977年,伯克利大学的Bill Joy 教授获得Unix的核心原始码后, 修改成适合自己机器的版本,并增加了编译工具和很多功能软件,最终命名为BSD;

1979年 AT&T 公司发行Unix70, 出于商业考量将Unix的版权收了回去 这也导致了BSD的后裔一直跟AT&T 相关公司产生了法律纠纷,直到1994年1月才了结

1994年6月,44BSD 以两种形式发布:可自由再发布的44BSD-Lite, 不包含AT&T源码; 另有 44BSD-Encumbered,跟以前的版本一样,遵照AT&T的许可证。几种基于44BSD的包(比如FreeBSD、OpenBSD和NetBSD)也得以继续维护。

这期间, 学术界自力更生, 在1986年一个叫 Andrew Tanenbaum(安德鲁·塔能鲍姆)教授就参照Unix的功能编写完成并发布一个Minix系统, 用于教学用途, 并于次年发布了相关书籍。

1991年,一个叫 Linus Torvalds 的学生对只能用于教学用途的 Minix 系统不满足,于是就基于Minix开始编写自己 *** 作系统, 并于9 月份开源, 也就是 Linux。

Linux 有多牛, 今天的Linux系统掌管着超级计算机和大部分服务器、主机,再加上 Android 的智能移动设备, 还有桌面系统,嵌入式设备,以及纯粹的上网本, Linux王国的领土几乎扩展到了整个网络系统,搜索,购物,聊天等全球数十亿人离不开的服务,都运行在Linux之上。

到此,所以鸿蒙的内核里有 Linux 内核的存在,有毛病吗

首先,前面有了解到 Linux 之所以成功, 在于其技术的更加先进,但是这种先进它并不是颠覆,他本身就是基于 Minix 的基础之上, 它在一开始的一段时间内是必须要有 minix 才能运行的起来的,

其次, 是有这么一个长达两年多的 Unix 的版权之争, 从而给 Linux 提供一个绝佳的成长时间, 毕竟就像Linus 自己说的那样,当时如果有可用的 386BSD,他也不会选择自己再去重新开发一个 Linux

再者, Linux 1991 年开发并开源出来, 到 1993 年大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 099的代码大约有十万行,用户大约有10万左右。到鸿蒙正式公开的2019年, Linux 内核已有大约2500万行代码。

对比之下, 挺有意思的是, 余承东也说过 HarmonyOS 一开始并没有打算放到手机上, 相较于 Unix 闭源后逼出来的这个 Linux, HarmonyOS 却是美国的打压和制裁逼出来的, 而鸿蒙的今后的成长, 我们是可以共同见证得到并也可以参与得了的

思考二: Linux 这么牛,为什么在电脑时代的桌面 *** 作系统上,没有竞争过 Windows 和 MacOS 呢 但是到了手机时代, Linux 内核的 Android 却可以和 iOS 平分天下 原因同样也很多, 其中也有两个公认的关键点,

另一个最重要的关键点则是有一家强有力的公司所支撑的系统开发和生态建设, 桌面时代 Windows 有微软,MacOS 有苹果, Linux 呢是一个松散的开源社区, 但是到了手机时代,iOS 有苹果, Android 有谷歌;

这篇先留点坑,鸿蒙的微内核和智能生态先不表, 我们依然从 Linux 这条线, 再来看一下 Android

大家一般都知道的, Android 是一个基于 Linux 的、由 Google 主导的开源系统。那么为什么谷歌还能掐华为的脖子,而华为却还是能兼容 Android 呢

其实严格意义上来说,Android=AOSP+GMS, 谷歌的手机 Pixel 出厂自带的系统即为Android,而一般来说,谷歌在自己(主导)开发的新一代Android系统成型时,都会放出其中的aosp代码。也就是Android系统等于开源的aosp,加上额外的闭源部分(其中包括GMS)的组合。AOSP 全名为Android Open-Source Project, 华为的开放源代码 OpenHarmony 是一种概念的 GMS 全名为 Google Mobile Service(谷歌手机服务),而这也就是谷歌限制华为的关键之处,GMS 是谷歌的应用和服务全家桶,包括电话,邮件,应用商店等一系列应用和消息推送服务,海外的手机没有这些东西,就跟砖头没什么两样了

这个服务本身在国内是无法使用的, 国内的各种定制 ROM(如小米的 MIUI,华为的 EMUI 等)都是基于AOSP 加上自家的云服务的定制修改各大品牌的 *** 作系统如下:

苹果--iOS

谷歌--Android(AOSP+GMS)

三星--Android(AOSP+GMS)

小米--MIUI(基于AOSP)

OPPO--Color OS(基于AOSP)

VIVO--Funtouch OS(基于AOSP)

一加--H2 OS(基于AOSP)

锤子--Smartisan OS(基于AOSP)

魅族--Flyme(基于AOSP)

联想--ZUI(基于AOSP)

华为--国内: EMUI(基于AOSP),国外 Android(AOSP+GMS), HarmonyOS2

其一,看到这里,那些一直老是质疑鸿蒙就是安卓(AOSP)套壳的质疑是怎么回事,估计大家也都清楚了其实啊,大家都知道,技术发展的现在,开发一款系统并不能难倒这些 科技 大厂,生态的支撑才是决定一个体统生死的关键,鸿蒙兼容安卓,有错吗鸿蒙兼容安卓本来就是一个正确的决策嘛 当然,这里是在做科普,而非为了争辩什么 因为其实有些东西它就在那里,有公开的资料

其二,看到这里,其实也能看到国内的手机厂商没有第一时间去响应鸿蒙一个原因了,一个明显的问题就是支持鸿蒙是有两套方案的:一是组织团队基于Open Harmony开发呢?还是说直接放弃已有的生态直接用HarmonyOS2?如果是你,你会第一时间选择这其中的一项吗?最近魅族宣布接入鸿蒙的,不是魅族手机,而是其Lipro品牌下的智能家居生态产品。

关于生态还是放到下次在统一聊,还是回到主线,我们再来梳理一下安卓的大致 历史 。

2005年 7 月 11 日,Google 收购了 Android 科技 公司,Android的关键人物包括安迪·鲁宾、利奇·米纳尔和克里斯·怀特,以及所有Android 科技 公司的员工都一并加入Google,作为收购的一部分。

2007年11月5日,在Google的领导下,成立了开放手持设备联盟(Open Handset Alliance),那是包括Google在内的 科技 公司联盟,其他成员包括HTC、摩托罗拉、Samsung等设备制造商,无线运营商则包括Sprint及T-Mobile,芯片制造商高通及德州仪器,目标是为移动设备开发“首个真正开放和全面的移动设备平台”。随后,其他厂商加入,包括Broadcom、Intel、LG、Marvell等。联盟开放手持设备联盟的创建目的是为了创建一个更加开放自由的移动电话环境。而在开放手持设备联盟创建的同一日,联盟对外展示了他们的第一个产品:一部搭载了以Linux 26为核心基础的Android *** 作系统的智能手机。

2008年12月9日,新一批成员加入开放手持设备联盟,包括ARM、华为、索尼等公司

为了跟iPhone 3G能互相媲美,诺基亚和黑莓手机于2008年均宣布有关触摸屏的智能手机的信息,Android的焦点最终也转向触摸屏。第一款运行Android系统的商用智能手机是HTC Dream,亦名为T-Mobile G1,该智能手机于2008年9月23日发布

同时,一个负责持续发展Android *** 作系统的开源代码项目成立了AOSP(Android Open Source Project)。除了开放手持设备联盟之外,Android还拥有全球各地开发人员组成的开源社区来专门负责开发Android应用程序和第三方Android *** 作系统来延长和扩展Android的功能和性能。

之后便是大家熟悉的各种基于 AOSP 的安卓智能机出现在了大家的手上

至此,大家应该真正都明白 Android 和 AOSP 的关系了,也能理解 OpenHarmony 和 HarmonyOS2 的关系了吧

OpenHarmony 是不兼容安卓的,至于很多人一直还在质疑 HarmonyOS2 是安卓套壳这个事, 我是有点奇怪的, OpenHarmony的开源代码已经放出来了, 华为的官方解释也就是在那里他们都视而不见HMS Core(华为移动服务)是基于华为终端设备和安卓平台,对应用开发者开放并提供各种服务能力的移动服务框架。, 适用产品是手机和平板, 并且其升级不涉及系统版本,HMS Core (华为移动服务)同GMS(谷歌移动服务)一样,可以在安卓开源项目(安卓系统)上运行,支持安卓应用,但部分需要GMS支持的安卓应用,在HMS Core平台下可能无法运行。

作为结尾,想说明一下,到现在为止,所有的关于对鸿蒙的解读还只是按照安卓的框架和场景设定来思考的, 实际上,鸿蒙的定位是服务于物联网 关于鸿蒙微内核,全场景交互体验我们放到下一篇,这里还涉及到 iOS,以及谷歌的新系统

应该是五个子系统:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。

内存管理(MM)允许多个进程安全的共享主内存区域。

虚拟文件系统(Virtual File System,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统。

网络接口(NET)提供了对各种网络标准的存取和各种网络硬件的支持。

进程间通讯(IPC) 支持进程间各种通信机制。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12187852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存