[发明专利]多CPU对临界资源进行互斥访问的方法和装置有效
申请号: | 200710106986.0 | 申请日: | 2007-05-16 |
公开(公告)号: | CN101051281A | 公开(公告)日: | 2007-10-10 |
发明(设计)人: | 李文群 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 北京挺立专利事务所 | 代理人: | 龚家骅 |
地址: | 310053浙江省杭州市高新*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | cpu 临界 资源 进行 访问 方法 装置 | ||
1、一种实现多CPU对临界资源进行互斥访问的方法,其特征在于,包括以下步骤:
配置与临界资源对应的消息锁队列的地址并通知各CPU;
请求访问所述临界资源的CPU根据所述地址将自身的标识加入所述消息锁队列;
若自身的标识前无其他CPU的标识,则所述CPU访问所述临界资源;若自身的标识前有其他CPU的标识,则所述CPU进入挂起状态;所述处于挂起状态的CPU接收到其他CPU发送的通知消息时,进入唤醒状态并访问所述临界资源;
一CPU访问所述临界资源结束后,所述CPU将自身的标识从所述消息锁队列中删除并获取位于所述消息锁队列的队列头的CPU的标识;所述CPU根据所述标识向下一请求访问所述临界资源的CPU发送通知消息。
2、如权利要求1所述实现多CPU对临界资源进行互斥访问的方法,其特征在于,所述通知消息为资源释放消息。
3、一种实现多CPU对临界资源进行互斥访问的装置,其特征在于,包括:
消息锁队列配置模块,用于存储临界资源与消息锁队列地址的对应关系;
请求模块,用于在请求访问临界资源时,根据所述消息锁队列配置模块存储的对应关系,将自身CPU的标识加入与所述临界资源对应的消息锁队列;
队列获取模块,用于在请求访问临界资源时,根据所述消息锁队列配置模块存储的对应关系,获取与所述临界资源对应的消息锁队列中自身CPU的标识前有无其他CPU的标识,无其他CPU的标识时,向所述临界资源访问模块发送消息;
临界资源访问模块,根据接收到的消息访问所述临界资源;
删除模块,用于在访问临界资源结束时,根据所述消息锁队列配置模块存储的对应关系,将自身CPU的标识从与所述临界资源对应的消息锁队列中删除;
标识获取模块,用于在访问临界资源完成后,获取位于与所述临界资源对应的消息锁队列中下一请求访问所述临界资源的CPU的标识,并将所述下一请求访问所述临界资源的CPU的标识发送到发送模块;
发送模块,用于在接收到所述标识获取模块发送的CPU的标识时,根据所述接收到的CPU的标识向下一请求访问所述临界资源的CPU发送通知消息;
状态切换模块,用于在所述队列获取模块获取到消息锁队列中自身CPU的标识前有其他CPU的标识时,将当前状态切换为挂起状态;在接收模块接收到其他CPU发送的通知消息时,将当前状态切换为唤醒状态并向所述临界资源访问模块发送消息;
接收模块,用于在接收到其他CPU发送的通知消息时,通知所述状态切换模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710106986.0/1.html,转载请声明来源钻瓜专利网。