我必须为一个支持一些基本功能的项目实现一个简单的操作系统和一个虚拟机。这个os会像Linux中的普通程序一样运行在虚拟机和虚拟机上。
假设现在是虚拟机执行的时间片。
- 如何接收一些额外的计时器信号,以便将虚拟机执行时间划分为更小的时间片?
- 我的 CPU 中有多少个定时器可用? (这更像是一个一般性问题)
- 我可以使用用户控制杆中断处理程序处理虚拟机内部的定时器信号吗?
如有任何帮助或指导,我们将不胜感激。 谢谢
最佳答案
我建议你只使用 1 个中断,并在队列中(几次,例如 <50)或堆中组织你的计时器,这是一个非常快速的树,它可以让你随时访问最小元素,即下一个要处理的Timer的元素。
因此,您有一个中断、一个处理程序和许多具有相关函数的定时器,这些函数将由该单个处理程序调用。
关于c - 定时器的用户级中断处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27708851/