zoukankan      html  css  js  c++  java
  • [转+整理]LINUX学习笔记(1):磁盘结构及分区

    整理自:

    http://vbird.dic.ksu.edu.tw/linux_basic/0130designlinux_2.php

    http://lengjianxxxx.blog.163.com/blog/static/811884020073228627532/

    一:各硬件与对应LINUX档案名

    装置

    装置在Linux内的档名

    IDE硬盘机

    /dev/hd[a-d]

    SCSI/SATA/U盘硬盘机

    /dev/sd[a-p]

    U盘快闪碟

    /dev/sd[a-p](与SATA相同)

    软盘机

    /dev/fd[0-1]

    打印机

    25针: /dev/lp[0-2]
    U盘: /dev/usb/lp[0-15]

    鼠标

    U盘: /dev/usb/mouse[0-15]
    PS2: /dev/psaux

    当前CDROM/DVDROM

    /dev/cdrom

    当前的鼠标

    /dev/mouse

    磁带机

    IDE: /dev/ht0
    SCSI: /dev/st0

    二、多磁盘与LINUX对应名:

    硬盘分为IDE和SATA两种,首先以IDE举例:

    PC一般提供两个IDE借口插槽(primary/secondary),一个IDE排线可以接2个IDE设备(硬盘/光驱)(Master/Slave),故LINUX中设备名如下图所示:

    IDEJumper

    Master

    Slave

    IDE1(Primary)

    /dev/hda

    /dev/hdb

    IDE2(Secondary)

    /dev/hdc

    /dev/hdd

     

    SATA设备名则由Linux核心侦测到磁的顺序决定,与实际插槽代号无关:例如PC SATA1和SATA5插槽有两个硬盘及一个U盘,则依次为:/dev/sda,/dev/sdb/,dev/sdc。

     

    三、磁盘结构

    磁盘结构示意图:

     

     一般情况下:硬盘包含一个或者多个盘片,每个盘片对应正反两个磁面,每个磁面会用来记录数据,并对应一个磁头来读取数据。每个磁面被划分为面、磁道和扇区。各面上磁道号相同的磁道合起来,称为一个柱面(cylinder)

    磁道:读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一)。由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。我们称这样的圆周为一个磁道(Track)。如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。

    扇区:磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区(Sector)。一个扇区一般存放512字节的数据。扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区。。。。这里需要注意的是,硬盘在划分扇区时,和一般的软盘有一定的区别。软盘的一个磁道中,扇区号依次编排。而在硬盘的一个磁道中,扇区号是按照某个间隔跳跃着编排的。我们举一个例子来说明:在某个硬盘上,以实际存储位置而论,2号扇区并不是1号扇区后的第一个,而是第5个,3号扇区又是2号扇区后的第5个,以此类推。这个"5"就是我们说的交叉因子。当然,这个交叉因子的设定并不是绝对的,每个种类的硬盘为根据自身的情况加以变化。选择适当的交叉因子,可使硬盘驱动器读写扇区的速度与硬盘的旋转速度相匹配,提高存储数据的速度。

     计算机对硬盘的读写,出于效率的考虑,是以扇区为基本单位的。即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节,每个扇区并不仅仅是由512个字节组成的,在这些由计算机存取的数据的前、后两端,都另有一些特定的数据,这些数据构成了扇区的界限标志,标志中含有扇区的编号和其他信息。计算机就凭借着这些标志来识别扇区。

    MBR(Master Boot Recorder)主要开机扇区,记录了两个重要的东西,分别是:开机管理程序,与磁盘分区表 ( partition table )。所以我们所做的硬盘分区,也就是在修改partition table。磁盘分区表只有64bytes,只能保存4个分区记录:Primary ( 主分区 ) 及 Extended ( 扩展分区 ) ,使用标识: /dev/had[1~4],其中,Extended 只能有一个,因此,你如果要分区成四块磁盘分区的话,那么最多就是可以:(P + P + P + P)或者(P + P + P + E)。

    由扩展分区(partition table)可以划分出逻辑分区(logical partition),使用 /dev/had[5~n]。逻辑分区也有分区表,放在Extended中第一分区,故个数也是有限制的。

    总结:Primary ( 主分区 ) 及 Extended ( 扩展分区 ) 与逻辑分区(Logical)的特性:

    • Primary 与Extended 最多可以有4个(硬盘的限制)
    • Extended 最多只能有一个(操作系统的限制)
    • Logical是在Extended中 重新划分的分区
    • Primary ( 主分区 ) 及 Logical ( 扩展分区 ) 可以格式化并进行数据存取,Extended 无法格式化;
    • Logical的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个(5号到63号), SATA硬盘则有11个 (5号到15号)。

    四、启动流程

     CMOS是记录各项硬件参数且嵌入在主板上面的储存器,BIOS是程序,直接写入硬件CMOS,是硬件启动加载的第一个程序。

    1、 读取BIOS,获得MBR位置

    2、 读取MBR,获得启动管理程序(boot loader)

    3、 读取boot loader,读取核心文件,加载操作系统,或者转入4

    4、 转交给其他loader(多操作系统的多重启动),递归3。

    启动管理程序的工作运行示意图

    WINDOWS安装会覆盖掉MBR以及所在分区的启动区域。Linux可以将boot loader安装在MBR或其他分区的启动区域, 而且Linux的loader可以手动配置菜单,加入Windows启动的选项;

  • 相关阅读:
    JavaScript----数组方法
    JavaScript----数组
    JavaScript----Array.foreach()
    JavaScript----数字及数字方法
    JavaScript----函数,对象及字符串方法
    设计模式@第5章:单例设计模式
    设计模式@第4章:设计模式概述
    设计模式@第3章:UML 类图
    部署方案@常用软件的安装
    应用框架@SpringBoot
  • 原文地址:https://www.cnblogs.com/songxinya/p/3274320.html
Copyright © 2011-2022 走看看