(1)用户态和内核态的概念?
—>内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡....CPU也可以将自己从一个程序切换到另一个程序
—>用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取
(2)为什么需要用户态和内核态?...—>由于需要限制不同的程序之间的访问能力, 防止他们获取别的程序的内存数据, 或者获取外围设备的数据, 并发送到网络, CPU划分出两个权限等级 :用户态 和 内核态
(3)用户态与内核态的切换?...他们会读取程序放入内存的数据参数, 并执行程序请求的服务
系统调用完成后, 操作系统会重置CPU为用户态并返回系统调用的结果
二:用户态和内核态的详细介绍?...Linux使用了Ring3级别运行用户态,Ring0作为 内核态,没有使用Ring1和Ring2。Ring3状态不能访问Ring0的地址空间,包括代码和数据。