火*味很重

[复制链接]
10205|77
 楼主| 学生D 发表于 2009-2-19 13:47 | 显示全部楼层 |阅读模式

若采用10mS节拍,则系统要组成10个任务,那么在任一节拍处理程序中,

每个用户将平分此节拍,即每个任务可至少获得1mS的时间来运行该任务

程序。

*********************************************************************

那么请问,如果我的系统有200个任务。在星期一到星期五,每天的活动任务数目要求不一样,今天可能是10个,也可能是100个;这种情况下,如何设置系统节拍时间?100个任务运行时间之和,这一时刻可能是100ms,下一时刻可能是200ms,OS节拍ISR如何处理?

一个节拍时间内把所有的用户任务运行一遍?!世界上有这种OS?难怪HOT说地球人想不到,他在玩裸奔!吴教授当然无法和他谈到一起,因为HOT跟教授谈的根本不是OS理论,他不过是把OS中的一些方法揉进裸奔程序中。标称“裸奔式OS”,就算是所有地球人都想不到的创新了,就自称自己是神了,——“HOTPOWER不是神”,变相自我标榜?

OS理论:虚拟计算机概念;OS视每个任务为一个独立的MCU,运行时它具有自己独自使用的资源。与其他任务无关,这样,一个复杂的系统设计,就可以划分为多个独立不相关(或相关)的任务(进程),每个任务单独编程设计,和其他任务无关(或简单通信关联),这样把复杂程序理不清的关系化简了。(菜鸟也可以设计出高质量的系统了)。

HOT在一个节拍中要把所有任务运行一遍?把本来独立不相关的任务强行扯到一起,太开玩笑了吧,10ms运行10个任务?这是什么OS?那么我其中有一个任务需要延时25ms,你如何设计ISR?

OS接拍中断如果运行了任何用户任务,那还叫OS么。一个OS对用户来说,是看不见的。——例如WINXP。HOT却要求把它和用户程序糅和到一起。

如果一个OS应用时要求用户时刻感觉到它的存在,还要用户自己计算自己的100个任务运行的时间之和,——别算错了,呵呵,我情愿用ucos51。您的裸奔式OS,太“神”了,自己留着用吧。
zyok 发表于 2009-2-19 13:51 | 显示全部楼层
ZRL700424 发表于 2009-2-19 14:21 | 显示全部楼层
forthlab 发表于 2009-2-19 17:04 | 显示全部楼层

我理解这种裸奔是很多的状态机组合

在一个节拍内所有的状态机激活一次是可能的.
关键是状态机的时间片要划分的比较小.

我现在也是这么用的.
估计LZ理解有误.
冷漠 发表于 2009-2-20 09:58 | 显示全部楼层

支持4楼!

4楼的看法对HOT即将开源的OS真是一个绝妙的形容和讥讽:他编写的OS不过是一种裸奔状态机组合?

这和OS理论相差甚远,也难怪LZ不能理解了。
athlon64fx 发表于 2009-2-20 10:22 | 显示全部楼层

re

呵呵..
对于OS来说,节拍是最小时间单位.
HotC51 发表于 2009-2-20 11:04 | 显示全部楼层

哈哈~~~楼主也自己做个和HOT来个PK,移植的不算本事~~~

HotC51 发表于 2009-2-20 11:09 | 显示全部楼层

一个任务需要延时25ms,现在俺是轻轻松松的~~~

 楼主| 学生D 发表于 2009-2-20 11:56 | 显示全部楼层

回7楼:要PK?小意思。

仅只一步恐怕HOT老师就要输:

先请回答下面问题:谁答不好自愿服输。

1、在MCU_OS设计中,延时和超时的概念有什么区别?请写出相应函数表达出这种区别。

(可别咬文嚼字做不出题说咱题意不清,这题目是操作系统教程书上来的。)


没两把刷子,也不敢跟HOT老师PK。老师接招吧。
HWM 发表于 2009-2-20 12:09 | 显示全部楼层

LS:俺今天刷墙缺把刷子,能借一把吗?

程序匠人 发表于 2009-2-20 12:18 | 显示全部楼层

呵呵,观战

McuPlayer 发表于 2009-2-20 12:21 | 显示全部楼层

我们的口号是“看PK,学知识”

765vcf 发表于 2009-2-20 12:21 | 显示全部楼层

借把给俺刷马桶

huangqi412 发表于 2009-2-20 12:21 | 显示全部楼层

有老hot在,就有热闹看

lost1421 发表于 2009-2-20 12:34 | 显示全部楼层

我也有个问题

若采用10mS节拍,则系统要组成10个任务,那么在任一节拍处理程序中,每个用户将平分此节拍,即每个任务可至少获得1mS的时间来运行该任务程序。
---------------------------------------------------------------------1、10ms为一个节拍,10个用户平分,如何分配才能保证每个任务可至少获得1ms的时间来运行该任务程序?
2、如果某一个任务运行的的最短时间是1.1ms,请问如何平分使得每个任务可至少获得1ms?

os理解的不够透彻,望指教!谢谢!
hqgboy 发表于 2009-2-20 13:12 | 显示全部楼层

闲看....

sz_kd 发表于 2009-2-20 13:14 | 显示全部楼层

呵呵,路过不说话

zyok 发表于 2009-2-20 13:48 | 显示全部楼层

再次路过~

3.3v 发表于 2009-2-20 15:48 | 显示全部楼层

呵呵,隔山观虎斗,俺在学习中..

luowei2651 发表于 2009-2-20 16:02 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

179

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部