我最近在Linux中一直在使用消息队列(系统V,但POSIX也应该没问题),它们看起来非常适合我的应用程序,但在阅读了Unix编程的艺术之后,我不确定它们是否真的是一个不错的选择.
http://www.faqs.org/docs/artu/ch07s02.html#id2922148
System V IPC的上层消息传递层已基本停止使用.较低层由共享内存和信号量组成,在需要进行互斥锁定和在同一台机器上运行的进程之间进行一些全局数据共享的情况下,仍然具有重要的应用程序.这些System V共享内存工具演变为POSIX共享内存API,支持Linux,BSD,MacOS X和Windows,但不支持经典MacOS.
http://www.faqs.org/docs/artu/ch07s03.html#id2923376
System V IPC工具存在于Linux和其他现代Unix中.但是,由于它们是遗留功能,因此不会经常使用它们.到2003年中期,Linux版本仍然存在漏洞.似乎没有人足够关心它们.
在最近的Linux版本中,System V消息队列是否仍然存在错误?我不确定作者是否意味着POSIX消息队列应该没问题?
似乎套接字几乎是任何东西(?)的首选IPC,但我看不出用套接字或其他东西实现消息队列是多么简单.或者我的想法太复杂了?
我不知道我是否正在使用嵌入式Linux?
我是一家非常小的公司的独立开发人员.我的工作非常混乱,我正在寻找方法使其更有条理.
一个问题是我的项目实际上没有管理.很少有人问我正在做什么,或者我有什么问题.在某些时候,有人谈论每周一次的状态会议,但那是一段时间以前.似乎如果我想要这样的东西,我将不得不自己安排.有时我对我应该做的事情有点迷失,因为我没有定义任务或明确的时间表.
从书籍和文章中我发现了许多可能有用的东西.就像有一个好的编码标准(在我看来只有一个粗略的风格指南,有点过时),代码检查,TDD,单元测试,错误数据库...但在一个小公司,它似乎没有资源或时间任何不重要的事情.我在嵌入式域中工作的事实似乎使事情变得更加复杂.
我觉得在短时间内也有偷工减料的习惯.这导致未完成和不专业的产品和错误等待在以后出现.我想他们也很难维持.所以,我即将继承一个具有挑战性的代码库,进行新的开发,需要学习很多新东西,我想尝试同时为它们构建一个流程.它最终可能会有所回报,但由于经验不足,我不确定是否可以将其拉下来.
在这样的小商店里,环境远非编程的最佳选择.还有许多其他事情需要偶尔完成,如客户支持,接听电话,签署包裹,硬件测试,装配以及可能出现的任何其他任务.所以你了解了资源.这并不全是坏事(有时解决一些客户问题很有启发性),我相信它可以改进,但这是我真正关心的其他事情.
是否有可能在这样的地方进行开发?
进行某种管理会有所帮助吗?什么样的?
是否有可能用小资源制造优质产品?
我如何让自己和其他人相信几十年来成功运作的公司需要改变?什么是必要的?
也许有人在类似的商店工作?
互联网上有大量与编程相关的博客,但我正在寻找专注于嵌入式系统软件的资源,当然还有硬件的东西.
你读什么博客,播客,新闻通讯,网站等来学习新东西?每个嵌入式工程师都应该了解嵌入式系统专业人员吗?
与此问题相反:"软件开发人员难以进行低级嵌入式系统编程"我想请求从低级嵌入式系统转向使用OS的更高级系统(尤其是嵌入式Linux)的编程.
我主要使用小型微控制器硬件和软件,但现在只使用软件.我的教育主要包括硬件和嵌入式东西.我没有很多编程课程,也不太了解软件设计或OO编码.
现在,我手中有一个很大的项目,将在嵌入式Linux中完成.我在设计事物和保持可管理性方面存在重大问题,因为我之前并不需要这么做.同样利用多任务和阻塞调用而不是从主函数运行"并行"任务就像另一个世界.
从低级编程转向使用OS(Linux)的大型系统,您有什么样的经验?什么是难的,你是如何解决的?需要什么样的心态?
是否值得从零学习C++或继续使用普通C?
我正在试图找出一个与域套接字一起使用的协议,但无法找到有关域套接字如何盲目信任的信息.
数据会丢失吗?邮件的收到顺序是否与发送的顺序相同?即使使用数据报套接字?
转移是原子的吗?在阅读套接字时,我是否可以相信我在一次阅读时得到了整个信息,或者我是否必须自己查看?
embedded ×2
ipc ×2
linux ×2
sockets ×2
blogs ×1
methodology ×1
posix ×1
reliability ×1
resources ×1