求教 什么情况下需要用操作系统
我一直做工控类的嵌入式开发,以前以51为主,现在逐渐的用ARM的也越来越多。全部都是俗称的裸奔从来没在产品中用过操作系统,大概了解过UCOS。
请问各位,什么情况下,需要使用操作系统。或者说,使用了操作系统,能给我们带来什么。 本帖最后由 鼻儿眼睛花 于 2014-5-6 21:23 编辑
看你的开发规模,操作系统能够让多个人的工作 很容易就整合到一起,维护也很容易,就跟电脑安装软件一样。操作系统还可以让你更加简单的规划你的程序框架,使你的程序框架更加复杂,还可以更加方便的规划你的任务紧迫关系,最大化利用CPU计算能力。总之,太多了。
工程具有一定的规模了的话,优势就自然凸显出来了。
唯一的劣势就是运行系统需要花费一定的硬件资源,还有可能需要购买授权许可。 点个led灯也可以用系统 同意2L,主要是为了模块化编程。所谓的实时,并不一定比裸奔快。
其实主要是软件的规模吧,如果是5K代码以下,区别不是很大。
另外,可能是为了实现一些功能,例如GUI,文件系统等,都是建立在OS的基础上的。 GUI、文件系统不一定非要用刀os。
看复杂度了。 太阳花 发表于 2014-5-6 21:50
点个led灯也可以用系统
我确实在开发板上这么干过 还是看项目复杂度和成本 要不要选择一款OS
1. 好多人共同code,估计要上OS了,或者自己制定一套规则,大家遵守?
2. GUI, 网络等复杂功能时,考虑使用OS(因为OS都会提供这些)
3. 对于实时性来说,肯定没有裸奔实时性来得好,当然裸奔的任务多起来的时候 会发现任务执行时间(一圈)会越来越长,导致很多不可控的时候就开始考虑增加一款至少是调度器了吧
4. 还没想到{:lol:} 嵌入式实时操作系统,主要就是利用它的实时性,比如当你的程序中有好多if判断时,执行效率低,响应时间也可能跟不上,这时候你就可以考虑加入操作系统,把每个if抽象成一个任务,在操作系统中它们是并行执行的,就不会出现响应时间跟不上的问题。当然这只是加入操作系统的一个好处,当用到网络通信的时候操作系统就必不可少。实际上,当你加操作系统时,就是点个灯也想加个操作系统进去! 对于一定规模的软件操作系统都是有的,裸奔的其实是自己写的操作系统
自己写得好还是通用的好? 主要还是划分任务方便吧,实时性的话控制好程序架构应该还是裸奔最高。不非常熟悉操作系统还是不要用了,有问题找不出会被搞死。 太阳花 发表于 2014-5-6 21:50
点个led灯也可以用系统
这是老兄明显是来砸场的{:biggrin:} 不开心了就OS一下;开心了就裸奔;
BOSS要求了就OS一下,不要求了就裸奔;
跑不动了就OS一下,跑得动就裸奔;
一切看心情,看BOOS,看体力! 学习了,想了解嵌入式系统开发的技巧,哪位大神可以指点一二?
如果是用比较多的外设库,协议栈,有的OS带有完整的或是第三方提供的资源是基于OS的,这时用OS会方便 跑OS在OS下编程 和调用库编程 有多少区别? 编程上说, 上操作系统并不影响使用库函数.
OS还是裸奔各有利弊, 主要看代码规模, 任务复杂程度以及数量, 实时性要求等.
上OS, 任务间配合会变得更加谨慎, 不然挂了, 找问题会更加困难.
还有毕竟是单片机, 硬件开销会因为上了操作系统变得敏感. 用上系统,以后维护和升级就方便了,比如UCOS,以后要加个功能,只要加个任务就好了 UCOS好像不是免费的吧
页:
[1]