宠物美容网站建设合同书,wordpress 获取category id,设计师之家官网首页,wordpress万能文章目录 问题磁盘结构#xff08;物理#xff09;磁盘的存储结构磁盘的抽象结构 问题
1.有没有没有被打开的文件#xff1f;当然有 在哪里呢#xff1f;磁盘中也叫磁盘级文件
2.学习磁盘级别文件的侧重点在哪#xff1f; 站在单个文件角度:
这个文件在哪里#xff1f… 文章目录 问题磁盘结构物理磁盘的存储结构磁盘的抽象结构 问题
1.有没有没有被打开的文件当然有 在哪里呢磁盘中也叫磁盘级文件
2.学习磁盘级别文件的侧重点在哪 站在单个文件角度:
这个文件在哪里这个文件有多大这个文件的其他属性是什么
站在系统角度
一共有多少个文件各自属性在哪里如何快速找到可以存储多少个文件如何快速的找到指定文件如何对磁盘文件进行分门别类的存储用来支持更好的存取
3.磁盘文件----了解磁盘 内存-----掉电易失数据的存储介质 磁盘----永久性存储介质 磁盘是一个外设并且还是计算机中唯一的一个机械设备–慢OS一定会有一些提速的方式我们不深究
磁盘结构物理
磁盘盘片、磁头、伺服系统、音圈马达… 磁盘的盘片 盘面上会存储数据---计算机只认识二进制-----而磁盘是两态的南极北极----而盘面上布满了这些----向磁盘写入本质就是改变磁盘上的正负性----通过磁头来改变。
磁盘的存储结构 同心圆为磁道多个半径相同的磁道合起来称为柱面 扇区是磁盘存储的基本单位。
在物理上如何把数据写入到知道扇区里----本质上是如何找到一个扇区 1.先确认在哪一个面上对应的就是柱面 2.在哪一个磁道上也就是哪个磁头 3.在哪一个扇区上 我们有了CHS寻址方式就能找到任意一个扇区。 扇区的基本大小是512字节硬件要求最小也有4KB的但是比较少。
磁盘的抽象结构
我们先来看磁带结构 磁带没有被拉开是圆形结构----拉出来就变成了线性结构。
而我们可以把卷起来的磁带看出磁盘。在物理上磁盘是圆形结构在想象上可以想象为线性结构。 所以访问扇区可以逻辑化成数组所以访问扇区只要知道数组下标即可。 所以访问扇区我们知道将LBA即可然后通过某种方法将LBA转化为CHS。
所以它们之间的对应关系 将数据存储到磁盘------将数据存储到该数组 找到磁盘特点扇区的位置--------找到数组特定的位置 对磁盘的管理--------对该数组的管理
但是磁盘是很大的管理大的比较困难所以我们就要对磁盘进行分区把磁盘划分成小的来管理。 例子 假设磁盘有500GB很大那么我们就将它分成四个区。 但是分四个区后还是很大那么我们再进行分区。 SuperBlock:整个文件系统属性信息因为可能发生以外导致前面的文件系统信息消失进而导致文件系统瘫痪所以在每个小区域都有整个系统的信息备份以便恢复。
虽然磁盘的基本单位扇区是512字节但是OS进行IO的基本单位是4KB8*512字节。 为什么不以512字节为单位呢 1.太小了有可能导致对此IO进而导致效率降低 2.如果OS使用和磁盘扇区一样的大小万一磁盘变了的话OS的源代码要不要改呢 所以是为了软件和硬件进行解耦
4KB为block块大小所以磁盘也被称为块设备
Data blocks多个4KB大小的集合 文件 内容 属性 Linux在磁盘上存储文件的时候将内容和属性分开存储而Data block块存的都是内容每一个文件都有对应的inode编号
inode tableinode是一个大小为128字节的空间。保存的是对应文件的属性 该块组内所有文件的inode空间的集合需要标识唯一性每一个inode块都需要一个inode编号 一般而言一个文件一个inode块一个inode编号。
Block Bitmap假设有10000个block就有10000个比特位比特位和特定的block是一一对应的Bitmap中某一位置比特位为1代表该block被占用比特位为0则表示该block可用。
inode Bitmap假设有10000个inode就有10000个比特位比特位和特定的inode是一一对应的Bitmap中某一位置比特位为1代表该block被占用比特位为0则表示该block可用。
Group Descriptor Table块组描述符这个块组多大已经使用了多少个。有多少inode已经占用了多少个还剩多少个。共有多少block使用了多少。
如果上面的都清楚那么就能让一个文件的信息可追溯可管理
我们将块组分割成为上面的内容并且写入相关的管理数据-----每一个块组都这么干-----整个分区就被写入了文件系统信息------也叫格式化 一个文件“只”对应一个inode属性节点和inode编号 一个文件只能有一个block块吗不一定。
下面就有几个问题了 1.哪些block块属于同一个文件 2.找到文件只要找到文件对应的inode编号就能找到文件的inode属性集合可是文件内容呢 我们的inode属性节点里面保存了该inode文件下的所有block块编号。 如果这个文件特别大怎么办下次再讲