[发明专利]合并的文件系统目录中的虚拟删除有效
申请号: | 200780041090.7 | 申请日: | 2007-10-19 |
公开(公告)号: | CN101535968A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | J·L·哈文斯;F·J·史密斯;Y·A·哈利迪;M·泰鲁利 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F13/00 | 分类号: | G06F13/00 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 黄嵩泉 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 合并 文件系统 目录 中的 虚拟 删除 | ||
背景
有时期望在允许在计算机或计算机系统上运行的应用程序共享某些文件的同时,限制对其他文件的访问。例如,在特定机器上运行的所有应用程序可能需要共享文件一到十,但或许只有应用程序A才可访问文件十一并且只有应用程序B才可访问文件十二和十三。实现这一点的一种方法是生成所有应用程序都需要的若干文件集。即,第一文件集可包括供应用程序A使用的文件一到十和文件十一的副本。第二文件集可包括供应用程序B使用的文件一到十和文件十二和十三的副本。该方法的一个很明显的缺点是维护各独立的文件集所需的额外的存储空间。该方法也可导致对于诸如存储器和分页空间等其他系统资源的重复需求。该方法的另一缺点是当需要修改一文件时,该文件必须在两个文件集中修改(例如,如果文件一的新版本变为可用,则必须更新两个文件集中的文件一)。
有时也期望允许对于文件系统的不同部分的不同访问级别。例如,可能期望允许应用程序A删除文件一但不允许应用程序B删除文件一。本发明的各实施例解决了这些和其他需求。
概述
两个或多个单独的实际文件系统目录作为单个(虚拟的)合并文件系统目录来呈现给在被称为竖井的受控执行环境中运行的应用程序。通常可用于对文件系统目录执行的所有操作都能够对该合并目录执行,然而,操作系统控制对合并目录中的文件的访问级别。操作系统通过监视由计算机或计算机系统上的竖井中的进程做出的文件系统请求,并响应于检测到特定类型的文件系统访问请求,通过执行特殊处理来提供看上去合并的目录的视图,来提供文件系统目录的合并视图。触发特殊处理的改变或请求的类型的示例包括枚举、打开、创建、重命名、关闭或删除。创建合并视图所需的状态不存储在永久介质上。
对文件、目录或子目录的虚拟删除的需求在包括以下条件在内的各种情形中可能变成必要的或期望的:
·做出删除文件的请求的用户基于与该文件相关联的ACL(访问控制列表)具有删除该文件的许可。
·合并目录的专用构成目录经由其访问掩码具有对将被虚拟地删除的文件的删除许可。
·对于其中存在对其接收到删除请求的文件的合并目录启用删除语义支持。
当满足所有以上条件时,在专用目录中为正被虚拟地删除的文件创建删除标记。从竖井的观点来看,如此标记的文件已被删除。因此,在请求特定类型的文件系统操作时可能需要特殊的虚拟删除处理。触发特殊虚拟删除处理的请求的类型包括枚举、打开、创建、重命名、和删除。
附图简述
在附图中:
图1是示出其中可以实现本发明各方面的示例性计算环境的框图;
图2是根据本发明的某些实施例的用于合并文件系统目录中的文件的虚拟删除的系统的框图;
图3是根据本发明的某些实施例的用于合并文件系统目录的方法的流程图;
图4是根据本发明的某些实施例的图3的方法的一部分的流程图;以及
图5是根据本发明的某些实施例的对于打开/创建请求的虚拟删除处理的流程图;
图6是根据本发明的某些实施例的对于枚举请求的虚拟删除处理的流程图;以及
图7是根据本发明的某些实施例的对于删除请求的虚拟删除处理的流程图;
详细描述
概览
理想地,操作系统将能够控制文件的共享并将能够在应用层控制对文件的访问。例如,操作系统能够允许应用程序A对文件一到十进行只读访问并对文件十一进行读写访问,而允许应用程序B对文件一到十进行只读访问并对文件十二和十三进行读写访问可能是有用的。然而,通常当前已知的操作系统为在同一个用户帐户下运行的所有进程提供对相同的文件集的相同的访问级别。因此,在上述示例中,如果同一个用户启动了应用程序一和二,以便允许应用程序A向文件十一写入并允许应用程序B向文件十二和十三写入,则应用程序A将也可对文件十二和十三进行读写访问而应用程序B将可对文件十一进行读写访问。
因此,在许多系统中,在操作系统进程层以及操作系统本身的机器边界处存在系统中有限的密封点,但在这些层之间,使用诸如访问控制列表(ACL)以及与运行应用程序的用户的身份相关联的特权等安全控制来控制对文件的进程访问。因为对系统资源的访问与运行应用程序的用户的身份而不是与应用程序本身相关联,所以应用程序可访问该应用程序不需要的文件,如以上示例所展示的。因为多个应用程序可能能够修改同一个文件,所以可能导致应用程序之间的不兼容。也可能产生安全问题,因为一个应用程序可能恶意或故意干扰另一应用程序的操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200780041090.7/2.html,转载请声明来源钻瓜专利网。