免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 3197 | 回复: 20
打印 上一主题 下一主题

什么(硬)实时OS还要什么相应的实时调度算法?我认为这是错误的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-15 21:29 |只看该作者 |倒序浏览
尽然有实时的要求,那就应该在确定的时间内调度实时任务,也就是挑最紧急最重要的任务执行,根本就没选择的余地。怎么还需要什么调度算法来选择?

比如实时系统常提到的汽车安全气囊案例,发生碰撞事件时,肯定是打开气囊,难道还要算法来选择,还有可能选择到其它任务而不打开气囊么。我觉得这些说法挺
搞笑,总是要把简单事情搞得很复杂,看起来很高深一样

论坛徽章:
0
2 [报告]
发表于 2012-02-15 22:56 |只看该作者
当然需要调度算法来选择,真实的系统是很复杂的,一般都是多任务或者多进程的os,同时,可能有多个程序在执行,挑最紧急最重要的执行也要“挑”,这个挑就是调度的意思。通常,若是,不考虑中断打扰的话,一个程序会一直占用cpu,除非主动放弃,当来了个中断后(典型是时钟中断),中断处理完毕,就会引发一次调度,这个时机就是“挑”出是否有更紧急的任务需要执行的时候了,若是没有这个挑的过程,怎么做实时性呢?除非是特别单纯的系统,就一个任务。

论坛徽章:
0
3 [报告]
发表于 2012-02-16 07:02 |只看该作者
本帖最后由 mordorw 于 2012-02-16 07:05 编辑

实时系统,比如汽车安全气囊中,那CPU监控和处理撞击事件了,你的系统为什么还要干别的事呢,比如播放音乐之类的?即便是正在干别的事,一旦撞击事件中断了CPU,系统应该无条件地立马选择撞击事件处理任务处理,所以我认为在这样的场景下,逻辑很简单,连表都不用,直接一条if语句搞定,根本不存在神马调度算法。再进一步地考虑,这样的实时性处理完全可以由专有系统处理,撞击事件来了就立马处理,就这么一个简单的逻辑,还用得着神马算法?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
4 [报告]
发表于 2012-02-16 08:14 |只看该作者
回复 1# mordorw
尽然有实时的要求,那就应该在确定的时间内调度实时任务,也就是挑最紧急最重要的任务执行,根本就没选择的余地。怎么还需要什么调度算法来选择?

呵呵,LZ有钻牛角尖的倾向啊。。。
一个操作系统,总得有任务切换吧,那切换的时候切换那个任务?总得调度吧?
是,如果发生事故的时候调度安全气囊,但是如果没发生的时候呢?难道就不需要调度了?难道你的系统一直都在执行一个任务?

   

论坛徽章:
0
5 [报告]
发表于 2012-02-16 09:03 |只看该作者
你的讲法的确没错~但是人总是想向最佳解研究,如何最有效使用CPU同时又可以符合硬实时才是这些人研究的重点吧~
不过的确是有一些人认为不该把事情搞的那么复杂~比如linus就不认为需要把linux改成一个完全符合实时的内核,那应该用简单的内核即可

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
6 [报告]
发表于 2012-02-16 11:42 |只看该作者
任务有很过,紧急任务也多,总得选个最紧急的任务

论坛徽章:
0
7 [报告]
发表于 2012-02-17 07:04 |只看该作者
xbjpkpk 发表于 2012-02-16 11:42
任务有很过,紧急任务也多,总得选个最紧急的任务


那不还是我说的选择最紧急最重要的任务么,比排序算法还简单

如果有多个实时任务同时触发,如果硬件能力不够,那就没法保证所有实时任务都能保证实时性,调度算法保证不了,调度算法只能排序

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
8 [报告]
发表于 2012-02-17 10:59 |只看该作者
本帖最后由 linuxfellow 于 2012-02-17 11:01 编辑

回复 7# mordorw
好像有点明白你的意思了: 你是说书上不应该文绉绉的说“实时调度”,应该说得白话一点“选择最紧急最重要的任务”


   

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
9 [报告]
发表于 2012-02-17 11:09 |只看该作者
回复 7# mordorw


     计算机没有你想的那么聪明,他哪里能事先知道现在等待调度的事件哪个是最紧急的,只能根据调度算法。

而你说的撞车后弹安全气囊,这个 你可以 想成不需要调度,这两个是在同一个事件中,就是等安全气囊弹出来后才会去调度其他事件

论坛徽章:
1
午马
日期:2013-09-10 11:03:08
10 [报告]
发表于 2012-02-17 11:15 |只看该作者
还有就是 调度算法的实时性,这个也是相对来说的,你可以看下操作系统 调度方面的书,不是看代码哈,是大学教材。

你会发现 实时只是相对于别的调度算法的

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP