【删除文件原理】
删除一个文件,则只需要在该文件所在目录的磁盘块中删除此目录对应的inode号所对应的文件名那条记录删除,然后去编目中删除该文件对应的inode号的记录删除,已经在快位图bitmap中将inode好所对应的磁盘块重新标记为0(即未使用)便可完成删除。所有删除文件是没有真正抹掉该文件所对应的所有磁盘块中的二进制代码的。所在在系统上删除文件一般都很快。
【同一个分区中移动文件原理】
同理,移动文件只需要将文件原有目录中标记的文件信息删除,在新的目录中添加该文件的一条记录。就ok了,所有我们通常在同一个分区中移动文件的速度相当快。
所以为什么会有文件恢复工具,能恢复你之前在磁盘上删除的文件,原因就在这里。向360上面的文件粉碎机,就是在你该文件所对应的数据磁盘块中,写入一大堆随机产生的二级制代码覆盖掉你原有的文件。比方说,向那些磁盘块中全部填0,那么你的文件要想找回来只是比较困难了,并不一定找不回来。至于怎么找回来,本文档不做解释。
事实上,在文件系统中远不止我们上面所说的那么简单,你要想,要是每个文件都建立一个inode号,那么在那么多的inode号中寻找一个文件依然是很麻烦的。真正的文件系统上我们上面所说的那个算一个“块组“(block group)。即:每一个快组都有我们上面所说的功能。那么一个磁盘上会创建多少个这样的”块组”(block group)事实上是不确定的。
【block group块组】
在文件系统中每一个块组(block group)都有一个块位图,一个编目。
在这些块组中怎么管理这些块组的方法和上面说道的单个块组的管理方法一样,一样有这些块组的一个快位图,这个块位图可以叫做“超级块位图”。这就是文件系统。
【格式化】:
格式化分为:
低级格式化:用来划分磁道,一般有厂商完成。
高级格式化:就是我们通常说的格式化,即创建文件系统。
文件系统属于内核的功能
文件系统有
windows常用的文件系统:FAT32,NTFS
光盘文件系统:ISO9660
网络文件系统:CIFS(通用互联网文件系统)
linux常用的文件系统:ext2,ext3,ext4,xfs,reiserfs, jfs(日志文件系统)
liux常用的网络文件系统:nfs
集群文件系统:ocfs2
全局文件系统:gfs2
linux 上FAT32叫做vfat.

我们上面说到的哪个文件系统属于ext系列的文件系统,不过其他文件系统在管理上都大致是这样的思路。大体上都是近似的。
至于文件操作系统是怎么识别不同格式的文件系统的,这里不做解释。
对于文件系统来讲,数据都分为两类:
一类是:元数据:即要存储的文件属性信息(比方说,文件大小之类……)
另一类是:文件的路径,即目录(文件夹)
经过上面讲的文件系统底层逻辑分析大致上在一块硬盘中我们首先要将磁盘分成一个个块即:block,这些块组合起来就叫块组(block group)。
【block块】:磁盘块,是文件系统管理磁盘空间的逻辑结构,和磁盘本身没有关系。每一个块都有一个编号。从0开始编号。
【inode】:index node记录文件属性,权限。等…..
所以磁盘中一个分区在格式化后,大小都会发生变化,其中有一部分空间划分出来,给“元数据”预留的。
由此我们知道,每个磁盘块可能属于一个文件,而一个文件可能对应多个磁盘块。所有inode的个数和磁盘块的个数并不是一一对应的。
【block size】块大小
对文件系统来讲块(block size)大小是确定的,指的是2的n次方个字节。一般来讲只能是1024bit,2048bit,4096bit。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shouji/article-62080-5.html
向世界宣布已进12海里
南海是中国核心利益所在
我就放心了