IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:嵌入式系统

共 2 篇相关文章

IT 累计浏览 4,474

“好奇号”火星车和它搭载的软件(来自Erlang程序员的观点)

这篇讲的是,地球到火星长达20分钟的通信延迟下,NASA的“好奇号”火星车如何依靠软件实现高度自主的故障应对。文章从一位Erlang程序员的视角出发,带我们审视这套“地外”软件系统的精妙设计。 作者重点剖析了火星车软件的核心挑战:在无法即时干预、硬件资源有限且环境极端恶劣的条件下,确保系统的长期可靠运行。他将目光投向了Erlang这门以并发、容错和分布式著称的语言,并非因为它被直接使用,而是其蕴含的“let it crash”哲学和热代码升级等思想,与火星车软件的设计理念不谋而合。例如,当遇到未预期的传感器故障时,系统需要能像Erlang的监督树那样,快速隔离问题、重启关键进程,而不是导致整体停摆。 文章没有停留在理论对比,而是具体到了“好奇号”如何管理自身的有限计算资源,以及如何将复杂的任务序列转化为能在不同威胁级别下执行的自主指令集。这种将高可靠性理论(如Erlang)与极端工程实践相结合的分析,为嵌入式系统、分布式开发乃至高可靠架构设计提供了宝贵的跨界启发。

IT 累计浏览 6,195

C 语言的前世今生

这篇讲的是C语言骨子里那种工程师文化。它从1970年代诞生之初,就带着强烈的实用主义色彩,每一个设计细节都优先考虑解决实际问题,而非追求理论上的完美。 这种基因让它与UNIX操作系统深度绑定,几乎成了UNIX的“母语”。在那个时代,要在UNIX上开发,就必须用C语言与系统交互。这种紧密的结合不仅塑造了UNIX生态,其影响力更跨越了平台边界,深远地波及了后来的Windows桌面系统,并在当今的嵌入式开发领域牢牢占据着一席之地。 文章揭示的,正是这种“实用至上”的设计哲学如何让一门语言超越自身,成为构建整个操作系统世界的基石,并由此定义了几代程序员与计算机对话的方式。