- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TrueTimeNetwork库初步研究参考
结束语 * 调度策略 内核的调度策略由优先级函数来定义,该函数是一个关于任务属性的函数 内核中存在如下几个预定义的优先级函数: Fixed priority(固定优先级) Rate-monotonic(单调速率) Deadline-monotonic(截止时间单调) Earliest-deadline-first(最早截止时间优先) 实例:EDF优先级函数 double prioEDF(UserTask* t){ return t-absDeadline; } void ttAttachPrioFcn(double (*prioFcn)(UserTask *)) 调度钩子 是在任务执行的不同阶段执行的代码,以下钩子会在相应时间执行: Arrival hook-当实例被创建时 Release hook-当任务实例第一次被放入ready队列中 Start hook-当实例执行其第一段代码时 Supend hook-当实例被抢占,屏蔽,或者自己进入睡眠状态 Resume hook-当实例继续执行时 Finish hook-当最后一段代码执行完毕后 ttAttachHook(char* taskname, int ID ,void (*hook)(UserTask *)) 数据记录 在仿真过程中,由内核记录了一系列的变量数据 当仿真结束时,被写入到MATLAB的工作空间 对下面的一些数据进行记录: Response time Release latency Sampling latency Task execution time Context switch instances ttCreateLog(taskname,type, variable,size) ttLogNow(logID) tLogStart(logID) ttLogStop(logID) 信号量/信号灯(semaphore) 计数信号灯或二值信号灯(即只有0和1状态) 没有优先级继承机制 对于简单的任务同步适用 ttCreateSemaphore(semname, initval) ttTake(semname) ttGive(semname) Monitor Monitor被用于建模共享数据的任务间的互斥 等待使用monitor的任务依据他们相应的优先级(静态或动态)来排列 支持标准的优先级继承来避免优先级反转 实现了priority ceiling protocol 仿真结果生成图像显示在不同的时刻不同的任务在使用不同的monitor。 ttCreateMonitor(monitorname,display) ttEnterMonitor(monitorname) ttExitMonitor(monitorname) 事件(Events) 事件被用于任务同步,并且可能是自由的或者是鱼monitor相关的 ttNotifyAll会将所有的等待任务(waitingtasks)移到monitor的waiting queue或者是ready queue(如果不与monitor关联) 事件可以被用于触发基于事件的控制器 ttCreateEvent(eventname,monitorname) ttWait(eventname) ttNotifyAll(eventname) 消息队列(mailboxes) 通过消息队列,支持任务间的通信 用一个有限环循环队列来存储输入消息 有阻塞和非阻塞版本的Fetch和Post(分别是从消息队列中取消息和往消息队列中写消息) ttCreateMailbox(mailboxname, maxsize) msg = ttTryFetch(mailboxname) ttTryPost(mailboxname, msg) 中断句柄 对于中断响应的代码 比任务的优先级要高一个等级 适用的中断类型有: 定时器(周期性或单稳) 外部(硬件)中断 任务超时 网络接口 ttCreateInterruptHandler(hdlname,priority,codeFcn,data) ttCreateTime(timername,time,hdlname) ttCreatePeriodicTimer(timername,start,period,hdlname) ttCreateExternalTrigger(hdlname,latency) 超时句柄 可能有两个特殊的句柄与每个任务相关(和实时Java类似) 截止时间超时句柄 执行时间超时句柄 可以被用于处理被延长的计算和超过截止时间等 由内部定时器和调度钩子共同完成 ttAttachDLHandler(taskname,hdlname) ttAttachWCET
您可能关注的文档
- GPS原理及其应用PPT电子课件教案-第2章_时间系统和坐标系统参考.ppt
- FEC系列控制器入门培训参考.ppt
- GE_smallworld_GIS产品介绍参考.ppt
- GPS原理及长城解决方案-引 擎 地 图参考.ppt
- EXFO--EPON网络线路故障诊断及测量参考.ppt
- GSM专题优化案例之分配与掉话与拥塞专题参考.ppt
- Geomap3.6地质制图系统参考.ppt
- GPS原理及其应用PPT电子课件教案-第5章_距离测量与定位方法参考.ppt
- GRRU数字射频拉远系统介绍参考.ppt
- Genesys_产品技术交流参考.ppt
- 2025至2030年中国蔬菜浴球数据监测研究报告.docx
- 2025至2030年中国葡萄糖酸钙泡腾片数据监测研究报告.docx
- 2025至2030年中国蒸压粉煤灰砖数据监测研究报告.docx
- 2025至2030年中国蓝根凉茶数据监测研究报告.docx
- 2025至2030年中国蒸汽夹层锅数据监测研究报告.docx
- 2025至2030年中国薄膜母料数据监测研究报告.docx
- 2025年广州铁路职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.doc
- 2025至2030年中国蛋奶酥机数据监测研究报告.docx
- 2025至2030年中国薄荷凉茶浓缩颗粒数据监测研究报告.docx
- 2025至2030年中国蕾丝靠枕数据监测研究报告.docx
文档评论(0)