硬盘与文件系统

1硬盘的物理组成:原型盘片,加磁头组成。

一个盘片有2面 ,有多个柱面,有多个扇区,多个磁道。

每一个扇区大小相同都是512bit,每一个磁道有相同数目的扇区(扇区存储的数据相同但是密度不同),每一个扇区可用3维坐标来表示(柱面,磁头,扇区),

硬盘的容量可表示为: C=A*B

A=(磁头数*柱面数)=多少个磁道

又因为每个磁道扇区数目相等以及每个扇区存储数据相同,也就是每个磁道存储的数据大小相等

B=(磁道容量=扇区数量*扇区大小)

第一个扇区就是(0,0,1)就是主引导程序(mbr)446b和分区表64b

2磁盘分区:代表的是高速操作系统次分区可以访问从a柱面到b柱面的之间的块。

因为磁盘分区表只有64个字节所以只能记录4条分区的记录 (这4条记录称为主分区(p)和扩展分区(e))其中扩展分区还可以在划分但是主分区不可以.

如可以划分为 p+p+p+p

或者p+p+p+e(e可以再划分)

只可以格式化p或者可扩展分区的逻辑分区,即扩展分区不能被整体格式化

3分区完成之后要格式化:目的是使分区成为能被操作系统利用的文件系统。

如windows 是ntfs 而linux正规文件系统是ext2

4.以前一个分区只可以格式化为一个文件系统。现在可以一个分区可以挂在多个文件系统

由于上面原因:现在我们称一个可以被挂载的数据为一个文件系统

5.文件系统的如何运行:一般一个文件系统分为:3个文件块

一个是inode 块(记录文件的属性权限,还有文件数据所在的block块号)

一个是block 块(实际记录文件的数据,文件太大可以占多个块)

一个是super block块(记录inode 和block的使用情况,文件系统的格式和相关信息)

6文件系统的访问:索引式访问和链表式访问。

Linux是索引式访问

U盘是fat格式为链表式访问

7.inode和block块在格式化完成后就被文件系统分好啦

文件系统可以分为多个块组,,每个块组都有自己的(super block, inode, block)


启动扇区


Block group1


Block group2


Block group3


Block group4

每一个block group 又可以分为


Superblock


文件系统描述


块对应表


Inode对应表


Inode table


datablock

在文件系统的最前面的一个扇区安装引导驱动程序(mbr)

8.data block 在ext2下有3种大小:1kb,2kb,4kb

每一个文件都会占用一个或多个block ,所以合理设置block很重要,会对内存的利用率提高。

9inode table


文件权限,属性记录区


12个直接记录区


一个间接记录区


一个双间接记录区


一个3间接记录区

12个直接记录block号   inode ->block   可以有12block号

假设一个block分为1kb,每个block占4个字节

间接记录Inode->block->block:  可以有:1*1kb/4=256个block号

双间接记录Inode->block->block->block

3间接记录Inode->block->block-> block->block

9.superblock(大小为1024个字节) 使用过dumpe2fs命令查看。

主要记录block与inode的总量,以及使用情况以及(block的大小(1,2,4kB),或者inode的大小(128B)),文件系统的挂载时间,最近一次写入磁盘的时间,最近一次检验磁盘的时间等

Vaildbit 代表文件系统是否被挂载(1时被挂载,0未被挂载)

一般superblock只有一个,若有多个只是第一个的备份,用于数据的恢复

10.inode 对应表代表inode的使用情况

11.block 块对应表代表block的使用情况

12.文件系统描述符代表的是每一个block group的详细信息,如开始block,结束block,以及每一个区段的各个描述表所在的位置。

13文件系统与目录树的关系

1每个文件或目录都会占用一个inode号用于文件的属性与权限

2.每个文件或目录会分配多个block用于存储真正的数据

对于目录,inode存储的是目录的相关属性与权限,block记录的是目录下的文件名和文件名占用的inode号

对于文件,inode记录文件的相关信息,block记录真正的数据(先用直接,后间接后…)

3目录树的读取:系统根挂载点的信息找到挂载点号码得到根目录的inode内容,得到根目录的block文件数据,在一层层的往下读。

4关于文件系统的大小与读写性能:

如果文件过于离散,则把数据全部复制出来再格式化一下文件系统在复制回去。

分区不适宜过大,应该对主机的用途做划分。

14.ext2ext3文件的访问和日志文件系统的功能

当新增一个文件时根据权限检查,从inode 对应表找出未使用的inode并将文件相关属性权限信息写入inode,根据block对应表 找出未使用的block写入数据,更新inode对应表和block对应表以及superblock表

日志文件系统的由来:由于文件存入是可能会导致block bitmap 和inodebitmap未作出及时处理,导致文件系统不一致,所以ext2每次系统都回检查全部磁盘,从而浪费时间

Ext3比ext2多一个日志文件系统

日志文件工作流程:

1预备文件准备录入的信息

2写入块表和inode表,更新medadata表

3日志文件记录流程.

优点:无需检查全部磁盘,只需要看日志文件即可.

15linux文件系统的操作:会缓冲常用的文件数据到内存,物理内存会被用光,未被改动的文件设置为clean改动过得设置为dirty,可以通过sync同步写入磁盘

正常关机会自动调用sync,非自动关机可能会导致磁盘数据的损毁。

16.文件系统与挂载点

文件系统只有与目录树结合才能被使用,这个称为挂载。

挂载点一定是目录,目录为该文件系统的入口。

时间: 2024-10-13 11:35:47

硬盘与文件系统的相关文章

从硬盘到文件系统

whpu-杨钦 这篇文章将要为大家介绍硬盘的组成及其工作原理,然后由硬盘引申到文件系统. 首先来为大家介绍硬盘的分类. 硬盘按接口来分的话一般可以分为: SATA (Serial Advanced Technology Attachment,串行高级技术附件)接口硬盘.(SATA后面还有SATAⅡ) 图1 SAS(Serial Attached SCSI)和接口硬盘. 图2 大家有没有觉得SAS接口硬盘和SATA接口硬盘很像?事实是它们俩确实很像,像到了SAS和SATA在物理层上完全兼容的地步,

Ubuntu - 硬盘分区、格式化、自动挂载配置

Ubuntu系统的硬盘空间不够用了,需要增加新的硬盘扩容.将硬盘分区.格式化.自动挂载配置的整个过程记下来,备忘. 运行环境 | Enviroment Ubuntu 10.10 一.硬盘分区 | Hard disk add new partition 1.显示硬盘及所属分区情况.在终端窗口中输入如下命令: sudo fdisk -lu 显示当前的硬盘及所属分区的情况.如下图所示:系统提示:DIsk /dev/sdb doesn't contain a valid partition table.

cpu,内存,虚拟内存,硬盘,缓存之间是什么关系??

1.CPU即中央处理器,是英语“Central Processing Unit”的缩写.CPU从内存或缓存中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行. 2.但是,CPU并不能直接调用存储在硬盘上的系统.程序和数据,必须首先将硬盘的有关内容存储在内存中,这样才能被CPU读取运行.因而,内存(即物理内存,是相对于硬盘这个“外存”而言)作为硬盘和CPU的“中转站”,对电脑运行速度有较大影响. 3.当运行数据超出物理内存容纳

Ubuntu - 硬盘分区、格式化、自动挂载配置(纯属转载 但是测试可行)

运行环境 | Enviroment Ubuntu 10.10 一.硬盘分区 | Hard disk add new partition 1.显示硬盘及所属分区情况.在终端窗口中输入如下命令: sudo fdisk -lu 显示当前的硬盘及所属分区的情况.如下图所示:系统提示:DIsk /dev/sdb doesn't contain a valid partition table. 2.对硬盘进行分区.在终端窗口中输入如下命令: sudo fdisk /dev/sdb 如下图所示:在Comman

对象存储、块存储、文件系统存储概念与区别

一.概念及区别 针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储.块存储.文件系统存储.这三者的主要区别在于它们的存储接口: 1.  对象存储: 也就是通常意义的键值存储,其接口就是简单的GET,PUT,DEL和其他扩展,如七牛.又拍,Swift,S3 2. 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的

Linux磁盘和文件系统

Linux磁盘和文件系统 ??当我们拿到一块全新的磁盘的时候,我们并不能直接使用,而是需要经过分区.格式化.挂载后,才能被操作系统识别并写入和读取数据.不同的操作系统的文件系统有所不同,因此对磁盘的划分方式也不一样. 一.磁盘 1.结构 ??在计算机领域,磁盘是现在使用最多.性价比最高的存储介质.随着存储技术的不断发张,磁盘又分为机械硬盘和固态硬盘.机械硬盘主要由:盘片.磁头.盘片转轴和磁头控制器.数据转换器.接口等几部分组成.数据存储在盘片上,在电机的带动下盘片高速旋转,每个盘片的存储面上有一

磁盘管理、进程管理、文件系统、软硬链接详细文档

项目技术操作文档项目名称:存储管理.进程管理 项目需求:1.在企业服务器上安装新硬盘,对磁盘进行分区.格式化.挂载处理2.根据企业服务器数据业务的不同,采用不同的raid技术来保证数据的读写速度.数据安全3.在企业的存储服务器上采用LVM逻辑卷技术来实现容量的动态调整4.在服务器的运维工作中随机对系统进程进行分析和管理 项目测试: 原理概述:存储管理是系统中必不可少的技术,Linux系统中支持多种存储管理技术.在企业服务器中需要根据业务的不同来分别使用分区.raid.LVM逻辑卷等技术. 测试环

Linux系统硬盘扩容

参考教程:https://www.jb51.net/article/144291.htm 1.查看硬盘已经用了99% $ df -h #查看硬盘已经使用了99% 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 2.0G 0 2.0G 0% /dev tmpfs 2.0G 12K 2.0G 1% /dev/shm tmpfs 2.0G 11M 2.0G 1% /run tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/mapper/centos-roo

Hadoop学习之路(2)Hdfs分布式文件系统

@[TOC] 1.Hadoop架构 Hadoop由三个模块组成:分布式存储HDFS.分布式计算MapReduce.资源调度引擎Yarn 2.HDFS体系架构 2.1NameNode    NameNode负责:文件元数据信息的操作以及处理客户端的请求   NameNode管理:HDFS文件系统的命名空间NameSpace.   NameNode维护:文件系统树(FileSystem)以及文件树中所有的文件和文件夹的元数据信息(matedata)维护文件到块的对应关系和块到节点的对应关系   Na