从Windows/Linux文件系统设计的一个特性论软件架构的灵活性欠缺

来源:互联网 发布:cn的域名好不好 编辑:程序博客网 时间:2024/05/16 14:35

当在Windows下打开一个文件时,此文件所在的路径全部被锁定。

路径锁定的意思是,文件本身、所在目录、上一层目录等,全部无法被重命名和重新移动。

实际上,这个锁定完全可以被移除。

方法是:

任何一个打开的文件将创建对原始文件数据IO的一个流连接,同时产生一个对文件元属性的临时快照的拓扑镜像

这里的基本想法是:文件移动、重命名的操作并不影响文件的内容数据,可以看作是对文件属性的操作。(目录的概念应该是平面化的虚拟Tag标记,不应该是实体化的硬目录,这么一个早期Unix系统设计的特性早应该去掉了)

每个这样的文件属性操作都可以带上一个时间戳,新的总是无条件覆盖老的。(用数据库MVCC的术语来说,写操作永远不阻塞,前提是这个写不是修改实体本身的内容,而是指向实体的关系连接),而老的自动降级到一个老的临时会话中,并会在以后丢弃。



0 0
原创粉丝点击