User mode and kernel mode (from MSDN)
A processor in a computer running Windows has two different modes: user mode and kernel mode. The processor switches between the two modes depending on what type of code is running on the processor. Applications run in user mode,and core operating system components run in kernel mode. While many drivers run in kernel mode,some drivers may run in user mode (see?User-Mode Driver Framework (UMDF)). When you start a user-mode application,Windows creates a process for the application. The process provides the application with a private virtual address space and a private handle table. Because an application‘s virtual address space is private,one application cannot alter data that belongs to another application. Each application runs in isolation,and if an application crashes,the crash is limited to that one application. Other applications and the operating system are not affected by the crash. In addition to being private,the virtual address space of a user-mode application is limited. A processor running in user mode cannot access virtual addresses that are reserved for the operating system. Limiting the virtual address space of a user-mode application prevents the application from altering,and possibly damaging,critical operating system data. All code that runs in kernel mode shares a single virtual address space. This means that a kernel-mode driver is not isolated from other drivers and the operating system itself. If a kernel-mode driver accidentally writes to the wrong virtual address,data that belongs to the operating system or another driver could be compromised. If a kernel-mode driver crashes,the entire operating system crashes. This diagram illustrates communication between user-mode and kernel-mode components. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows下打开binlog
- 如何在WPF中创建Windows 8风格的应用栏?
- windows-server-2008-r2 – 如何查看Server 2008软件RAID 5
- Windows和Linux之间的Python Multiprocess差异
- 如何获取Windows Phone Mango上所有可用键盘的列表(使用C#代
- windows-server-2003 – 在Windows中测试直接连接的数组
- windows-server-2003 – 加入计算机域时,“指定的域不存在或
- windows-server-2008 – 基于客户端MAC的Windows Server DH
- 如何在Windows环境中使用Mahout?
- Windows 8 WinRT – C或C .NET?