半个系统软件工程师的困惑

MBD与AUTOSAR:汽车电子工程师系统化能力跃迁与职业发展路径 在汽车电子和嵌入式系统开发领域,基于模型的设计(MBD)和汽车开放系统架构(AUTOSAR)代表了现代复杂系统开发的核心方法论。MBD通过模型仿真、自动代码生成和持续验证,将控制算法开发从手写代码转变为可预测、可验证的工程化流程,其核心价值在于提升开发效率、保证代码质量并降低后期修改成本。AUTOSAR则通过标准化软件组件接口、运行时环境和基础软件抽象,解决了多供应商软件集成与汽车电子电气架构复杂度管理的难题,为软件定义汽车提供了基础框架。掌握这两项技术,意味着工程师能够从模块级实现者转向系统级设计者,其技 阅读详情

前言:这篇文章之前发布在弯曲评论,有很多大牛的评价,值得一看:

http://www.tektalk.org/2012/01/20/半个系统软件工程师的困惑/#comments

半个系统软件工程师的困惑
半个系统软件工程师,是对自己的评价,因为清楚成为一个系统软件工程师要求的掌握的知识实在太多了:OS,处理器,编译器,协议栈,硬件等,希望自己能达到半个的水平:)。
开宗明义,我是H公司的,06年进入,一直从事平台软件的开发。但现在对于如何发展却存在很大的困惑,因此,期望得到各位前辈的指点。
在公司,有幸听到了陈首席的一次讲座,题目好像叫系统软件工程师的方法论,当时印象比较深的有三点:1,在通信公司做系统软件,做好能掌握总线技术。总线技术是我的薄弱点,属于两眼一抹黑,一直心有戚戚;2,cache是最容易忽略,又是最容易犯错的。之前公关xscale的cache问题就很有印象,听了此话后,又赶紧回去翻翻arm,ppc的手册,把cache的相关章节好好过一遍;3,系统软件工程师比较容易受委屈,很多问题虽然不是你的问题,也要你去定位分析。这点特别有感触啊。
略举例一二:
有个简单的功能模块提供了索引机制,供业务模块使用,业务模块不停的有释放申请呼叫控制块的操作,通过索引功能,可以快捷的申请到控制块。有个问题发现申请到索引非值常大,超过了正常范围,经分析,为索引的数据结构被踩了(虽然有内存分段隔离机制,但还是避免不了啊),业务模块踩内存的可能性比较大,排查了好久,也没有找到。当时部门领导就说了:找不到问题就是你的问题。我在旁边听了,那个郁闷啊(此问题非我分析,由同组的另外一个兄弟操刀),但想想,还能拍桌子不成。
有一个ftp下载的问题,有个兄弟分析了几天也没用进展,我协助分析下,很快就找到原因。直接主管说了一句话:感觉你定位问题好有天分啊。虽然是表扬,但心里郁闷啊,他哪里知道以前的我,为了定位一个丢包问题(测试抱怨呼叫一晚上,总是有十几次的呼损,分析原因就是MOT(MessageOverTCP)丢包了,当时为了定位这个问题,窝在实验室抓包,分析码流,最后发现是接口板的微码做完五元组后重算校验和时,进位的那一行代码有BUG。后来其他的一些丢包断链问题,让我把红宝书翻了好几遍,TCP的实现代码也仔细分析了一把。领导只是看到了结果好像很轻松,哪里知道后面付出了多少代价。
之前的系统是基于vxworks的,为了能快速分析出现的问题,还把vxworks的源码分析了一遍,重点代码研究了好几次(任务调度切换,中断异常,信号量,内存)后,打开源码,顺着目录一个个文件的阅读。后来看到了士兵突击里许三多说按字母顺序看图书,鼻子一酸。
    这两年整linux+x86,又是一次艰巨的任务。
    抱怨了这么多,感觉走系统软件工程师这条路,实在太辛苦了,学的东西多,发展又慢,还需要给别人擦屁股,现在不知道何去何从。看着做业务的,个个上升的很快,实在是羡慕嫉妒恨啊。之前分析问题时,也浏览过部分业务软件,就是个大case啊,解析消息,回应答,心有不甘啊。
1,系统软件(偏向于OS方向)有多大的发展前途,感觉就只能在可靠性,可维护性,适配上下功夫。
2,去互联网公司(如百度,QQ,假设能去的话)整系统软件会比在H公司更有前途吗?
3,转行做APP呢?


新年来了,顺祝各位弯友龙马精神,家庭幸福。


备注:系统软件(偏向于OS方向)有多大的发展前途,感觉就只能在可靠性,可维护性,适配上下功夫。

----这里是从代码层面说的,与学界的研究不是同一个意思。

PCIE Lane Margining Linux 环境配置 Copy all the provided files in folder PYC38 or PYC310 to the created pcie_lmt folder. Index of /ftp/python/3.8.10/Copy below commands to a file and rename it as "scan_pcie.py", the commands are from "685662 PCIe-LMT-Gen4_Gen5-r0p77.pdf" in the lane margi 阅读详情

相关推荐

保姆级教程:如何用Le2i Fall Detection Dataset训练你的跌倒检测模型(附数据集下载)

本文提供了一份详细的实战指南,教你如何使用Le2i Fall Detection Dataset训练跌倒检测模型。内容涵盖数据集的深度解析、预处理与工程化管道搭建、模型选择与训练策略,以及评估优化与部署考量,旨在帮助开发者从零构建高精度、可应用的跌倒检测系统

assembly8low的博客 1239

「职业职位」软件“开发者”和“工程师”有什么区别?

工程师使用工程原理监督整个系统,而开发人员则专注于创建功能性软件。答案吗?这取决于你问的是谁!这些角色之间并没有正式的区别,公司使用自己的经验和知识来定义符合他们需要的描述。更让人困惑的是,区域差异也可能存在,即教育方面的明显差异。但是,可以评估和分析各种数据来源,以便从中得出结论。根据计算机科学学位中心的说法,软件开发者和软件工程师的角色是不同的:软件工程是指应用工程原理来创建软件。软件工程师通...

全网:架构师研究会 793

正捷电缆报价系统5.0_crack

正捷电缆报价(老板5.0),带自制到期清除补丁,电缆报价好帮手。

嵌入式系统的学习困惑、知识体系、及学习建议

情景知识了解:嵌入式分类 Ⅰ. 电子系统智能化类(微控制器类): 应用领域: 主要用于工业控制、现代农业、家用电器、汽车电子、测控系统、数据采集,一般称为微控制器(MCU)。 技能要求: 注重软件、硬件协同开发,开发者必须掌握底层硬件接口、底层驱动、软硬件密切结合的开发调试技能。 操作系统: 通常使用实时操作系统(RTOS),如MQXLite、MQX、FreeRTOS、uCOS-III、uC...

菜鸟的博客 1920

一个配置管理员的困惑

作配置管理快两年了,最近遇到了件很郁闷的事。前一段时间老总跟我说马上制作一个××项目当前成熟的版本给客户去试用,然后就走掉了。每次当我出版本的时候都会遵循代码提交-收集-系统构建-安装-测试这样的基本流程去做。 但是当我们费了九牛二虎之力终于出了一个系统软件版本的时候。有些开发人员跑过来跟我说:在你出版本的这段时间我们又增加了不少新的功能,你现在的版本是 旧了,必须要把我们新加的功能加到这个版本中

谷雨霖 msn:cabinhome@sohu.com 970

上网时间监控软件_推荐一款免费的员工电脑监控系统软件

推荐一款免费的员工电脑监控系统软件!目前,市面上的电脑监控软件能实现的功能大概就是,对员工电脑操作进行行为审计和管控,员工电脑监控系统软件是通过对员工上网行为审计和管控来达到管理员工上网行为的目的。企业电脑部署电脑监控软件,是实现IT回报率的一种有效方法,此外,法律支持公司将在线数据保留60天。因此,现在有越来越多的企业在公司电脑部署电脑监控软件。 这种软件好像没听说过免费的,宣称免...

weixin_39720510的博客 511

心理测评预警系统软件云平台,具有生理信号接口,吸引力强

心理测评预警系统软件云平台,具有生理信号接口,吸引力强 对接第三方生理传感器、预留生理心理信号接口,捕捉脑电、皮电、心率等信号功能,这是合君心理测评预警软件云平台具有的一个功能,不夸张地说,这个功能我们并不觉得多牛逼,只是众多亮点中的一个。直到今天我依然这样认为这个功能相对于量表编辑器来说,并不怎么起眼。 但是对于四川王总这样有生理心理信号分析软件的公司来说,就具有很强的吸引力。因为能够将自己固有产品跟心理测评软件对接,特别是具有云架构部署的心理测评预警软件对接,相当于直接给自己的产品插上了翅膀,这就具

xinlishapan的博客 785

程序员的职业发展有几个选择?程序员转行的困惑与方向!

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…同时,如果你可以一直保持着对特定领域技术的专注度,那成为神一样的技术专家也只是时间问题,当然正真的技术大牛,收入上也远不是问题。

Python_paipai的博客 1162

奖金池200万元!FlagOS开放计算全球挑战赛邀您参赛!

在人工智能浪潮中,大模型的快速发展正深刻重塑千行百业,但同时也带来了前所未有的技术挑战与性能瓶颈。一方面,模型规模激增使得底层算子性能成为制约训练推理效率的关键因素;另一方面,面对有限的算力资源,如何实现极致推理吞吐,降低部署成本,已成为产业落地的核心难题。此外,模型进化严重依赖高质量数据,而传统长上下文、复杂场景的数据标注工作成本高昂、效率低下,阻碍了技术的敏捷迭代与应用深化。为了系统应对这些挑战,赋能开发者突破瓶颈,FlagOS开放计算全球挑战赛应运而生。

2401_87243659的博客 282

2000亿芯片项目启动,工程师如何抓住半导体产业新机遇?

集成电路是信息产业的基石,其核心在于将海量晶体管集成到微小芯片上,实现复杂功能。其工作原理涉及设计、制造、封装、测试等多个精密环节,技术价值在于推动计算力提升和万物互联。随着国内大规模集成电路产业投资落地,芯片制造、芯片验证等关键环节迎来发展机遇。这为工程师和开发者开辟了广阔的应用场景,从嵌入式开发到EDA工具链,从DFT设计到先进封装,都需要具备软硬件结合能力的复合型人才。本文结合行业热点,探讨了在半导体产业链纵深发展中,从业者如何提升技能、寻找创业切入点,以应对芯片设计从“能用”到“好用且可靠”的跨越挑

weixin_34127717的博客 365

给所有想从事软件研发的年轻工程师的忠告与建议

一.我为什么写这篇文章:    这几天,在某个IT论坛的软件培训与认证栏目中,看到了很多处于迷惑之中的人们,也看到了许多大家普遍感到困惑的问题,写此文章的目的,是想将我这些年在软件行业从业的一些经验和体会讲给大家听,并对大家普遍关心也普遍困惑的问题进行一些阐述,我将尽我最大的可能告诉大家我所理解的事实真相,同时也衷心希望大家能够理智而清晰的看待自己的方向,前途,发展策略等问题,避开自己发展的误区。...

lansky07 155

紧急!大厂AI人才缺口巨大!开出82.5W年薪抢Agent/大模型工程师,速投!

无论你是手握建筑 / 土木 / 景观等专业背景,想带着项目管理、跨领域沟通等「隐藏技能」跨界转型的职场老手,还是刚踏出校园、对 AI 产品经理 / 机器学习工程师等岗位充满向往的应届毕业生 ——都能在这里找到心仪的机会!

m0_59163425的博客 1065

AI时代C++工程师培养计划:2026年高薪就业路线图

C++作为系统级编程语言,其核心价值在于对硬件资源的直接控制和极致性能优化。其原理基于零成本抽象、RAII资源管理、编译期多态等机制,能够在底层高效管理内存、并发和硬件交互。在AI时代,这一技术价值尤为凸显,成为AI基础设施、高性能计算和实时系统的基石。具体应用场景包括AI框架底层开发、模型推理引擎优化、自动驾驶系统和高频交易平台等。本文聚焦于C++在AI基础设施中的不可替代性,并提供一套从现代C++语法到AI工具链结合的系统学习路径,帮助开发者构建硬核基础与新兴领域结合的复合能力体系,瞄准2026年高性能

weixin_30516243的博客 341

面向失败的程序设计,不是句空话

面向失败的程序设计,是句空话么?不是。它应该是一个工程师最基本的职业素养。今天正好是周末,咱们慢慢来聊下这个话题。 2015 年 5 月,杭州市萧山区某地光缆被挖断,某公司支付软件受到影响,用户反复登录却无法使用,一时间 #XXX炸了# 成为微博热词;2021 年 7 月,某视频网站深夜宕机,各系产品所有功能似乎全崩,直至次日凌晨才恢复服务。这两个故事,导致吃瓜群众对企业技术实力产生了质疑和误解,影响颇深…… 从两个故事可以看出,对于失败场景考虑不充分对于企业声誉的打击有多大。站在程序员个体角度,面向失

weixin_43997319的博客 848

如何画出一张合格的技术架构图?

阿里妹导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善...

阿里技术 5938

apt remove vs apt purge:ubuntu软件包卸载

apt remove 和 apt purge 都做同样的事情,那就是卸载软件包。这是两者之间的唯一区别。让我分享一个使用 apt remove 和 apt purge命令删除 mplayer 应用程序的实际示例。在这两种情况下,您都必须从用户的主目录中删除剩余的配置文件,并运行 apt autoremove 以消除任何剩余的依赖项。如果您以错误的方式配置了应用程序并希望从头开始,则 apt purge 命令是前进的方法。但是在各种论坛中,您可能会遇到使用 apt purge 命令完全删除应用程序的建议。

二进制君 4680

JAVA大数据【前言】- 知识体系

1.目地2.特点意义3.适宜对象1.目地:毫不避讳的讲,首先是为了我个人的博客事业成长以及自我价值的实现,其次才是为了传播分享大数据知识,本人虽没有什么传奇色彩的身份背景,又是博客领域的见习生,但自诩拥有异于常人的理解力与钻研性,对其具有一定的洞见,因此如果我的文本逻辑或知识理解让你感到困惑,敬请批评指教...2.特点意义:以企业需求为导向以抽象对照为讲解方式的理学(理论学习)以实战项目来真实反馈的心学(身心学习)以自更迭的方式维持课程的实时性3.适宜对象:编程爱好者在校生。

特点:事物为多面,他人为一面,我为一面,价值发展:令人心驰神往的不是别人的未来,而是站在巨人肩膀上的你 862

如何画出优秀的架构图?

点击上方“逆锋起笔”,公众号回复PDF领取大佬们推荐的学习资料作自:三画来自:公众号「阿里巴巴云原生」导读:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径...

code小生 132

软件测试从入门到精通_001_测试基础入门_001_软件测试介绍1

《软件世界的趣味解码》摘要: 软件是驱动计算机的魔法指令集,分为系统软件(如操作系统)和应用软件(如办公工具)。现代软件系统由前端界面、后端逻辑和数据库三部分组成。从灵感到成品需经历需求分析、产品设计、UI创作、编程开发、测试验证和运维上线六个阶段,最终接受用户体验审判。 测试工程师如同代码侦探,通过功能测试、接口测试、自动化测试和性能测试层层把关。测试方法分为白盒(透视代码)、灰盒(半知半解)和黑盒(用户视角)三种"颜色哲学",确保软件质量。整个过程充满技术与人性的碰撞,既有严谨的工程

欢迎来到测试猿的吐槽大会!这里没有鸡汤,只有段子。功能测试:在需求文档里找漏洞,在界面上玩大家来找茬。自动化测试:让代码替我加班,而我负责喝咖啡摸鱼。性能测试:给服务器施压,看它到底能扛几拳。全流程质量守护:从需求评审到上线,一路带刀护送。 641

华为笑话一则

今天中午听到一则有关华为的笑话: 话说一小偷潜入华为两周,最后空手而归,同伙问他原因, 他说:每天24小时都有人加班,没机会下手。 同伙说:那不是浪费了两周时间。 小偷说:也不是,我已经学会了吹牛和写胶片。 同伙说:这个有啥用?! 小偷说:怎么没用,我已经获取了华为的offer,明天就要去上班了。

imtgj的专栏 3038
上一篇: linux实时任务调度算法分析
下一篇: linux非实时任务调度CFS算法分析
imtgj
博客等级 码龄17年 9粉丝 35原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值