什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
编辑: 面试啦 发布时间: 2023-04-20 15:09:28
在多任务环境中,有许多进程都不允许应用程序去做。所以CPU以两种模式运行,即用户模式和内核模式。
①内核模式
当CPU运行于内核模式时,一切程序都可运行。任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚地址和控制虚拟内存硬件。这种模式对应80×86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式。
②用户模式
这个模式中,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查。这就允许WindowsNT4.0限制任务对各种I/O操作的访问,并捕捉违反系统完整性的任何行为。在用户模式中,运行的代码如果不通过操作系统中的某种门机制,就不能进入内核模式。在80×86处理器上,这个模式对应于 ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。
①内核模式
当CPU运行于内核模式时,一切程序都可运行。任务可以执行特权级指令,对任何I/O设备有全部的访问权,还能够访问任何虚地址和控制虚拟内存硬件。这种模式对应80×86的ring0层,操作系统的核心部分,包括设备驱动程序都运行在该模式。
②用户模式
这个模式中,硬件防止特权指令的执行,并对内存和I/O空间的访问操作进行检查。这就允许WindowsNT4.0限制任务对各种I/O操作的访问,并捕捉违反系统完整性的任何行为。在用户模式中,运行的代码如果不通过操作系统中的某种门机制,就不能进入内核模式。在80×86处理器上,这个模式对应于 ring3层,操作系统的用户接口部分以及所有的用户应用程序都运行在该级别。
词条:linux面试题
上一篇:介绍一下Linux文件的记录形式 下一篇:Linux面试题LINUX系统类
面试题库导航
- C++面试题
- JAVA面试题
- Oracle面试题
- MySQL面试题
- Linux面试题
- 网络工程师面试题
- 网管面试题
- 软件工程师面试题
- PHP面试题
- .net面试题
- 软件测试面试题
- EJB面试题
- Spring面试题
- Javascript面试题
- Python面试题
- QTP面试题
- Servlet面试题
- J2EE面试题
- Database面试题
- ASP面试题
- Unix面试题
- Loadrunner面试题
- 通信面试题
- 嵌入式面试题
- Ruby面试题
- Delphi面试题
- Mobile开发面试题
- SOA面试题
- JAVA面试题面试题
- 研发工程师面试题
- 软件架构师面试题
- 系统工程师面试题
- Android面试题
- JAVA程序员
- C#面试题