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

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

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

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

方法是:

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

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

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

时间: 2024-10-10 08:55:21

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

windows linux文件互传

1.yum -y install lszrz 输入rz就可以把windows的文件下载到linux进去. 2.将linux的文件打包压缩传到windows下, zip -r 压缩文件包 压缩目录 然后 sz 压缩文件包 例如 zip -r scripts.zip /home/scripts/* sz scripts.zip

【转】每天一个linux命令(24):Linux文件类型与扩展名

原文网址:http://www.cnblogs.com/peida/archive/2012/11/22/2781912.html Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件). 一. 文件类型 Linux文件类型常见的有:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件等,现在我

linux中合并多个文件内容到一个文件的例子

尊敬的用户您好,从即日起 导入 及 导出 功能已经下线,请到阿里云官方数据库管理平台 iDB Cloud 使用该功能! 继续在 iDB Cloud 中发现导出的数据库文件是按照每个表生成的SQL文件,这么多单独的文件再导入到其他数据库中是个麻烦事,需要将所有的SQL文件合并为一个完整的SQL文件.有了这个思路,决定寻找方法来实现. Windows 中实现合并多个文件内容到一个文件中 代码如下 复制代码 (www.111cn.net)copy *.sql MERGE.sql Linux 或 类Un

Linux下windows中文文件乱码问题

table of content: 乱码问题 用gedit选择正确的字符编码打开文件 文件转码 总结 §乱码 Fedora安装时默认用UTF-8字符编码方式, 这么做有国际化的好处(和很多用utf-8的地方兼容), 但是也有兼容问题. 比如: 中文编码在windows下不是utf-8编码, 因为政策要求, 在中国销售的软件要用国标码 (即GBK, GB2312, GB18030(最新的)) 所以中文windows用GB18030的编码, 这就导致一个小问题. 在linux下打开windows的文

每天一个linux命令(23):Linux文件类型与扩展名

Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件). 一. 文件类型 Linux文件类型常见的有:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件等,现在我们进行一个简要的说明. 1. 普通文件 我们用 ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是

xshell下实现windows与linux文件互传

一个非常简单的方法 #yum install -y lrzsz 安装完成之后 1,从windows>>>>>>>>linux #rz 会弹出对话框,选择你需要传输的文件 2,从linux>>>>>>>>windows #sz file 会弹出对话框选择你需要存放的目录

Linux文件和windows文件在 换行符的区别

Linux或Unix文件,和windows文件,在来回处理时,如果不注意 换行符的区别,可能导致程序错误!!!深刻的教训.... 在早期的打印机时代,开始新的一行要占用两个字符的时间.如果到了一行的结尾处,你要快速回到新的一行的开头,需要打印针头在纸面上飞快地掠过,常常会在纸面上留下污点.解决这个问题的办法就是,用两个字符:一个字符<Return>来移到第一列,另一个字符<Line feed>来新增一行.计算机产生以后,存储较为昂贵,在如何解决回车换行这个老问题上,人们产生了不同的

SCP实现Linux到Windows的文件数据备份

我们上一篇介绍了使用Curl+windows FTP实现linux到windows的数据备份,今天我们介绍一下使用SCP服务将Linux的文件到Windows的文件备份:我们都知道SCP使用的是SSL协议进行数据传输的,所以我们如果使用SCP服务进行数据传输的话需要安装openssh-clients(linux上),而windows上我们需要单独下载openssh for windows 工具.具体见下: 我们首先在linux上安装openssh-clients yum install –y o

每天一个linux命令(24)--Linux文件类型与扩展名

linux 文件类型和Linux 文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如 file.txt  file.tar.gz.这些文件虽然要用不同的程序来打开,但放在Linux 文件类型中衡量的话,大多是常规文件(也被称为普通文件). 一.文件类型 Linux 文件类型常见的有:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件等,现在我们进行一个简要的说明. 1.普通文件 我们用ls -lh 来查看某个文件的属性,可以看到有类似 -rwxrwxrwx,值得注