C# 线程基础——用户模式、内核模式
参照:用户模式和内核模式 - Windows drivers | Microsoft Docs
基础概念
- 运行 Windows 的计算机中的处理器有两个不同模式:用户模式 和内核模式 。
- 应用程序在用户模式下运行;核心操作系统组件在内核模式下运行。
大多数驱动程序在内核模式运行,但少数也能以用户模式运行。
用户模式
- 启动一个用户模式应用程序时,Windows 会为该应用程序创建进程
- 进程为应用程序提供专用的虚拟地址空间和专用的句柄表 (提供运行环境)。
- 虚拟地址空间为专用空间,每个程序彼此独立隔离运行。因此应用程序发生故障时不会对其他程序及操作系统有影响
用户模式限制:
用户模式下的处理器无法访问操作系统保留的虚拟地址。(防止应用程序运行更改甚至损坏操作系统数据)
内核模式
内核模式运行下的代码都共享单个虚拟地址空间。即所有操作系统及大多数驱动程序代码运行时都共享一片内存。他们任一发生故障,都可能引起整个操作系统发生故障。