gpt4 book ai didi

linux - context_switch 和系统调用虚拟化

转载 作者:太空宇宙 更新时间:2023-11-04 04:15:34 25 4
gpt4 key购买 nike

当内核执行 context_switch() 时,即当它处于该函数中时,是否有可能其他任务进行系统调用?据我了解,当处理器状态被交换时,在 context_switch 完成之前没有其他代码可以实际执行。这种理解正确吗?

背景:基本上,我想在上下文切换时交换系统调用表。我有 2 个版本的系统调用向量,其中之一包含修改后的系统调用代码的地址。当安排“感兴趣的进程”时,我将更新 sys_call_table 指针以指向新进程。然后当感兴趣的进程被换出时再将其换出。

我是内核开发新手,因此也欢迎对我的方法提供反馈。PS:我知道 ptrace() 但它不适合我的需要。虚拟化系统调用 UML 风格涉及太多上下文切换。

最佳答案

我怀疑你可能想错了。即使内核在 context_switch 执行时不允许来自其他任务的系统调用,也只可能扩展到当前正在执行的处理器。当一个核心进行上下文切换时,其他处理器仍然可以执行系统调用。

关于linux - context_switch 和系统调用虚拟化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16578190/

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