1
7
免责声明:不要使用我的建议。找一个专家,如果人们的幸福依赖于一个系统,那么不要把它留给机会/黑客/所以建议! Plane oops http://xs.to/thumb-AF83_4B54A285.jpg 您应该能够编写一个新的过程,该过程通过中断以已知的时间间隔输入,使用现有的调度函数保存线程状态,并更改线程上下文。另外,请确保您的锁定原语与新的调度一起工作,并且您不会将非原子/非指令的T&S锁定或其他任何内容聚集在一起。 This website 提供关于线程切换、状态保存等的良好信息。最终,中断是特定于您的CPU/硬件的。保存线程状态的方式还取决于系统的约束和所使用的线程结构。 Modern Operating Systems 3rd Edition 包含一些理论上的好代码块,但是实现依赖于现有的代码和您所使用的硬件的最佳实践,以及内核中处理中断、信号等的其他代码。 另外,“Phillip A.Laplante的实时系统设计和分析”可能是一个很好的资源,可以使您现有的调度程序适应新的需求。 Another interesting bit of text |
2
4
如果这是一个操作系统,实际上是一个操作系统,当然它是在和硬件对话。它必须有中断处理才能处理I/O设备。 有时,计时器中断将来自CPU本身,但在其他系统架构中,它将来自IO控制器或其他设备。 一个通用的设计方案是只在小的量子中分配CPU时间,这样调度程序就可以更频繁地重新考虑,但是没有人能从这里分辨出这是否会使您的特定问题变得更好或更糟。 所以这里真的没有人能给你开详细的处方。 当然,除了向联邦航空局报告你的雇主。 |
3
1
如果我正确地阅读了您的问题,我认为您希望向调度程序添加线程优先级。调度同一优先级循环的所有线程,但允许更高优先级抢占较低优先级的线程。 您必须已经具有将线程上下文保存和还原为循环时间切片的功能。 |
Jason Steve · 实时gps reall需要数据库? 6 年前 |
Naveen Attri · Android实时位置共享 6 年前 |
Amin Ullah · EmguCv实时视频解码中的600毫秒延迟 6 年前 |
Laveena · 连续无限实时流式音频信号,Python 6 年前 |
Malerosa · 如何将数据库链接到我的Android应用程序? 7 年前 |