用户模式 VS 内核模式 转自维基百科(http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode)
来源:互联网 发布:python文本相似度框架 编辑:程序博客网 时间:2024/05/16 01:41
用户模式:
通过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 内核模式 转自维基百科(http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode)
- Virtual Memory 转自维基百科(http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode)
- Intel中的“ring”机制 转自维基百科(http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode)
- http://en.wikipedia.org/wiki/Main_Page
- http://en.wikipedia.org/wiki/List_of_IP_protocol_numbers
- 用户模式 VS 内核模式(1)
- 用户模式 VS 内核模式(1)
- 内核模式 vs 用户模式
- Http cookie(from http://en.wikipedia.org/wiki/HTTP_cookie)
- Nginx Wiki(已过时最新:http://nginx.org/en/docs/)
- deadbeef---Hexspeak http://en.wikipedia.org/wiki/Hexspeak
- Trusted computing base -------- http://en.wikipedia.org/wiki/Trusted_computing_base
- JSON网址http://en.wikipedia.org/wiki/JSON-RPC
- Strategy pattern - http://en.wikipedia.org/wiki/Strategy_pattern
- 发布-订阅模式[译自维基百科]
- 发布-订阅模式[译自维基百科]
- (翻译)维基模式(Wiki)
- 委托模式(转自:http://www.uml.org.cn/j2ee/200411036.htm)
- 闲侃程序员
- 歌星大奖赛
- 无法载入 mysql 扩展,不支持Mysql数据库,php无法显示验证码 解决办法
- 端到端的点到点区别
- 单播、多播(组播)和广播的区别
- 用户模式 VS 内核模式 转自维基百科(http://en.wikibooks.org/wiki/Windows_Programming/User_Mode_vs_Kernel_Mode)
- 枚举给定窗口的所有子窗口并打印标题的小例子
- Springframework(一)spring基础概念介绍
- 线程池问题?
- Google的Bigtable
- Linux基础学习笔记
- 今天讨论的版本管理问题
- 启动代码
- C++中析构函数定义成虚函数的原因