Linux体系结构要分成用户空间和内核空间的原因:
1)现代CPU通常都实现了不同的工作模式,
以ARM为例:ARM实现了7种工作模式,不同模式下CPU可以执行的指令或者访问的寄存器不同:
(1)用户模式usr
(2)系统模式sys
(3)管理模式svc
(4)快速中断fiq
(5)外部中断irq
(6)数据访问终止abt
(7)未定义指令异常
以X86为例:X86实现了4个不同级别的权限,Ring0—Ring3;Ring0下可以执行特权指令,可以访问IO设备;Ring3则有很多的限制:
2)所以,Linux从CPU的角度出发,为了保护内核的安全,把系统分成了2部分;
3.用户空间和内核空间是程序执行的两种不同状态,我们可以通过“系统调用”和“硬件中断“来完成用户空间到内核空间的转移
4.Linux的内核结构(注意区分LInux体系结构和Linux内核结构)
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/zhangzhixing521/b-93.html