我正在将应用程序/ PCI驱动程序从vxWorks移植到Linux,如果可能,我想保持相同的体系结构。当前驱动程序有2个使用消息队列相互通信的任务(线程)。是否有内核线程之间进行通信的机制?消息队列用于传递缓冲区地址和大小信息,以便任务可以使用DMA来移动大量数据。在Linux内核线程之间进行通信
回答
我强烈建议不要在Linux上保留VxWorks体系结构。内核线程的扩散令人不悦,你的代码永远不会把它变成正式的内核树。即使你不关心这些,你是否100%肯定你想用非标准的方式开发驱动程序?如果你只是摆脱这两项任务,情况会简单得多。顺便说一句,为什么地球上你需要PCI驱动程序的任务开始?
+1为理智和常识。 – 2009-10-19 08:33:58
感谢您的反馈。这是另一个管理层提供几乎不可能的任务,甚至更不可能的时间表。战斗胜利了,我们不再这样做了。对任务的需求是基于原始架构的。驱动程序正在将大量的数据从PCI卡移出。数据被DMA'd循环缓冲区,然后一条消息被发送到适当的任务来处理数据,以便下一个DMA可能发生。在vxWorks中,它使得它在Linux中没有,但他们不想改变它。 – CVAUGHN 2009-11-01 11:18:27
现在,如果您绝对必须保持Linux上的某些单片架构以及使用http://femtolinux.com的VxWorks,那么它允许以内核模式运行用户应用程序,即以与VxWorks几乎相同的方式 – Demiurg 2010-07-23 08:31:31
- 1. Linux内核模块中的内核线程之间的通信
- 2. Windows核心进程之间的通信
- 3. 线程之间可以通过LINX通信进行通信吗?
- 4. 进程与线程之间的通信
- 5. Linux内核之间的模块间通信
- 6. 用户进程,终端和内核之间的通信
- 7. boost asio在两个线程之间进行通信C++
- 8. 在Java中的线程之间进行通信
- 9. 如何在Scala中的线程之间进行通信?
- 10. 如何在两个线程之间进行通信
- 11. 如何在JavaScript中的线程之间进行通信?
- 12. 使用队列在D中的线程之间进行通信
- 13. 线程之间的通信?
- 14. 线程之间的通信
- 15. 线程之间的通信
- 16. 在OpenCL 1.2内核之间传递变量/内核之间的通信
- 17. 内核和用户应用程序之间进行通信的方法
- 18. 在Linux内核空间执行程序
- 19. 内核和shell之间的通信
- 20. 进程之间的通信
- 21. 如何在C#中进行进程间通信时进行进程间通信?
- 22. 进程之间的信号查询Linux
- 23. 如何使内核线程通信?
- 24. linux - 内核线程抢占
- 25. Linux内核线程问题
- 26. Linux内核可以与用户空间进行通信的方式是什么?
- 27. 的Linux用户空间线程,内核线程,轻量级进程
- 28. linux和windows之间的串行通信
- 29. Linux程序之间的通信
- 30. Linux,应用程序之间的通信
要明确我的意思是app/PCI驱动程序,我会添加更多详细信息。在vxWorks中编写的原始程序在内核级别执行所有操作。因此,设备的PCI驱动程序以及对数据执行操作的代码,打包和发送UDP都在同一个程序中。我试图保持相同的体系结构,因为应用程序将停留在vxWorks中,但由于资源和时间安排问题,我们需要移植到Linux以继续测试。 – CVAUGHN 2009-09-18 13:42:50