{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

只能比较rtos和linux哪个更有前途?

cc17cc17 回答0 收藏1
收藏问题

5条回答

qc1iu

qc1iu

回答于2022-06-28 11:37

个人感觉这两种系统没有可比性。听起来感觉可能有点答非所问和匪夷所思,但实际上搞技术就是这样,很多情况下我们需要跟着自己的饭碗走,如果当前企业是搞单片机的,那么自学一下rtos已经很不容易了,当然很多人可能说学linux进步更大,但需要花费的也更大呀。如果从事的是裸机开发,那么学习rtos已经完全可以获得有用的进步了;如果当前从事的开发需要rtos,这时候掌握了工作所需的rtos以后,学习一下linux对自己的职业生涯也好,技术提升也好,都有很多实质性的帮助。单纯来论rtos或者linux那个有前途很难回答,rtos相对linux来说,难度低一点这是肯定的,但用人的企业也多呀,linux高级,但用人的企业也少的可怜,而且,linux已经太高级了,高级到一个人究其一生也无法研究透彻。。。对任何人来说,总不能一辈子搞技术吧。四五十岁以后,就算你还有雄心壮志在技术的路上走下去,聘用你的企业,也不敢或者说不会再用你了吧。所以说,抛开自己的工作环境来谈哪个有前途,非常没有意义,从我周围朋友就业情况来看,学生时代,最好还是多少学习点linux开发,至少懂一点开发的流程或者思想。真正工作以后,能够从事驱动、内核开发的人少之又少,能够在某一rtos上深耕,已经很不错了。。。

评论0 赞同0
  •  加载中...
不知名网友

不知名网友

回答于2022-06-28 11:37

现在的RTOS从任务管理方式可分两类,一种是抢占式的,一种是时分式的,前者多用于实时性较高的应用,后者用于实时性不高而事务较复杂的大型OS,当然现在许多OS都是两者兼有,还有一些就是协作式多任务OS。

像现在的许多小RTOS都是前者,要求每个任务的优先级不同,当某个高于现任务优先级的任务就绪就会产生新的任务调度,这种OS提升了系统的实时性,但也带来了编程者的一些麻烦,比如有时有些任务本身就是平等的,我们希望能各个任务各执行一定时间再切换就会感到相当为难,每个任务除非自已放弃或有更高优先级的任务就绪,否则是不会产生任务调度的,当任务较多时,低优先级任务的协调是很麻烦的。

现在较好的VXWORKS、NECLUE、μCOS-III等多任务OS则是上面两者的结合,既可由任务的优先级产生调度,也可由时间片到产生新的任务调度。

实际在选用多任务OS前,建议先看看项目是不是真需要用OS!如果任务可折分性较差,折分后的各任务间有N多的同步问题和复用资源问题,那还是放弃用多任务OS,或将这些功能都放在一个任务里,多任务未必就好!

如果你的任务独立性强,互相间的依存关系不强,那么采用分时OS,这样做会使你的代码编写真正体会到多任务的优点;如果任务相互有一定关联度,你还要对OS的内存管理机制、任务间的通信机制、同步机制等做较详细的调查后再先定用什么OS。

他认为目前国内的研发厂商和公司形成了一个怪圈,就是人人研发LINX的嵌入式应用,好象LINX是块不要钱的肥肉就会很好用一样。LINX本身是为桌上系统研发的多进程多线程OS,2.0的代码量有几百万行,其中的大多数是嵌入式应用不需要的,而且里面本没有抢占式多任务核,如果你的应用对实时性较高,那你就要自已写这个抢占式核,当然是可以写出来的,但你要在里面花上很多时间才能写出一个没经过实际应用的不可靠的RTOS,绝不是明智之举。一个成功的嵌入式RTOS可能只需要5个一般的工程师就可以写出来,但要50个相当历害的工程师来调试和DEBUG,还要500个工程师试用。现在选LINX一方面是商业的抄作,一方面是老板们的惜小钱而失大利,更多的是工程师们希望能做一些有挑战性的工作。但这结果有多少是如人愿呢?事实上,大多情况是项目流产,工程师们又跑到另一家公司接着玩,这样的恶性循环何时才能结束!

这个世界本来就是有分工的,有些人研发OS,有些人用OS开发产品,不要想从种大米开始!买的那怕是个最烂的OS也一定比几个工程师花上一年改出来的面目全非的LINX好N倍,嵌入式LINX的结构和应用迟早会有一个国际化的标准,这个标准不会是由一两个工程师的改写而决定,如果是专门研发OS为生的公司,我给100倍的支持,如果是想自已改一个OS自已用,我觉得那还不如买一个OS,把你的智慧用在产品的优化和早日面市上吧!可能有人会说人家的OS不如自已的好用!别人现成的商品化OS你都用不好,那你在LINX这口大井里改出来的OS能好用吗?!


评论0 赞同0
  •  加载中...
smartlion

smartlion

回答于2022-06-28 11:37

linux是超级计算机里的系统,连续开几年都流畅运行,除非断电,现在人们开始想到它的稳定性,由于WINDOWS和安卓也开始针对这个系统开发相应的软件和硬件了,替代WINDOWS是迟早的事

评论0 赞同0
  •  加载中...
lufficc

lufficc

回答于2022-06-28 11:37

嵌入式系统分三种,no-os rtos linux,这三种是相辅相成的,要深入,必须全部学。学嵌入式先学硬件,不会寄存器不懂通讯时序,永远只是停留在入门级别。从no-os寄存器操作开始,到rtos,到linux,事半功倍。拿到datasheet就能写出程序来,才算是真正入门了。这三种系统是不能相互替代的,复杂的项目,三种全部会用到。

评论0 赞同0
  •  加载中...
vspiders

vspiders

回答于2022-06-28 11:37

从开发人员的角度看,Linux显然更有前途。

Linux适用于各种嵌入式终端,也适用于服务器开发。

如果想在Linux领域发展:(1)在芯片厂商(比如ucloud海思、高通、联发科等企业)从事Linux底层开发;(2)在互联网公司从事C/C++ Linux后台开发。 目前的就业环境而言,C/C++ Linux后台开发就业领域更为广泛,待遇也较高。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<