码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2015-03-12 15:14:35      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:文件系统   数据库   mvcc   软件架构   灵活性   

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

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

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

方法是:

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

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

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



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

标签:文件系统   数据库   mvcc   软件架构   灵活性   

原文地址:http://blog.csdn.net/cteng/article/details/44220573

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!