1.用户态是什么?
当进程执行用户程序时,进程处于用户态。在用户态下,只能执行非指令。
2.内核态是什么?
1)内核是什么?
内核是通过系统调用,为用户应用程序提供对计算机系统资源的安全访问的系统软件,是操作系统的一部分,负责系统的进程管理、内存管理、文件管理、网络管理和进程间通信。
2)内核态是什么?
当进程陷入内核代码中执行,进程处于内核态。内核态是一种CPU的态,在此状态下,可以执行用户态下不允许执行的指令。
3.用户态如何转换到内核态?
1)系统调用(软中断)
为了调用资源,用户态主动切换到内核态执行指令。
2)异常
处于用户态时,出现异常,会触发内核中处理异常的程序,使用户态转换成内核态。
3)中断
处于用户态时,若外围设备完成请求后并发出中断,触发中断处理程序,那么用户态会转换到内核态。
4.内核态如何转换到用户态?
内核程序返回后,内核态会自然切换至用户态。
5.参考资料