打印

系统节拍,求指教

[复制链接]
2217|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dj狂人|  楼主 | 2014-4-5 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dj狂人|  楼主 | 2014-4-5 16:25 | 只看该作者
自己顶一个

使用特权

评论回复
板凳
wangch_sh| | 2014-4-6 10:20 | 只看该作者
系统节拍就是一个固定的时间,给每个任务分配一个节拍时间,每个任务运行这么长时间,再转到下一个节拍,运行下一个任务。

使用特权

评论回复
地板
dj狂人|  楼主 | 2014-4-6 12:06 | 只看该作者
那如果在下一个节拍到来之前这个任务还没完成呢

使用特权

评论回复
5
dj狂人|  楼主 | 2014-4-6 12:07 | 只看该作者
wangch_sh 发表于 2014-4-6 10:20
系统节拍就是一个固定的时间,给每个任务分配一个节拍时间,每个任务运行这么长时间,再转到下一个节拍,运 ...


那如果在下一个节拍到来之前这个任务还没完成呢

使用特权

评论回复
6
wangch_sh| | 2014-4-6 12:35 | 只看该作者
没完成转到下一个任务。要不然跟裸奔还有什么区别?

使用特权

评论回复
7
cool_coder| | 2014-4-6 15:23 | 只看该作者
系统节拍就是系统中的一个专用定时机制,它是完成系统延时服务和任务调度等核心功能的基础。

使用特权

评论回复
8
tiantianlianxi| | 2014-4-6 17:24 | 只看该作者
用中断设定一个固定的时间间隔,每隔一次进一次中断,你然后根据这个状态在主函数进行判断,执行相应的子函数就可以了

使用特权

评论回复
9
dj狂人|  楼主 | 2014-4-6 20:34 | 只看该作者
tiantianlianxi 发表于 2014-4-6 17:24
用中断设定一个固定的时间间隔,每隔一次进一次中断,你然后根据这个状态在主函数进行判断,执行相应的子函 ...

这个倒是知道,只是刚开始接触这些,好多东西绕不过来。我再研究研究,呵呵

使用特权

评论回复
10
dj狂人|  楼主 | 2014-4-7 09:54 | 只看该作者
wangch_sh 发表于 2014-4-6 12:35
没完成转到下一个任务。要不然跟裸奔还有什么区别?

如果放弃未完成任务的话,那不是在断点后面设置个标志位强行退出当前任务,因为中断发生执行完中断后回到断点的嘛,那这个这个标志位应该放哪呢,毕竟不知道程序执行到哪中断发生。我这样理解对吗

使用特权

评论回复
11
ningling_21| | 2014-4-7 10:24 | 只看该作者
dj狂人 发表于 2014-4-7 09:54
如果放弃未完成任务的话,那不是在断点后面设置个标志位强行退出当前任务,因为中断发生执行完中断后回到 ...

不是设置标志这么简单,还要保存当前任务的现场到堆栈,然后切换到下一个任务...

使用特权

评论回复
12
dj狂人|  楼主 | 2014-4-7 10:34 | 只看该作者
ningling_21 发表于 2014-4-7 10:24
不是设置标志这么简单,还要保存当前任务的现场到堆栈,然后切换到下一个任务... ...

“保存现场到堆栈,然后切换到下一个任务....”难道未完成的当前任务延后执行?

使用特权

评论回复
13
dj狂人|  楼主 | 2014-4-7 10:36 | 只看该作者
ningling_21 发表于 2014-4-7 10:24
不是设置标志这么简单,还要保存当前任务的现场到堆栈,然后切换到下一个任务... ...

可是一般要用到系统架构的,都是有多任务的要求,要是任务个数达上限或者有多任务未完成依然要延后吗

使用特权

评论回复
14
ningling_21| | 2014-4-7 10:42 | 只看该作者
dj狂人 发表于 2014-4-7 10:34
“保存现场到堆栈,然后切换到下一个任务....”难道未完成的当前任务延后执行? ...

NO,有些OS的各个任务是分成时间片的方式轮流执行,这次没执行完下次接着执行...

使用特权

评论回复
15
ningling_21| | 2014-4-7 10:44 | 只看该作者
dj狂人 发表于 2014-4-7 10:36
可是一般要用到系统架构的,都是有多任务的要求,要是任务个数达上限或者有多任务未完成依然要延后吗 ...

程序中的任务大多数不可能执行完,否则,如果都执行完岂不是陷入无限死循环了...

使用特权

评论回复
16
mailiang98| | 2014-4-7 10:50 | 只看该作者
就一计时单位而已

使用特权

评论回复
17
dj狂人|  楼主 | 2014-4-7 10:51 | 只看该作者
ningling_21 发表于 2014-4-7 10:42
NO,有些OS的各个任务是分成时间片的方式轮流执行,这次没执行完下次接着执行... ...

好吧,我再琢磨琢磨

使用特权

评论回复
18
dj狂人|  楼主 | 2014-4-7 10:56 | 只看该作者
mailiang98 发表于 2014-4-7 10:50
就一计时单位而已

呵呵,是计时单位,可我想知道这计时单位里消息机制、中断、大循环、任务切换之间的联系和整个架构系统的运转。哈,这方面是新手,多多指教

使用特权

评论回复
19
mailiang98| | 2014-4-7 11:03 | 只看该作者
本帖最后由 mailiang98 于 2014-4-7 11:06 编辑
dj狂人 发表于 2014-4-7 10:56
呵呵,是计时单位,可我想知道这计时单位里消息机制、中断、大循环、任务切换之间的联系和整个架构系统的 ...

那就别问人家了,别人讲个一天一夜也讲不完,图书馆找说系统本书看看,慢慢研究,不简单啊这个东西。但就一个时钟节拍来说,不就一个定时中断吗??消息机制、中断、大循环、任务切换这个就复杂了。

使用特权

评论回复
20
tang221986| | 2014-4-7 11:03 | 只看该作者
看场合,不是一定要用系统才高大上,有些应用必须要裸机的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

201

帖子

0

粉丝