00000036.htm

来自「水木社区 embeded 版精华区 下载」· HTM 代码 · 共 69 行

HTM
69
字号
<?xml version="1.0" encoding="gb2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"/><title>Vx多任务进程切换                       ETSKILLER </title></head><body><center><h1>BBS 水木清华站∶精华区</h1></center><a name="top"></a>发信人:&nbsp;ringzhong&nbsp;(心痛*又能怎样),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;Vxworks中的多任务机制如何使用?&nbsp;&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Sun&nbsp;Dec&nbsp;&nbsp;1&nbsp;09:17:51&nbsp;2002)&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />关于Vxworks多任务之间的切换,&nbsp;&nbsp;<br />1.一个任务suspend,另一个任务将其唤醒,并将自己也suspend.&nbsp;&nbsp;<br />两种方法,一是通过互斥信号量,二是通过调用taskSuspend以及taskResume函数,但都未能&nbsp;&nbsp;<br />完成任务的切换.&nbsp;&nbsp;<br />2.一个任务delay(5),其他已经ready的任务运行结束后,delay的任务时间到,却未能继续运&nbsp;&nbsp;<br />行.&nbsp;&nbsp;<br />谁能帮我解释一下如何使用这种多任务机制,或者能给个简单例子.&nbsp;&nbsp;<br />非常感谢~~~&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />--&nbsp;&nbsp;<br />**************************&nbsp;&nbsp;<br />&nbsp;&nbsp;年华似水流,一去不复返&nbsp;&nbsp;<br />发信人:&nbsp;scholl&nbsp;(Bad&nbsp;Boy),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Vxworks中的多任务机制如何使用?&nbsp;&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Mon&nbsp;Dec&nbsp;&nbsp;2&nbsp;17:15:03&nbsp;2002),&nbsp;站内&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />怎么不能完成任务切换呢?&nbsp;&nbsp;<br />你可以让一个任务阻塞在信号量或是收消息队列上面&nbsp;&nbsp;<br />由另一个任务发消息或是释放信号量激活它&nbsp;&nbsp;<br />ts&nbsp;tr是强制手动改变任务状态&nbsp;&nbsp;<br />当然也可以达到目的&nbsp;&nbsp;<br />任务的切换机制是基于优先级以及时间片轮转的&nbsp;&nbsp;<br />你仔细思考一下&nbsp;&nbsp;<br />还有系统是如何维护处于不同状态的任务队列的&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />好好想一下&nbsp;&nbsp;<br />发信人:&nbsp;ringzhong&nbsp;(心痛*又能怎样),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Vxworks中的多任务机制如何使用?&nbsp;&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Dec&nbsp;&nbsp;3&nbsp;09:07:02&nbsp;2002)&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />如果一个高优先级的任务因为信号量阻塞后,&nbsp;&nbsp;<br />并没有降低其优先级,因此系统会陷入忙等状态,&nbsp;&nbsp;<br />而无法使其他ready的低任务执行&nbsp;&nbsp;<br />Vxworks缺省状态是基于优先级的抢占式.&nbsp;&nbsp;<br />这样的理解对吗?&nbsp;&nbsp;<br />&nbsp;&nbsp;发信人:&nbsp;scholl&nbsp;(Bad&nbsp;Boy),&nbsp;信区:&nbsp;Embedded&nbsp;&nbsp;<br />标&nbsp;&nbsp;题:&nbsp;Re:&nbsp;Vxworks中的多任务机制如何使用?&nbsp;&nbsp;<br />发信站:&nbsp;BBS&nbsp;水木清华站&nbsp;(Tue&nbsp;Dec&nbsp;&nbsp;3&nbsp;13:15:25&nbsp;2002),&nbsp;转信&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />yeah&nbsp;&nbsp;<br />阻塞的任务当然不是就绪态&nbsp;&nbsp;<br />就绪态的定义就是等待CPU的时间片&nbsp;&nbsp;<br />【&nbsp;在&nbsp;soycola&nbsp;(要做就做最好)&nbsp;的大作中提到:&nbsp;】&nbsp;&nbsp;<br />∶<i>&nbsp;阻塞的任务应该从就绪任务队列中移出,不参与调度&nbsp;&nbsp;</i><br />∶<i>&nbsp;直到阻塞条件满足,任务重新进入就绪队列&nbsp;&nbsp;</i><br />∶<i>&nbsp;我对vxworks基本上不了解,不过根据一般操作系统设计&nbsp;&nbsp;</i><br />∶<i>&nbsp;原则来看应该是这样的&nbsp;&nbsp;</i><br />&nbsp;&nbsp;&nbsp;<br /><a href="00000036.htm">上一篇</a><a href="javascript:history.go(-1)">返回上一页</a><a href="index.htm">回到目录</a><a href="#top">回到页首</a></center><center><h1>BBS 水木清华站∶精华区</h1></center></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?