[发明专利]一种操作系统及其文件缓存定位方法有效
申请号: | 201210575723.5 | 申请日: | 2012-12-26 |
公开(公告)号: | CN103077198A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 赵羽 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 钟日红;张宇峰 |
地址: | 200030 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作系统 及其 文件 缓存 定位 方法 | ||
技术领域
本发明涉及虚拟文件系统领域,尤其涉及一种操作系统及其文件缓存定位方法。
背景技术
在对各个操作系统进行操作时,经常需要对文件缓存进行定位,而对文件缓存定位方法的设计直接影响着操作系统在文件访问方面的性能表现,是加速文件访问,减少磁盘I/O操作的关键设计。
在现有技术中,Linux等其它开源操作系统在各自虚拟文件系统的缓存设计中采用了其它有效的文件缓存定位方法。例如Linux操作系统中针对文件节点设计了哈希表,并利用哈希算法定位具体的节点缓存。
经过发明人反复仔细的研究,提出了一种新的文件缓存定位方法,该方法实现了对文件缓存的定位,并且具有加速文件访问,减少磁盘I/O操作等优点。
发明内容
本发明所要解决的技术问题之一是需要提供一种加速文件访问的新的文件缓存定位方法。
为了解决上述技术问题,本发明提供了一种文件缓存定位方法,该方法包括:在访问文件时,获取该文件的文件索引,其中,所述文件索引是利用二进制序列来表示的该文件中当前所要访问的位置;将所述文件索引转换为转换表访问标识;判断该文件的转换表中是否存在与所述转换表访问标识对应的表项,若存在,则基于所述表项来获取缓存块访问地址;其中,所述转换表用于存储与转换表访问标识对应的表项,所述表项用于指向与该文件的不同访问位置相对应的缓存块访问地址。
根据本发明另一方面的文件缓存定位方法,将所述文件索引的二进制序列划分为三个以上字段,并将所述三个以上字段作为转换表访问标识,其中,至少包括缓存块偏移字段、缓存块索引字段和缓存表索引字段。
根据本发明另一方面的文件缓存定位方法,根据缓存块的大小来确定所述缓存块偏移字段所占的比特位数。
根据本发明另一方面的文件缓存定位方法,根据文件的缓存块个数来确定所述缓存块索引字段所占的比特位数。
根据本发明另一方面的文件缓存定位方法,在该文件的转换表中不存在与所述转换表访问标识对应的表项时,则进一步包括:根据所述转换表访问标识,在所述转换表中创建与各个字段对应的各级表,其中,各级表被定义为结构体,且各级表指向下一级表;从空闲缓存区内选取一缓存块,将该缓存块与所述转换表访问标识相关联,其中所述空闲缓存区是一个存放可用空闲缓存的栈结构;将该缓存块的地址存入相应的表的表项中。
根据本发明另一方面的文件缓存定位方法,在将所述文件索引的二进制序列划分为三个字段,并将所述三个字段作为转换表访问标识时,将在所述转换表中创建的各级表,按照由高到低的级别依次设定为与缓存表索引字段对应的二级表、与缓存块索引字段对应的一级表和与缓存块偏移字段对应的零级表,其中,在所述二级表的各个表项中存放一级表的起始地址,在所述一级表的各个表项中存放缓存块的地址,与所述零级表所对应的缓存块偏移字段表示缓存块内偏移地址;进一步将缓存块的地址存入一级表的表项中。
根据本发明另一方面的文件缓存定位方法,若没有空闲缓存区,则利用内核中的回收线程来回收缓存块,再从回收后的缓存块中选取一缓存区,将该缓存块与所述转换表访问标识相关联。
根据本发明另一方面,还提供了一种操作系统,执行以下步骤来对文件缓存进行定位:
在访问文件时,获取该文件的文件索引,其中,所述文件索引是利用二进制序列来表示的该文件中当前所要访问的位置;
将所述文件索引转换为转换表访问标识;
判断该文件的转换表中是否存在与所述转换表访问标识对应的表项,若存在,则基于所述表项来获取缓存块访问地址;
其中,所述转换表用于存储与转换表访问标识对应的表项,所述表项用于指向与该文件的不同访问位置相对应的缓存块访问地址。
根据本发明另一方面的操作系统,在该文件的转换表中不存在与所述转换表访问标识对应的表项时,则进一步包括:
根据所述转换表访问标识,在所述转换表中创建与各个字段对应的各级表,其中,各级表被定义为结构体,且各级表指向下一级表;
从空闲缓存区内选取一缓存块,将该缓存块与所述转换表访问标识相关联,其中所述空闲缓存区是一个存放可用空闲缓存的栈结构;
将该缓存块的地址存入相应的表的表项中。
根据本发明另一方面的操作系统,在将所述文件索引的二进制序列划分为三个字段,并将所述三个字段作为转换表访问标识时,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210575723.5/2.html,转载请声明来源钻瓜专利网。