yibobo 发表于 2026-1-22 18:11

只有操作系统才能执行这些操作

本帖最后由 yibobo 于 2026-1-22 18:37 编辑

如果用户程序能够随意修改页表,将导致灾难性后果,因为这意味着:
[*]进程可能访问其他进程的私有内存,造成数据泄露或损坏
[*]进程可能修改内核内存,破坏系统核心数据结构
[*]内存保护机制失效,导致系统不稳定或完全崩溃
例如,如果一个程序能够修改CR3寄存器,它就可以切换到任意进程的地址空间,读取或修改其他程序的数据,这将完全破坏系统的安全边界。特权指令有些指令可以直接控制CPU的核心行为,包括但不限于:
[*]开关中断指令(CLI/STI)
[*]修改控制寄存器(CR0、CR2、CR4等)
[*]执行I/O指令(IN/OUT)
如果我们写的程序直接关闭中断(CLI),那么这将导致系统无法响应外部事件,包括定时器中断,从而阻止操作系统重新获得控制权,这意味着我们写的while循环将会真正的独占一个CPU核心。

zhang_tao_08 发表于 2026-1-22 18:57

感谢楼主分享

maogege-chen 发表于 2026-1-23 08:34

mcufan 发表于 2026-1-23 08:42

说啥呢,一般人听不懂

feihangdan 发表于 2026-1-23 08:58

内核开发操心的事情!

ttff 发表于 2026-1-23 09:05

:):):):):)

cpp04 发表于 2026-1-23 09:07

:D:D:D:):)

rain-fine 发表于 2026-1-23 09:18

tuzisecond 发表于 2026-1-23 09:24

:lol:lol:lol

richardz 发表于 2026-1-23 15:56

:lol:lol:lol:lol:$:$:$:$:@:@
页: [1] 2 3 4
查看完整版本: 只有操作系统才能执行这些操作