专栏中心

EEPW首页 > 专栏 > 常用内核架构

常用内核架构

发布人:天翼云开发者 时间:2023-04-23 来源:工程师 发布文章

本文分享自天翼云开发者社区《常用内核架构》,作者:JackW

链接:https://www.ctyun.cn/developer/article/401791607513157

宏内核

应用程序调用内存分配的 API(应用程序接口)函数。

处理器切换到特权模式,开始运行内核代码。

内核里的内存管理代码按照特定的算法,分配一块内存。

把分配的内存块的首地址,返回给内存分配的 API 函数。

内存分配的 API 函数返回,处理器开始运行用户模式下的应用程序,应用程序就得到了一块内存的首地址,并且可以使用这块内存了。

特点:功能耦合,效率高;但是开发一个新的功能也得重新编译、链接、安装内核,因为它没有模块化,没有扩展性、没有移植性,高度耦合在一起,一旦其中一个组件有漏洞,内核中所有的组件可能都会出问题。

image.png 

 

微内核

应用程序发送内存分配的消息,这个发送消息的函数是微内核提供的,相当于系统 API,微内核的 API(应用程序接口)相当少,极端情况下仅需要两个,一个接收消息的 API 和一个发送消息的 API。

处理器切换到特权模式,开始运行内核代码。

微内核代码让当前进程停止运行,并根据消息包中的数据,确定消息发送给谁,分配内存的消息当然是发送给内存管理服务进程。

内存管理服务进程收到消息,分配一块内存。

内存管理服务进程,也会通过消息的形式返回分配内存块的地址给内核,然后继续等待下一条消息。

微内核把包含内存块地址的消息返回给发送内存分配消息的应用程序。

处理器开始运行用户模式下的应用程序,应用程序就得到了一块内存的首地址,并且可以使用这块内存了。

image.png 

特点:微内核牺牲一定性能,具有不少优点,首先,系统结构相当清晰利于协作开发。其次,系统有良好的移植性,微内核代码量非常少,就算重写整个内核也不是难事。最后,微内核有相当好的伸缩性、扩展性,因为那些系统功能只是一个进程,可以随时拿掉一个服务进程以减少系统功能,或者增加几个服务进程以增强系统功能。

 

Darwin-XUN 内核

Darwin是苹果公司2000年开发的开源OS。集成了卡耐基梅隆大学的微内核Mach和伯克利大学的类Unix操作系统,后者提供一整套的操作系统服务。

image.png 

 

Windows NT(new Technology)

微软为了获得市场,从不稳定的Windows3.1、95/98、ME之后推出NT,后续的XP更是成为其商业巅峰。

image.png 

总结

Linux 性能良好,结构异常复杂,不利于问题的排查和功能的扩展,而 Darwin-XNU 和 Windows 结构良好,层面分明,利于功能扩展,不容易产生问题且性能稳定。

 


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: 内核

相关推荐

不对称内核的引导固件体系结构

英伟达H20现身基准测试:内核数量相比H100减少41%,性能降低28%

第五讲:嵌入式操作系统

Linux内核实习01

资源下载 2007-02-16

零长度数组没有意义?那是你不懂!看Linux内核中怎么高级玩它?

2024-04-02

uc OS 任务调度机制

学习Linux,这些内核常识你应该要知道

嵌入式系统 2018-01-18

兆易创新发布GD32E232系列MCU新品,引领Arm Cortex-M23内核向纵深应用领域拓展

详解Linux内核内存管理架构

2024-04-25

Linux 内核解读入门

资源下载 2007-02-16

ARM内核结构简介

高通公布新一代定制PC处理器内核Oryon,对标苹果M系列处理器

RISC-V迁往瑞士或引发标准组织逃离美国大潮

嵌入式系统 2019-11-26

四大亮点带你看 Linux 内核 5.6

Qualcomm Snapdragon X 芯片快照揭示巨大缓存大量 CPU 内核

更多 培训课堂
更多 焦点
更多 视频

技术专区