[发明专利]基于Forth虚拟机的任务调度方法及装置在审
申请号: | 201710810188.X | 申请日: | 2017-09-11 |
公开(公告)号: | CN107391251A | 公开(公告)日: | 2017-11-24 |
发明(设计)人: | 代红兵;周永录;王丽清 | 申请(专利权)人: | 云南大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 650091 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于Forth虚拟机的任务调度方法及装置,将任务划分为终端、后台、中断三种任务类型,把任务控制表TCB中任务状态设置为Forth向量定义,通过创建与Forth虚拟机指令周期同步的任务调度循环机制,在无需状态判定只需保存或恢复当前数据栈指针的情况就能在预定时刻精确调度切换每一个任务。现场保护需要将当前返回栈指针压入数据栈,将此数据栈指针保存到该任务的用户变量区中;恢复现场需要从该任务的用户变量区里恢复SP,将栈顶值存入返回栈指针。采用本发明提供的调度方法及装置能够在确保良好的重构、扩展、移植、交互等Forth系统固有特性的前提实现精简高效,满足特定嵌入式应用的实时性要求。 | ||
搜索关键词: | 基于 forth 虚拟机 任务 调度 方法 装置 | ||
【主权项】:
一种基于FORTH虚拟机的任务调度方法,其步骤包括:(1)将当前返回栈指针,即指向PAUSE模快后的断点,压入数据栈;(2)将当前数据栈指针保存到当前任务的tcb[sp];(3)得到下一个任务status里pass或wake对应过程的pfa,并压入返回栈;(4)FVM虚拟机开始跳转去执行PASS或WAKE过程;(5)若pass,rp0和tcbn仍在数据栈里,PASS模快将沿着多任务循环链表不断循环,(6)跳过处于pass状态的任务,直到遇到wake为止;(7)若wake,rp0和tcbm仍在数据栈里,WAKE模快将恢复处于wake状态任务的数据栈和返回栈,并由FVM实现跳转;(8)当退出PAUSE模块时,FVM又开始返回到PAUSE后面的断点处开始执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南大学,未经云南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710810188.X/,转载请声明来源钻瓜专利网。