在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4009|回复: 13

[转帖]实时多任务操作系统之我见

[复制链接]
发表于 2003-9-4 15:45:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
LBHIDDEN[0]LBHIDDEN[这个贴子最后由yangtch在 2003/09/10 08:35am 第 1 次编辑]

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

[转帖]实时多任务操作系统之我见

我顶一下
发表于 2003-10-21 21:24:13 | 显示全部楼层

[转帖]实时多任务操作系统之我见

我也帮忙顶一下。
发表于 2003-11-2 23:36:47 | 显示全部楼层

[转帖]实时多任务操作系统之我见

没有吧!
而且主要是用在PDA上为主!
我见WINCE在PDA上跑的很不错呀!
发表于 2003-12-7 17:12:03 | 显示全部楼层

[转帖]实时多任务操作系统之我见

我深有体会。
我的感觉,linux在嵌入式系统有几个缺陷:
1.不是微内核,很多东西都在向内核中加,不安全;
2.不是抢占式的,修改麻烦。
3.在嵌入式产品没有统一的GUI,很难统一
4.在产品方面,没有一个商业化的独立测试机构为各种产品作测试定义,导致实际的产品开发周期在开始很难明确
5.最糟糕的是,作为free source的东西,外加的第三方应用都很贵,结果实际产品的royalty费用也很高。
现在,还是一些大公司的战略开发,用来作为讨价还价的筹码
不过用来搞一些数字家电还是不错的。
发表于 2003-12-7 20:18:14 | 显示全部楼层

[转帖]实时多任务操作系统之我见

说得很有道理!kevinjuke 有过很多实际经验吧,能介绍一下都做过什么工程么?
发表于 2004-4-1 01:03:26 | 显示全部楼层

[转帖]实时多任务操作系统之我见

我的方法是按照我的类似链接多任务的编程原则,实现可靠性极高的“多任务”。同时,结合定时中断分类(10ms、100ms等)启动一般的“任务”。
发表于 2004-4-1 09:17:12 | 显示全部楼层

[转帖]实时多任务操作系统之我见

发表于 2004-4-2 14:08:10 | 显示全部楼层

[转帖]实时多任务操作系统之我见

同意!
发表于 2004-6-14 15:59:55 | 显示全部楼层

[转帖]实时多任务操作系统之我见

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

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-3-12 13:20 , Processed in 0.036990 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表