zoukankan      html  css  js  c++  java
  • linux文件系统-基本磁盘2

    直入主题-基本磁盘

    硬盘数据按照不同特点和作用大致分为5部分:MBR区、DBR区、FAT区、DIR区和DATA区

    1.MBR

    MBR(Main Boot Record 主引导记录区)位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的446个字节,另外的64个字节交给了DPT(Disk Partition Table硬盘分区表),最后两个字节“55,AA”是分区的结束标志。这个整体构成了硬盘的主引导扇区。

    主引导记录中包含了硬盘的一系列参数和一段引导程序。其中的硬盘引导程序的主要作用是检查分区表是否正确并且在系统硬件完成自检以后引导具有激活标志的分区上的操作系统,并将控制权交给启动程序。MBR是由分区程序(如Fdisk.exe)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而实现多系统共存。

    关键词:一个扇区大小(512B,分区表64B),激活分区,表示可引导  分区的开始和结束以磁头、扇区、柱面表示,是一段连续的空间

    2.DBR

    DBR(Dos Boot Record)是操作系统引导记录区的意思。它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。引导程序的主要任务是当MBR将系统控制权交给它时,判断本分区跟目录前两个文件是不是操作系统的引导文件(以DOS为例,即是Io.sys和Msdos.sys)。如果确定存在,就把它读入内存,并把控制权交给该文件。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个数,分配单元的大小等重要参数。DBR是由高级格式化程序(即Format.com等程序)所产生的。

    3.FAT(文件分区表)

    在DBR之后的是我们比较熟悉的FAT(File Allocation Table文件分配表)区。在解释文件分配表的概念之前,我们先来谈谈簇(Cluster)的概念。文件占用磁盘空间时,基本单位不是字节而是簇。一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,可能是4、8、16、32、64…… 同一个文件的数据并不一定完整地存放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即FAT),操作系统在读取文件时,总是能够准确地找到各段的位置并正确读出。 为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,表中有很多表项,每项记录一个簇的信息。由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。FAT的格式有多种,最为常见的是FAT16和FAT32。

    关键:单独存放在一块区域,并且有备份

    4.DIR

    DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

    5.DATA区

    DIR(Directory)是根目录区,紧接着第二FAT表(即备份的FAT表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据DIR中的起始单元,结合FAT表就可以知道文件在硬盘中的具体位置和大小了。

    以上是从下面摘得:

    http://wenku.baidu.com/view/1c46fed6360cba1aa811da3e.html

    http://wenku.baidu.com/link?url=ri8u2oDA7KoYTZhhEdhNtuHiYN41jRSZ_Q6ffm7AoHRyztLGbKvOenIhNm1P3V78NXWbe9jC0HrM4kVA69_TIGyCNNgq7tHo73lj22nqOWq

    这个PPT讲的非常好:

    http://wenku.baidu.com/view/fe665ed484254b35eefd3468.html

    http://wenku.baidu.com/view/a7d38660caaedd3383c4d352.html

    总结下:MBR由bootloder(主引导程序)+DPT+Magic Number

    bootloder:ntldr(win xp) bootmgr(win7,vista)

    MBR不属于任何一个OS,也不属于任何分区,但MBR里的引导程序是由OS提供,OS针对分区的命令不可以修改其信息

    MBR最大支持2T  CHS8.4G 扇区以柱面为分割粒度

    windows和linux的对比:

    windows和linux都分主分区和扩展分区(需要扩展分区表)

    小提示:DOS和FAT文件系统被设计为支持24各分区。DOS命令FDISK创建一个扩展分区,扩展分区内可以建立最多23个逻辑分区

    观察:win7磁盘管理有100M作为活动分区(系统使用的分区,叫系统分区,且标记为活动。存放启动文件,没有盘符),该分区在DPT上,且被标记为活动。也可以直接将C盘标记为活动分区

    /********************************************

    *********************************/

  • 相关阅读:
    CALayer3-层的属性
    CALayer2-创建新的层
    CALayer1-简介
    autofac 使用
    .net5的异步
    动态添加菜单
    PDF解析帮助类
    正则获取字符串中两个字符串间的内容
    水晶报表
    通用easyui查询页面组件
  • 原文地址:https://www.cnblogs.com/johnnyflute/p/3511760.html
Copyright © 2011-2022 走看看