c - 将 linux x86 中的上下文从用户空间切换为使用 Xenomai 运行

标签 c linux xenomai

我需要在我的 x86 平台上使用 linux 中的上下文切换,类似于 ucontext.h,

但不幸的是,ucontext 使用内核调用来完成它。 在我的 Xenomai 环境中,任何内核函数调用都会将系统转换为二级模式(linux 调度)

那么如何在不离开用户空间的情况下通过存储 FPU 寄存器在 x86 平台上切换上下文?

最佳答案

我找到了解决方案。使用 longjmp 而不是 swapcontext 做同样的事情,但不执行内核调用,也不将系统切换到辅助模式。

解决方案在这里找到: http://www.1024cores.net/home/lock-free-algorithms/tricks/fibers

关于c - 将 linux x86 中的上下文从用户空间切换为使用 Xenomai 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26114170/

相关文章:

C语言,变量与值1相乘,结果是2

c# - 哪种数据类型最适合 C++ 中 Thrift 通信中的日期时间?

c - 将 char * 数字转换为 int32_t 的正确方法

linux - 如何在信号处理程序中更改 FPU 上下文 (C++/Linux)

c - Xenomai 中的周期性线程实时失败

c - 读取 mini-XML 2.7 中的多行字段时出现问题

c# - 使用P/invoke提高性能,可行还是一厢情愿?

linux - 无法连接到我的 aws ec2 实例

c - 目标文件缺少函数符号