- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4UCOS时间片轮转调度算法详解.pdf
UCOS 时间片轮转调度算法详解
引言.:UCOS 和我修改的UCOS 的区别
UCOS 一种只支持优先级抢占型调度的操作系统。它不支持同一个优先级有2 个及以上的任
务同时运作。
我修改的UCOS 支持不同优先级调度的同时,支持同一个优先级有2 个以上的任务以时间
片轮转方式进行调度。
这个就是UCOS 和我修改的UCOS 的区别。
我修改后的UCOS ,在以后的文段中就称为“FIFO-UCOS ”。
FIFO 就是先进先出的意思,和时间片轮转调度差不多的意思。
一. FIFO-UCOS 第一讲--核心思想
我不对UCOS 做过多的解释,我本人对UCOS 的代码也没有看完。
事实上这个代码是我一年半以前做出来的了,当时就是为了帮一个朋友完成论文,并且为我
卖的S3C44B0 开发板增加一些东西吧。(不过我的板子最后没有卖出去多少,题外话,也许
这个东西并没有多少人热心吧)
这一年半我再也没有从事过软件开发(我一直都是硬件工程师),对UCOS 也有些遗忘了。
也许有的东西讲错了,还请包函。
当时和那个做论文的朋友讨论的时候,他也设计了一个调度方式,但是事实证明没有我做的
那个好。毕竟它增加了另外一个PCB 链。
UCOS 写得很好,把很多东西都做得很完善了。我要说的核心思想,就只有下面一小段话,
注意看了哦:
UCOS 在调度的时候,会按照优先级选择进程进行调度,我做的部分就仅仅是在他进行优先
级检查之前,把和运行态同等级的进程进行了替换,替换成了时间片轮转调度的下一个进程!
呵呵,核心思想讲完了。下一节讲解具体代码了。
本人提供UCOS 在S3C44B0 上运行的完整代码。
注意,是UCOS 代码,不是FIFO-UCOS ;
发邮件到我邮箱:keterzhang@
请不要在这个地方回复邮件地址问我要,我不想复制地址那么麻烦,就直接回复你的邮件是
最简单的。
二.TCB 的修改
FIFO-UCOS 和UCOS 并不能完全兼容,最大的改变,就是对TCB 的结构做了改动,加入了
我自己的段。
该部分代码在UCOS-II.H 文件中:
typedef struct os_tcb {
OS_STK *OSTCBStkPtr; /* Pointer to current top of stack */
#if OS_TASK_CREATE_EXT_EN 0
void *OSTCBExtPtr; /* Pointer to user definable data for TCB extension */
OS_STK *OSTCBStkBottom; /* Pointer to bottom of stack */
INT32U OSTCBStkSize; /* Size of task stack (in number of stack elements) */
INT16U OSTCBOpt; /* Task options as passed by OSTaskCreateExt() */
#endif
INT16U OSTCBId; /* Task ID (0..65535) */
struct os_tcb *OSTCBNext; /* Pointer to next TCB in the TCB list */
struct os_tcb *OSTCBPrev; /* Pointer to previous TCB in the TCB list */
#if ((OS_Q_EN 0) (OS_MAX_QS 0)) || (OS_MBOX_EN 0) || (OS_SEM_EN 0)
|| (OS_MUTEX_EN 0)
OS_EVENT *OSTCBEventPtr; /* Pointer to event control block */
#endif
#if ((OS_Q_EN 0) (OS_MAX_QS 0)) || (OS_MBOX_EN 0)
void *OSTCBMsg; /* Message received from OSMboxPost() or OSQPost() */
#endif
#if (OS_VERSION = 251) (OS_FLAG_EN 0) (OS_MAX_FLAGS 0)
#if OS_TASK_DEL_EN 0
OS_FLAG_NODE *OSTCBFlagNode; /*
您可能关注的文档
- 2017教师招聘考试历年真题.docx
- 2017体博会·费恩莱斯健美健身比基尼大赛赛后简报2.0.docx
- 2017年青岛市第二次高考模拟考试理综.doc
- 220kV 变电站SVC 系统的研究与应用.pdf
- 3 周期信号的fourier级数表示.ppt
- 3.2导数在函数单调性、极值中的应用(作业) 2.doc
- 3.2导数在函数单调性、极值中的应用(作业).doc
- 32、作业计划(数学建模).pdf
- 3gpp GSM 物理层协议05.04v8.4.0.pdf
- 4.2两点之间_线段最短.ppt
- 中国钢化磨砂玻璃行业市场前景预测及投资价值评估分析报告.docx
- 疫苗项目投资测算报告表.docx
- 皮毛加工产业发展趋势分析.docx
- 2025年室内照明市场分析现状.docx
- 2025年物联网市场行业市场需求分析报告及未来五至十年行业预测报告.docx
- 2025年低辐射节能浮法玻璃生产线项目可行性研究报告.docx
- 2025年电解铝分析报告.docx
- 新建年产xx万吨液体二氧化碳项目可行性报告-立项申请.docx
- 2024九年级化学上册实验专项提分第二篇重要实验突破第二部分实验8氢氧化钠溶液与酸的反应习题课件浙教版.pptx
- 中国有机玻璃(工业级)行业市场规模及投资前景预测分析报告.docx
文档评论(0)