Linux 基础之内核态与用户态

Linux 基础之内核态与用户态,第1张

内核主要是和硬件打交道,管理最核心的内容,如硬盘、内存、CPU等。

内核只有一个功能,就是进程调度,其他功能需要外插设备甚至网络等。

微内核调度资源需要去其他地方找,所以会慢。但也适合于万物互联,但现在的 4G 速度达不到。

鸿蒙是微内核的设计。当 5G 实现,万物互联,微内核的时代就可能到来。

宏内核就是上图中所有功能集成在一块,一般手机、电脑都是宏内核。

这是在硬件上做的一种安全机制,让用户不能直接 *** 作内核。

CPU 分不同的指令级别:一个是内核可以 *** 作的级别;另一个是应用程序访问的级别。

CPU 的指令级别一般分 4 个级别 0~4(ring)。linux 用了两个级别 0 和 3,内核用的是 0,应用程序只能访问到 ring 3 级。对于系统的关键访问需要经过 kernel 的同意,由内核命令去执行。

JVM 在用户态。

Linux采用了段页式存储管理方式,Linux的虚拟地址空间为0~4G,如图1,Linux内核将这4G空间分为两部分,0~3G(0xC0000000~0xFFFFFFFF)的部分为用户空间,供用户进程使用,3~4G(0x00000000~0xBFFFFFFF)的部分为内核空间,专门供内核使用[4]。

八种用户空间与内核空间的数据交换方式,这八种方式各有优劣,下面就每种方式的优劣做一下对比:


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

原文地址:https://54852.com/yw/7459354.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存