国嵌linux内核编程,linux内核--那些年看国嵌视频学习

1、linux系统构成

由用户空间和内核空间构成。其中用户空间由应用程序和C库;内核空间由系统调用接口、kernel、架构代码、硬件设备平台

0818b9ca8b590ca3270a3433284dd417.png

为什么linux系统会被划分为用户空间和内核空间?处于安全性考虑。

ARM的7种工作模式:1、usr用户模式:正常执行程序,一般程序运行在用户模式。

2、svc管理模式:操作系统使用的保护模式

3、sys 系统模式:类似管理员权限,可以运行特权的操作任务

4、IRQ外部中断模式:硬件上定时器、串口、输入等通常的中断处理

5、FIQ快速中断模式:应用于高速数据传输和存储 DMA

6、abt数据访问异常:当数据或指令预取终止进入该模式

7、und未定义指令模式:当未定义的指令被执行时,进入该模式

在不同模式,对寄存器的访问权限是不同的。例如:X86实现4个不同的级别:Ring0-Ring3.在Ring0下,可以执行特权指令(等同最高管理员),可以访问IO设备,在Ring3则有很多限制。Linux系统利用了CPU的这一特性,使用其中的两级分别运行内核与应用程序,这样使 操作系统本身得到充分保护。

例如:如果在X86平台运行,用户代码运行在权限最低的Ring3,而内核代码运行在权限最高的Ring0上,来实现内核安全性。

2、工作状态切换

如何实现用户空间与内核空间的工作状态切换?

内核空间和用户空间是程序执行的两种不同状态,通过系统调用和硬件中断完成用户空间到内核空间切换

系统调用:open()、read()等系统调用函数,硬件中断:比如uart中断、定时器中断等

3、linux内核构成

linux内核由进程管理、内存管理、架构代码、系统调用接口、设备驱动、网络协议栈、虚拟文件系统 共7部分组成。

详见下图:

0818b9ca8b590ca3270a3433284dd417.png

系统调用接口:为用户空间提供访问内核空间的一套 标准系统调用函数,起到桥梁作用。

进程管理:1、重点创建进程(fork)、停止进程(kill、exit),2、控制进程间通信 3、进程调度(控制活动进程如何共享CPU)

内存管理:控制多个进程安全地共享内存区域

架构代码:该处代码同cpu类型有关。

网络协议栈:为linux提供丰富的网络协议。1、网络比较稳定 2、支持网络协议比较多    这是linux的强项

虚拟文件系统:隐藏各种文件系统的具体细节,为文件操作提供统一的接口。

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值