做网站的费用属于哪个科目打开网站 磁盘空间不足
2025/12/30 10:16:07 网站建设 项目流程
做网站的费用属于哪个科目,打开网站 磁盘空间不足,做公司网站主要需要什么科目,在那些免费网站做宣传效果好目录 一、硬件结构 磁盘的存储结构 磁盘的逻辑抽象结构 磁盘的分区管理 二、软硬链接 1.软链接 2.硬链接 删除软硬链接 一、硬件结构 没错#xff0c;正如你上图所看见的#xff0c;这些都是我们生活中的硬件。 但是这其中最重要的就属磁盘结构。 之前我们在数据库也…目录一、硬件结构磁盘的存储结构磁盘的逻辑抽象结构磁盘的分区管理二、软硬链接1.软链接2.硬链接删除软硬链接一、硬件结构没错正如你上图所看见的这些都是我们生活中的硬件。但是这其中最重要的就属磁盘结构。之前我们在数据库也讲过磁盘结构但本篇文章我们将更加细致的来了解磁盘是如何工作的。磁盘的存储结构整个磁盘是有若干个小磁盘圆滑面的每个正反面是单独的存储面每个存储面都有一个磁头当整个磁盘工作时会高速旋转同时磁头左右摆动来锁定目标位置达到管理效果(存储、访问.....)扇区是从磁盘读出和写入信息的最小单位通常大小为512字节。磁头(head)数:每个盘片一般有上下两面分别对应1个磁头共2个磁头磁道(track)数:磁道是从盘片外圈往内圈编号0磁道1磁道…靠近主轴的同心圆用于停靠磁头不存储数据柱面(cylinder)数:磁道构成柱面数量上等同于磁道个数扇区(sector)数:每个磁道都被切分成很多扇形区域每道的扇区数量相同圆盘(platter)数:就是盘片的数量磁盘容量磁头数 x 磁道(柱面)数 x 每道扇区数 x 每扇区字节数我们重点来看每个磁盘面每个盘面会以中间的主轴为中心向外分为一个个同心磁道而每个磁道又会被划分为各个扇区所以我们看到文件的存储本质上就是占据扇区的问题。磁盘上存储的基本单位是扇区。所以将来在进行磁盘寻址的时候磁头找的是某一个面上的某一个磁道上的某一个扇区这种寻址方式叫做CHS寻址。CHS寻址对早期的磁盘非常有效知道⽤哪个磁头读取哪个柱⾯上的第⼏扇区就可以读到数据了。 但是CHS模式⽀持的硬盘容量有限因为系统⽤8bit来存储磁头地址⽤10bit来存储柱⾯地 址⽤6bit来存储扇区地址⽽⼀个扇区共有512Byte这样使⽤CHS寻址⼀块硬盘最⼤容量为256*1024*63*512B8064MB(1MB1048576B)若按1MB1000000B来算就是 8.4GB效率大大降低。磁盘的逻辑抽象结构当操作系统要对磁盘进行写数据操作或者读数据操作操作系统和磁盘之间又是怎么建立联系的呢磁带上面可以存储数据那么我们可以把磁带“拉直”形成线性结构。那么磁盘本质上虽然是硬质的但是逻辑上我们可以把磁盘想象成为卷在⼀起的磁带那么磁盘的逻辑存储结构我们也可以类似于这样每⼀个扇区就有了⼀个线性地址(其实就是数组下标)所以在操作系统层面磁盘的盘片就被逻辑抽象成为线性的数组这个数组的每一个单位就是一个扇区定义了这样的一个数组操作系统只需要有数组的下标就可以实现对磁盘的管理这也是先描述再组织的思想。这种下标地址我们叫做LBA地址即Logical Block Address逻辑块地址。所以如果内存中有数据需要写入到磁盘里操作系统会根据LBA地址映射转换成CHS地址然后将内存中要写入到磁盘的数据配合着CHS地址写入到磁盘里至此就完成了对应的写入操作。磁盘的分区管理我们的磁盘是一块很大的内存空间管理这么大的一块内存空间成本是比较高的。因此操作系统对磁盘的管理采取的是分而治之的思想即将磁盘分成几个区然后分别对单独的一个区进行管理。磁盘分区其实非常常见我们的电脑上一般会有所谓的C盘、D盘甚至是E盘F盘这就是磁盘的分区。将磁盘分成一个个的区以后我们就可以针对一个区进行管理其中每个区又可以继续分成若干个组如下图所示一个分区里面最开始一般都有一个区域叫做Boot Block这里存储的是开机信息这些开机信息一般包含了分区表、操作系统软件在磁盘的什么位置等所以在开机的时候硬件就可以通过这里的开机信息找到我们的操作系统。除了这个区域外剩下的区域就被分成了一个个的小组。到这里我们就将磁盘的管理转换成了一个组的管理。下面我们可以介绍针对一个组的管理方案首先我们要明确一点文件是由文件内容和文件属性组成的文件内容和文件属性都是数据它们都要被存储起来在Linux中采用的是将内容和属性数据分开存储的方案。其中文件内容被存储在block中也就是我们所说的磁盘中的块一个块是4KB大小的空间文件属性被存储在inode中inode就是磁盘上的另一份空间一个inode空间的大小一般是128字节。有了这两个概念以后我们可以介绍磁盘分区中一个块组的内容Data blocks 这个区域实际上在一个块组中的占比是很大的一般占一个块组的80%(图中没有画明确)这个区域是以块为单位进行文件内容的保存一个块的大小是4KB即使文件没有满4KB比如文件内容大小只有3KB照样会分配一个块来保存或者文件内容大小是6KB就会分配两个块来保存。inode Table 这个区域是以128字节为单位进行文件属性的保存即里面是一个一个的inode文件属性就存储在inode里面。文件属性里面有一个inode编号一般而言一个文件对应一个inode也就是说一个文件对应一个inode编号。如图输入:ll -i 我们就能查看我们的inode编号。Block bitmap 这是一个位图结构用来记录Data blocks的使用情况。比如说Data blocks里面有1000个block那么Block bitmap就有1000个比特位来记录每一个block是否被占用。inode bitmap 同理inode bitmap用来记录inode Table中每一个inode是否被占用。Group Descriptor Table 简称GDT它管理的是一个块组用来记录块组的信息包含块组中有多少个inode、块组的起始inode编号是多少、块组中有多少个inode被使用、块组中有多少个block被使用、块组的总大小是多少等等信息。Super Block这是文件系统的顶层数据结构它管理的是宏观上的整个分区它表示的是整个分区的信息比如整个分区一共有多少个块组、整个分区内每一个块组的inode的使用情况、整个分区内每一个块组的block的使用情况、每一个块组的大小、整个分区在磁盘中对应的位置等等。虽然Super Block管理的是整个分区但Super Block不是像Boot Block一样存在于分区里而是存在于分区下的每一个块组中这是因为Super Block存储的信息太重要了同一个分区下每个块组都存储一个相同Super Block能够起到备份的作用。如果出现了文件系统损坏的情况可以用备份来修复。那我们梳理一下我们在创建一个新的文件的时候操作系统做了什么首先操作系统会在分区内部的一个块组里的inode Bitmap查找没有被使用的inode找到以后将inode Bitmap里对应的比特位由0置1然后将创建的文件的属性值写入到inode Table对应的inode里当我们往文件写入内容时操作系统会到Block Bitmap里查找没有被使用的块然后将要写入的数据写入到对应的块中最后再在inode的blocks[]数组里填上对应的编号。这还没有完我们创建一个文件一定是在一个目录下创建的在创建文件的时候用户会给文件指定文件名操作系统会根据目录的inode找到目录的Data blocks将文件名和inode编号的映射关系写入到目录的数据块中。反之删除的时候根据目录的inode找到目录的Data blocks再根据文件名和inode编号的映射关系拿到文件的inode编号再通过inode编号找到文件的inode Bitmap和Block Bitmap将inode Bitmap和Block Bitmap对应的比特位由1置0就完成了删除工作。这里可以反复理解。在现代文件系统的设计和优化中inode 与 datablock 的直接强映射关系确实有所弱化但弱化并非取消映射而是通过引入中间层、缓存机制、动态分配等技术让映射关系更灵活、高效以适配更高的存储需求。二、软硬链接所以说来说去就是可以根据访问目标文件的路径前缀准确判断文件在哪⼀个分区。那我们再来看看软硬链接。1.软链接软链接是通过名字引用另外一个文件相当于Windows操作系统下的创建快捷方式软链接创建出来的文件是一个独立文件它和原来的目标文件不共用同一个inode编号。软链接文件并不是对原来文件的拷贝而是将原来文件的路径存储到软链接文件的内容当中。那么什么时候用呢我们之前有尝试运行过进程我们创建进程的时候必须在当前目录下才能运行现在所写的文件那么一旦文件路径变深了呢这样一来就会非常不方便。因此我们可以在上级目录建立可执行程序的软链接输入指令ln -s ./dir1/xxx xxxx 这样我们就创建了目标文件的软链接即在当前目录下的快捷方式可以直接./运行起来了。语法ln -s 原文件的绝对/相对路径 软连接路径2.硬链接我们知道了在磁盘上找文件是通过inode编号而不是文件名文件名和inode是通过映射关系关联起来的其实在Linux中可以让多个文件名对应同一个inode编号。硬链接就是单纯地在目录下给指定的文件新增“文件名和inode编号的映射关系”。[rootlocalhost linux]# touch abc [rootlocalhost linux]# ln abc def [rootlocalhost linux]# ls -li abc def 263466 abc 263466 defabc和def的链接状态完全相同他们被称为指向文件的硬链接。内核记录了这个连接数inode263466 的硬连接数为2。我们在删除文件时干了两件事情:1.在目录中将对应的记录删除2.将硬连接数-1如果为0则将对应的磁盘释放。删除软硬链接建议使用unlink来删除软硬链接输入指令unlink mytest、unlink abc

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询