[发明专利]一种实现多操作系统共享存储介质的方法和装置有效
申请号: | 200810247452.4 | 申请日: | 2008-12-31 |
公开(公告)号: | CN101477511A | 公开(公告)日: | 2009-07-08 |
发明(设计)人: | 朱而刚 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F15/167 | 分类号: | G06F15/167 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 操作系统 共享 存储 介质 方法 装置 | ||
技术领域
本发明涉及多操作系统技术领域,尤指多核多操作系统技术领域。
背景技术
多核处理器由多个核组成,每个核又由若干硬件线程组成。各硬件线程既有各自独立的硬件资源,如寄存器、一级缓存等,又有共享的硬件资源,如内存、二级缓存、外设等。多核处理器的硬件线程在逻辑上相当于一个独立的CPU,硬件线程间的通信机制,如核间消息、核间中断等,使得硬件线程之间的交互变得非常方便。
基于多核处理器的以上特点,只要对内存和外设等资源进行合理的规划,在多核处理器上运行多操作系统是可行的。操作系统一般会使用文件系统,文件系统中的文件保存在闪存(Flash)、CF卡或硬盘等非易失性存储介质中。
与内存不同,非易失性存储介质在掉电后,存储的内容不会丢失,因此非常适合存储操作系统相关的版本文件或日志等文件。但是,访问非易失性存储介质需要遵循严格的时序关系,例如,擦除Flash需要遵循如图1所示的时序关系。
图1是现有技术中擦除Flash的流程图。如图1所示,擦除开始后,向Flash芯片写擦除命令序列,轮询数据,判断擦除是否完成,是则擦除结束,否则继续轮询数据,判断擦除是否完成。可以看出,在Flash的驱动程序中,必须保证对Flash芯片的互斥访问。
在多核系统中运行单操作系统时,不同硬件线程或核可以通过信号量或自旋锁的方式来保证对Flash芯片等存储介质芯片的互斥访问。而在多核系统中运行多操作系统时,由于不同的硬件线程或核运行不同的操作系统,无法通过信号量或自旋锁来保证互斥。
然而在实际的运行多操作系统的多核处理器系统中,为了节约硬件成本或节省单板的布线空间,有时确实需要多操作系统共享Flash、CF卡或硬盘等存储介质,例如共享的存储介质中存放多个操作系统的版本文件或文件系统等。
目前,有一种利用网络文件系统(NFS,Network File System)实现多操作系统共享存储介质的方案。NFS是一项用于在不同机器、不同操作系统之间通过网络互相共享各自的文件的技术。多操作系统之间利用各自的网口使用NFS,以A、B和C三个操作系统为例,操作系统A作为对外提供NFS服务的服务器,负责对共享存储介质的操作,操作系统B和C作为NFS客户端,通过网络和NFS协议操作共享存储介质上的文件。
但是,上述方案存在如下缺点:
(1)要求所有需要访问共享存储介质的操作系统都必须支持NFS协议,然而有些操作系统本身是不支持NFS的,且NFS协议比较复杂,要支持NFS协议需要开发工作量比较大;
(2)NFS通过网络共享各自的文件,这就要牵涉到权限管理和用户管理,维护复杂度高。
(3)无论是通过虚拟的网口还是物理的网口,都需要进行两次以上的内存搬移,性能相对较低。
因此,实现一种简单高效的多操作系统访问共享存储介质的方案,就显得非常必要了。
发明内容
本发明提供了一种实现多操作系统共享存储介质的方法,方法能够简单高效地实现多操作系统共享存储介质。
本发明还提供了一种实现多操作系统共享存储介质的装置,该装置能够简单高效地实现多操作系统共享存储介质。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明公开了一种实现多个操作系统共享存储介质的方法,该方法应用于运行在多核处理器上的多个操作系统之间,该方法包括:
所述多个操作系统中的一个指定的第一操作系统直接操作共享存储介质;
所述多个操作系统中的任一第二操作系统需要对共享存储介质进行操作时,该第二操作系统通过核间通信机制,将操作请求通知第一操作系统;
第一操作系统根据所述操作请求完成对共享存储介质的操作后,通过核间通信机制将操作结果通知所述任一第二操作系统。
本发明还公开了一种实现多个操作系统共享存储介质的装置,所述多个操作系统运行在多核处理器上,该装置包括:属于所述多个操作系统中的一个指定的第一操作系统的第一核间数据处理模块和存储介质访问模块,属于所述多个操作系统中的任一第二操作系统的第二核间数据处理模块,其中,
存储介质访问模块,用于根据第一核间数据处理模块的指令对共享存储介质进行操作;
第二核间数据处理模块,用于在所述任一第二操作系统需要对共享存储介质进行操作时,通过核间通信机制,将所述任一第二操作系统的操作请求通知第一核间数据处理模块;
第一核间数据处理模块,用于根据第二核间数据处理模块发送的操作请求指令存储介质访问模块完成对共享存储介质的操作后,通过核间通信机制将操作结果通知第二核间数据处理模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810247452.4/2.html,转载请声明来源钻瓜专利网。