首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用户和内核模式之间的差异

用户和内核模式之间的差异
EN

Stack Overflow用户
提问于 2018-04-23 08:32:20
回答 2查看 0关注 0票数 0

用户模式和内核模式之间有什么区别,以及为什么以及如何激活(用例?)。

EN

回答 2

Stack Overflow用户

发布于 2018-04-23 17:10:34

  1. 内核模式 在内核模式下,执行代码可以完全无限制地访问底层硬件。它可以执行任何CPU指令并引用任何内存地址。内核模式通常保留用于操作系统的最低级别,最可信任的功能。在内核模式下崩溃是灾难性的; 他们会停止整个PC。
  2. 用户模式 在用户模式下,执行代码无法直接访问硬件或参考内存。在用户模式下运行的代码必须委托给系统API来访问硬件或内存。由于这种隔离提供的保护,用户模式下的崩溃始终可恢复。计算机上运行的大多数代码都将以用户模式执行。

了解用户和内核模式

票数 0
EN

Stack Overflow用户

发布于 2018-04-23 18:05:15

这是计算机可以运行的两种不同模式。在此之前,当电脑像一个大房间时,如果有什么事情崩溃 - 它会停止整个电脑。所以电脑建筑师决定改变它。现代微处理器在硬件中实现至少2种不同的状态。

用户模式:

  • 所有用户程序都执行的模式。它无法访问RAM和硬件。原因是因为如果所有程序都以内核模式运行,它们将能够覆盖对方的内存。如果它需要访问任何这些功能 - 它会调用底层API。除了系统进程在用户模式下运行外,每个进程都由Windows启动。

内核模式:

  • 模式执行所有内核程序(不同的驱动程序)。它可以访问每个资源和底层硬件。任何CPU指令都可以执行,并且每个存储器地址都可以被访问。这种模式是为在最低级别运行的驱动程序保留的

交换机如何发生。

从用户模式切换到内核模式不是由CPU自动完成的。CPU被中断(定时器,键盘,I / O)中断。当发生中断时,CPU停止执行当前正在运行的程序,切换到内核模式,执行中断处理程序。该处理程序保存CPU的状态,执行其操作,恢复状态并返回到用户模式。

http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode

http://tldp.org/HOWTO/KernelAnalysis-HOWTO-3.html

http://en.wikipedia.org/wiki/Direct_memory_access

http://en.wikipedia.org/wiki/Interrupt_request

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档