使用机器实时处理
Real-time processing with machines
我将在C 中编写一个控制大型CNC计算机的接口,并且它将在Windows上运行。出于安全原因,我希望此过程以其自身的核心运行,以便它可以实时运行该过程。如果它与Windows共享核心,则所有Windows进程都将在我的过程之前处理。基本上,如何确保我的过程始终位于处理队列的前面,或者如何指定核心来运行我的过程并留下另一个核心来处理窗口?另外,是否有任何方法可以看到我的编程是实时运行的。又名,此核心正在处理此程序,但是该核心没有做任何事情,因为我们告诉程序不在该程序上运行。任何输入都会有所帮助。
不能保证您的过程会实时处理。Windows不这样做。由于您提到安全性,我会提到,如果提起诉讼,您将陷入严重的麻烦。专家证人会证明该设计本质上是不安全的。
用户控制和显示可以在Windows中完成,但实时操作属于专用硬件,例如Plc。
您可以使用SetThreadAffinityMask
限制线程以在可用处理器/内核的某些子集上运行。
如果您使用SetThreadPriority
和SetProcessPriorityClass
将线程设置为实时优先级,则只有在实时运行的其他线程才能中断它,有效地迫使其他线程在其他内核上运行(除非您将两个或多个线程提高到实时时间优先级。
作为替代方案,Windows Embedded Compact是一个基于实时优先级的OS,可以提供柔和的实时保证(比Windows Vista/7更好)。这很昂贵,但是与其他商业rtoses相当。
相关文章:
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 媒体基金会:WavSink以比实时消耗率更快的速度处理音频-是否可以实时限制后台处理
- 完整Windows桌面的实时视频处理
- C++:灰度位图标题和实时绘画+opencv图像处理
- 审核的实时事件处理 C/C++
- 快速C 正弦和余弦替代方案,用于实时信号处理
- Android Camera2 API-实时显示处理的框架
- 从 exe 获取输出C++并在 Python 中实时处理它
- 实时图像处理:HSV图像中的噪声(openCV)
- 使用C 编写的算法对数据进行实时处理
- 使用 c++ 在机器人中进行实时编程
- C++ 是使用 OpenAL 进行实时 PCM fft 音频处理
- 使用机器实时处理
- 实时绘图的信号处理数据(c++中的FFT和GNUPLOT)
- 实时应用中图像采集和图像处理的设计模式或最佳实践
- C++/C 实时闪存流处理
- 实时处理无线电流
- Opencv/在线程中录制实时视频,在另一个线程中处理图像
- PortAudio流和实时处理
- OpenGL和C++:实时处理和绑定缓冲区