用户模式:

通过windows启动的任何一个进程都在用户模式(user mode)下运行,在这种模式下的进程不能访问其它进程的资源,除非通过API调用。在这种模式下运行的程序不能处理中断(interrupts)和环境切换(context switching)。

中断(interrupts):

CPU在运行时经常被一些事件打断(interrupt),如计时器,键盘,硬盘等。这些事件就叫做中断(interrupts)。操作系统内核必须创建一些中断处理器(interrupts handlers)来处理这些事件。因此,当中断出现时,操作系统就会停止当前执行的程序并转入内核模式来之中中断处理器来处理这些事件。事件处理器会保存当前CPU的状态,处理事件,恢复CPU的状态,从而使得CPU可以继续前面运行的程序。

当一个程序希望调用windows API时,它就会触发一个中断(interrupt),从而使CPU进入内核模式来执行所要求的API。在API调用结束后,CPU会切换回用户模式并继续执行先前的程序。

环境切换(Context switching)

环境切换是由操作系统来执行的,环境切换的步骤如下:

(1)保存当前程序的运行状态

(2)指出下一个将要运行的程序

(3)恢复另一个进程的状态

用户模式 VS 内核模式(1)相关推荐

  1. 用户模式与内核模式(2)

    用户模式与内核模式 从Intel80386开始,出于安全性和稳定性的考虑,该系列的CPU可以运行于ring0~ring3从高到低四个不同的权限级,对数据也提供相应的四个保护级别.运行于较低级别的代码不 ...

  2. windows用户模式与内核模式

    对于Windows操作系统的编程一般来说已经涉及到了较深的领域,针对该问题提出几家之言,均为转载: 一. 为了防止用户程序访问并篡改操作系统的关键部分,Windows使用了2种处理器存取模式(事实上W ...

  3. 理解用户模式和内核模式(译)

    原文来自:https://zryfish.github.io/computer%20related/2015/08/28/user-mode-and-kernel-mode/ 28 Aug 2015 ...

  4. 用户模式和内核模式(线程级)

    用户模式和内核模式区分主要是因为,为了计算机系统的正常安全运行,有些硬件资源(如:中断装置)和特权指令是不可以对用户进程开放的,所以区分了两种模式. 内核模式和用户模式 内核空间存放的是操作系统内核代 ...

  5. 深入解析windows XP/2003:内核模式和用户模式

    为了避免windows应用程序访问和修改关键的操作系统数据,windows使用了2种处理器访问模式(即使windows在底层处理器支持多于2种以上的模式):用户模式和内核模式. 为什么windows只 ...

  6. 理解Windows内核模式与用户模式(新)

    版权声明:本文为博主原创文章,未经博主允许不得转载.  1.基础 运行 Windows 的计算机中的处理器有两个不同模式:"用户模式"和"内核模式".根据处 ...

  7. 理解Windows内核模式与用户模式

    内核层次架构 windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令.一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Win ...

  8. 用户模式 内核模式 linux,linux – “内核模式”和“用户模式”硬件...

    内核模式和用户模式是硬件功能,特别是处理器的功能.专为中高端系统(PC,功能手机,智能手机,除最简单的网络设备之外的所有系统--)设计的处理器都包含此功能.内核模式可以使用不同的名称:管理程序模式,特 ...

  9. cs寄存器 x86 特权模式_Windows操作系统管理进程和线程:内核模式和用户模式

    根据前面的介绍,NT内核会把操作系统的代码和数据映射到系统中所有进程的内核空间中.这样,每个进程内的应用程序代码便可以很方便地调用内核空间中的系统服务.这里的"很方便"有多层含义, ...

最新文章

  1. centos 6.8 编译安装git 2.11.0
  2. python编程入门指南怎么样-python编程从入门到实践这本书怎么样
  3. 69. Sqrt(x)(python)
  4. c# combobox集合数据不显示_VBA与数据库解决方案:Recordset记录集合的动态查询,并显示结果...
  5. c++容器定义、初始化、赋值
  6. java bean 工厂模式_深入理解Java的三种工厂模式
  7. ipv6+ssh+java_IPv6的本地联网地址计算方法详解
  8. 势头迅猛的儿童手表:恐陷下一个文曲星之地?
  9. 解决PhoneGap在Android手机上的全屏问题
  10. Linux学习笔记-Makefile优化之头文件依赖
  11. 转:移动网络下的性能优化之省电篇
  12. POJ1185炮兵阵地(状态压缩 + dp)
  13. 微积分常用导数总结 - 清晰版 - 当然每一个都要熟记啦
  14. 包邮送5本!新书推荐:MLOps实践――机器学习从开发到生产
  15. excel高级筛选怎么用_Excel 筛选之“高级筛选”(绝对不可错过的强大工具)
  16. 7种SQL JOINS 的实现
  17. 获取微信公众号文章封面图的技巧/网站
  18. Linux 桌面玩家指南:16. 使用 CUDA 发挥显卡的计算性能
  19. 心田花开小学拼音复韵母ao、ou、iu读法教程
  20. 介绍旅游网站建设与优化技巧

热门文章

  1. html在线转移,HTML5迁移
  2. 两种解法-树形dp+二分+单调队列(或RMQ)-hdu-4123-Bob’s Race
  3. HTML5 Canvas
  4. 143. Reorder List
  5. 2015生命之旅---第一站重庆
  6. (转载)Shutter 0.90 发布 – BUG修复和增强
  7. HDU3474 Necklace
  8. xml web service
  9. DNN开发中的一些细节(3)
  10. cuDNN version incompatibility: PyTorch was compiled against 7005 but linked against 6021 问题解决...