进程的运行空间
-
Linux的特权等级
- Ring0 内核空间(内核态)
- 最高权限,可直接访问所有资源
- Ring1、2
- Ring3 用户空间(用户态)
- 只能访问受限资源,不能直接访问内存等硬件
- 必须通过系统调用陷入内核中才能访问特权资源
- Ring0 内核空间(内核态)
-
系统调用
- 是指调用操作系统提供的某些函数,从用户态陷入内核态,实现更高权限的资源访问
- 一次系统调用,会发生两次CPU上下文切换
-
CPU上下文切换
- 保存寄存器中原来用户态的指令位
- 更新为内核态指令的新位置
- 跳转到内核态执行任务
- 调用结束,恢复原来保存的用户态