创建文件系统:
要在一个分区实现文件管理,能够把每一个存储在这些空间中的数据流单独区隔开来,以文件方式进行管理,就需要在磁盘上面创建文件系统。创建文件系统也就是对磁盘的格式化
格式化分为两类:高级格式化,和普通格式化
高级格式化也就是我们创建文件系统的过程,大多数普通格式化都不需要用户手动进行,而是由磁盘厂商定义好的
高级格式化会将磁盘分成两个区:数据区域/原数据区
原数据区(类似索引目录):存储目录索引,而数据是存放在数据区域的,每一个文件大多数都有磁盘块对应存储数据的,目录也有
一个文件查找的过程
/var/logs/messages
根的inode --> 根目录对应的磁盘块 --> var对应的inode编号 --> 查inode table, 找到编号对应的inode --> var目录的磁盘块 --> logs 的inode编号 --> 查inode table, 找到logs目录的inode --> logs目录的磁盘块 --> 找到messages文件名对应的inode编号 -->查inode表,找到messages的inode编号对应的inode --> messages的磁盘块
一个文件的创建过程
当我们在创建一个文件时,这个文件一定是建在某一个目录之上的,文件有文件名,所以,先找到那个准备创建文件的目录的磁盘块,在这个目录上把这个文件名存放下来,接着,这个文件名应该存放的inode编号,如果没有编号,回到inode表中找到一个空闲的inode存储,这个文件的属组属主数据存放此inode,在之后找空闲磁盘块存放数据,一次分八个磁盘块,导入数据,如果没有使用完八个将退回多余的,把此次导入的大小位置存放于inode表中。这个文件以及存储完毕。意味着创建完成
一个文件的删除过程
为了加速整个文件的创建和回收过程,inode表条目都存在,没被分配出去只是空的没有存储数据而已,数量大小已经划分完毕的。块也一样,分占用和空闲。由此,删除便是把inode指为空闲,把inode指向的磁盘块,标为空闲就OK了。 当我们复制一个文件需要几分钟或者更长或更短,而删除只需要一瞬间就是这个道理,当我们在向里面写入数据时,之前的数据将被覆盖掉了。磁盘块也一样,删除仅仅是把磁盘块标记空闲,磁盘块的数据并没有动过。这便是为什么数据删除之后还能被恢复回来的原因。但是,就算在写入数据,有些高级技术还是可以恢复的,陈老师的磁盘就是一个例子。这个故事告诉我们数据的恢复取决于对数据的兴趣。
复制移动的过程:
同分区:
复制一个文件相当于新建一个文件,并向里面填充原有数据的过程。不是同一个inode的。
移动一个文件,先复制后移动并创建inode,磁盘块不变,再删除原文件inode。
不同分区:
跨分区移动相当于新建一个文件的过程。