gpt4 book ai didi

language-agnostic - 内核堆栈与用户模式应用程序堆栈

转载 作者:行者123 更新时间:2023-12-04 08:58:01 25 4
gpt4 key购买 nike

内核堆栈与我们(程序员)编写的应用程序使用的用户模式堆栈的结构是否不同?

你能解释一下区别吗?

最佳答案

从概念上讲,两者是相同的数据结构:堆栈。

之所以每个线程有两个不同的堆栈是因为在用户模式下,不允许代码弄乱内核内存。当切换到内核模式时,内存中的另一个堆栈只能在内核模式下访问,用于返回地址等。

如果用户模式可以访问内核堆栈,它可以修改跳转地址(例如),然后进行系统调用;当内核跳转到之前修改的地址时,你的代码在内核模式下执行!

此外,与安全相关的信息/关于其他进程的信息(用于同步)可能在内核堆栈上,因此用户模式也不应该对其进行读取访问。

关于language-agnostic - 内核堆栈与用户模式应用程序堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com