Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • 操作系统

    • 学习笔记

      • 鸟哥的Linux私房菜学习笔记01-计算机概论
      • 鸟哥的Linux私房菜学习笔记02-磁盘分区
        • 鸟哥的Linux私房菜学习笔记03-日志文件
        • 寄存器
        • 汇编语言
        • 零拷贝
        • 内存管理单元MMU
        • 内存管理基础知识
        • 文件系统
        • 系统调用
        • 写时复制
        • 虚拟地址
        • 虚拟内存
        • 中断
        • CPU
        • DMA
        • mmap
        • Swap分区
      • Shell

      • Linux命令

      • RAID分类详解
      • Page Cache与Page回写
      • 磁盘IO与swap分区
    • 计算机网络

    • 数据结构和算法

    • MySQL

    • Redis

    • Nginx

    • MongoDB

    • 其他

    • 计算机基础
    • 操作系统
    • 学习笔记
    Ravior
    2011-03-01
    目录

    鸟哥的Linux私房菜学习笔记02-磁盘分区

    # 磁盘的组成

    磁盘主要有盘片、机械手臂、磁头和主轴马达所组成,数据的写入在盘片上,盘面又可以细分为扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512bytes。

    整块磁盘的第一扇区特别重要,它记录了整块磁盘的重要信息。主要包括:

    主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,有446bytes; 分区表(Partition table):记录整块磁盘分区的状况,有64bytes;

    # 分区表(Patition table)

    柱面是分区的最小单位,分区表中每一条记录中记录了每个分区的起始柱面号码和结束柱面号码。

    分区表

    但是,由于分区表只有64bytes而已,每一条记录16bytes,最多只能容纳4个分区, 这四个分区称为主分区(Primary)或扩展分区(Extended)。

    第一个扇区的分区表只能记录4条数据,即最多只能有4个分区,其实实际情况不是这样,现实中会把一个扩展分区再切割成分区,扩展分区的目的是使用额外的扇区来记录分区信息,由扩展分区切出来的分区,被称为逻辑分区, 扩展分区本身并不能被拿来格式化。

    逻辑分区的设备名称号码是从5开始,前面4个号码都是保留给Primary或Extended用的。

    总结信息如下:

    • 主分区与拓展分区最多可以有4个;
    • 扩展分区最多只能有一个;
    • 逻辑分区是由拓展分区持续切割出来的分区;
    • 能够被格式化作为数据访问的分区为主分区与逻辑分区,扩展分区无法格式化。

    # 开机流程与主引导分区(MBR)

    在主板上有CMOS和BIOS两个东西,CMOS是记录各项硬件参数且嵌入在主板上面的存储器,BIOS是一个写入在主板上的韧体(韧体: 写入在硬件上的软件程序,又称固件)。BIOS是开机时计算机系统会主动执行的第一个程序。

    BIOS启动后,会去分析计算机里面有哪些存储设备,BIOS会依据用户的设置去取得能够开机的硬盘, 并且到该硬盘里面去读取第一个扇区的MBR位置,MBR这个仅446btes的硬盘容量里面会防止最基本的引导加载程序(Boot Loader),此时BIOS功成身退,MBR就开始工作。

    这个引导加载程序的目的在于加载内核文件,开始操作系统的功能。

    # 挂载

    所谓挂载就是利用一个目录当做进入点,将磁盘分区的数据放置在改目录下,也就是说,进入该目录就可以读取该分区的数据,这个操作称为挂载,那个进入点称为挂载点。

    # 文件系统类型

    • ext2/ext3: 是Linux适用的文件系统类型,由于ext3文件系统多了日志的记录,对于系统的恢复比较快速。
    • physical volume(LVM): 这是用来弹性调整文件系统大小的一种机制,可以让你的文件系统大小变大或表笑而不改变原有的文件数据的内容。
    • software RAID: 利用Linux操作的特性,用软件仿真出磁盘队列的功能。
    • swap: 就是内存交换空间。由于swap并不会使用到目录树的挂载,所以用swap就不需要指定挂载点。

    swap内存交换空间的功能是:当有数据被存放在物理内存里面,但是这些数据又不是常被CPU所取用时,那么这些不常被使用的程序将会被丢到硬盘的swap交换空间当中,而将速度较快的物理内存

    #Linux
    上次更新: 2022/12/01, 11:09:34
    鸟哥的Linux私房菜学习笔记01-计算机概论
    鸟哥的Linux私房菜学习笔记03-日志文件

    ← 鸟哥的Linux私房菜学习笔记01-计算机概论 鸟哥的Linux私房菜学习笔记03-日志文件→

    最近更新
    01
    常用游戏反外挂技术总结
    11-27
    02
    Golang开发实践万字总结
    11-11
    03
    Redis万字总结
    10-30
    更多文章>
    Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式