硬汉嵌入式论坛

 找回密码
 立即注册
查看: 7939|回复: 1
收起左侧

[μCOS-II] 转载:感谢网友 Lisuwei写的菜鸟能够快速跨入RTOS大门—《简易多任务OS设计.pdf》

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106959
QQ
发表于 2012-11-8 19:31:53 | 显示全部楼层 |阅读模式
转载来自:http://www.amobbs.com/thread-3247400-1-1.html
实时多任务操作系统之我见

        现在多任务操作系统在国内的工程师界形成了一阵狂风!做为一名在这方面有几年工作经验的小资人员,对项目要不
要用多任务操作系统用什么操作系统有我自已的一些看法,现在拿出来和大家谈为论一下。
      现在的实时多任务操作系统从工作方式来说可以分两类,一种是抢占式的,一种是时分式的,前者多用于实时性较高的
应用,后者用于实时性不高可用性较高的大型操作系统,当然现在许多操作系统都是两者的综合品,还有一些就是协作式多
任务操作系统。这两者分别有什么好处和坏处呢?
      像现在的许多小实时多任务操作系统都是前者,要求每个任务的优先级不同,当某个高于现任务优先级的任务就绪就一
定会产生新的任务调度,这种操作系统最大的提升了系统的实时性,但是也带来了编程者的一些麻烦,比如有些时侯有些任
务本身就是平等的,我们希望能各个任务各持行一阵时间再切换就会感到相当为难,每个任务除非自已放弃或者有更高优先
级的任务就绪,否则是不会产生任务调度的,当软件任务较多时,低优先级任务的协调是很麻烦的。如AMX
       时分式的多任务操作系统则是采用系统时钟分出一个个的时间片,每个任务声明时分配给任务若干个时间片,一个任务
的时间片结束后产生任务调度。这样做能使任务的独立性较好,但是实时性就会相应下降。
       现在比较好的VXWORKS、NECLUE等多任务操作系统则是上面两者的结合品,即可由任务的优先级产生调度,也可以
由时间片到产生新的任务调度。
     工程师在选用多任务操作系统前要先看看自已的项目是不是真需要用操作系统!如果你的任务可折分性较差,折分后的
各个任务之间有N多的同步问题和复用资源问题,那么算了,我觉得你还是不要用多任务操作系统,或者将这些功能都放在
一个任务里面,不要有事没事就觉得多任务好!多任务是用降低实时性来换取软件开发的独立性,不要被实时多任务操作系
统的实时两个字骗了,这个实时只是相对于其它非实时性多任务操作系统来讲的,实时性最高的当然是你自已编写的单任务程
序。
   如果你的任务的可折分性强,那么就可以用多任务操作系统,如果各个任务的实时性要求不高,独立性较高,互相之间的依
存关系不强,那么你可以采用分时式的多任务操作系统,这样做会使你的代码编写真正体会到多任务的优点;反之你就最好
要先一个带抢占式核的多任务操作系统。
   同时你还要对操作系统的内存管理机制、任务间的通信机制、同步机制等做了比较祥细的调查后再先定用什么操作系统。
   目前国内的研发厂商和公司形成了一个怪圈,就是人人研发LINX的嵌入式应用,好象LINX是一块不要钱的肥肉就会很好用
一样。LINX本身是为桌上系统研发的多进程多线程操作系统,2.0的代码量有几百万行,其中的大多数是我们嵌入式应用不需
要的,而且里面本没有抢占式多任务核,如果你的应用对实时性要求较高那你就要自已写这个抢占式核,当然是可以写出来
的,但是你要在里面发上很多时间才能写出一个没经过实际应用的不可靠的实时多任务操作系统。对此我是相当不以为然的!
我认为有一两个专门的公司去研究LINX的嵌入式应用就行了,用不着人人皆兵。一个成功的嵌入式实时多任务操作系统只需要
5个一般的工程师就可以写出来,但要50个相当历害的工程师来调试和DEBUG,还要500个工程师试用。现在选用LINX一方面
是商业的抄作,一方面是老板们的惜小钱而失大利,更多的是工程师们希望能做一些有挑战性的工作。但这结果一般是不理想
的,大多性况是项目流产,工程师们又跑到另一家公司接着玩,我狂晕,这样的恶性循环什么时侯才能结束!

   这个世界本来就是有分工的,有些人研发操作系统,有些人用操作系统开发产品,不要想从种大米开始!买的那怕是个最烂的
操作系统也一定比几个工程师花上一年改出来的面目全非的LINX好N倍,嵌入式LINX的结构和应用迟早会有一个国际化的标准,
这个标准不会是由一两个工程师的改写而决定,我们不过是些炮灰而已,如果是专门研发操作系统为生的公司,我给与100倍的
支持,如果是想自已改一个操作系统自已用,我觉得那还是算了!还不如买一个操作系统,把你的智慧用在产品的优化和早日面
市上吧!可能有人会说人家的操作系统不如自已的好用!我狂晕!别人现成的市品化操作系统你都用不好,那你在LINX这口大井
里改出来的操作系统能用吗!哈哈哈!
     以上只是我个人意见,是对是错只有时间来说明了,我预见3年内LINX的嵌入式应用会标准化,而且主要是用在PDA上为主。



简易多任务OS设计.pdf.pdf (375 KB, 下载次数: 292)
回复

使用道具 举报

1

主题

38

回帖

41

积分

新手上路

THINK

积分
41
发表于 2013-10-27 12:19:30 | 显示全部楼层
观点比较认同,动不动就是LINUX,面对的对象不一样,LINUX更多的用于桌面。
不过未来uclinux能不能起来,就不知道了,已经看到有人做出来了。
i love ARM
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 04:58 , Processed in 0.171250 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表