zoukankan      html  css  js  c++  java
  • 《鸟哥的Linux私房菜》读书笔记三

    1.在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名。比如 IDE接口的硬盘文件名为/dev/hd[a-d] 括号内的字母为a-d当中任意一个,即/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd四个文件.

    装置 装置在Linux内的档名
    IDE硬碟机 /dev/hd[a-d]
    SCSI/SATA/USB硬碟机 /dev/sd[a-p]
    USB快闪碟 /dev/sd[ap](与SATA相同)
    软碟机 /dev/fd[0-1]
    印表机 25针: /dev/lp[0-2] 
    USB: /dev/usb/lp[0-15]
    滑鼠 USB: /dev/usb/mouse[0-15] 
    PS2: /dev/psaux
    当前CDROM/DVDROM /dev/cdrom
    当前的滑鼠 /dev/mouse
    磁带机 IDE: /dev/ht0 
    SCSI: /dev/st0

    更多Linux内核支持的设备参考网站:  http://www.kernel.org/pub/linux/docs/device-list/devices.txt


    2.磁盘分区

    以IDE介面来说,由于一个IDE排线可以连接两个IDE装置,又通常主机都会提供两个IDE介面,因此最多可以接到四个IDE装置。也就是说,如果你已经有一个光碟设备了,那么最多就只能再接三颗IDE介面的磁碟啰。这两个IDE介面通常被称为IDE1(primary)及IDE2(secondary),而每条排线上面的IDE装置可以被区分为Master与Slave这四个IDE装置的档名为:

    IDEJumper Master Slave
    IDE1(Primary) /dev/hda /dev/hdb
    IDE2(Secondary) /dev/hdc
    /dev/hdd


    3.SATA接口使用SCSI模块来驱动,与IDE不同,SATA/USB接口的磁盘根本没有一定的顺序,这个时候就得根据Linux内核检测到磁盘的顺序了。

    例子:如果PC上面有两个SATA磁盘以及一个USB磁盘,而主板上有六个SATA的插槽。这两个SATA磁盘分别安插在主板上的SATA1,SATA5插槽上,请问这三个磁盘在Linux中的设备文件名?

    答:由于是使用检测到的顺序来决定设备文件名,并非与实际插槽代号有关,因此设备文件名如下:

    SATA1插槽的文件名:/dev/sda

    SATA5插槽的文件名:/dev/sdb

    USB磁盘(开机完成后才被系统识别):/dev/sdc


    4.磁盘的盘片上面可细分出扇区(Sector)与柱面(Cylinder)两种单位,其中扇区每个为512byte那么大。

    磁盘的第一个扇区特别重要,因为它记录了整个磁盘的两个重要信息:

    主引导分区(MBR):可以安装引导加载程序的地方,有446bytes。

    分区表:记录整块硬盘分区的状态,有64bytes


    5.在分区表中,总共分成四组记录区,每组记录区记录了该区段的起始与结束的柱面号码(分区的最小单位)

    假设磁盘的设备文件名为/dev/hda,那么四个分区的设备文件名分别为:

    P1:/dev/hda1     1~100

    P2:/dev/hda2     101~200

    P3:/dev/hda3     201~300

    P4:/dev/hda4     301~400

    注意的几点:

    所谓的分区只是针对那个64byte的分区表设置

    硬盘默认的分区表仅能写入四组分区信息

    这四组分区信息我们称为主(Primary)或扩展(Extended)分区。

    分区的最小单位为柱面(cylinder)

    分区的作用:1.数据的安全性 2.系统的性能


    6.可以在扩展分区上划分多个逻辑分区

    注意1~4的数字保留给主分区或扩展分区使用,逻辑分区的设备名称号由5号开始

    主分区与扩展分区最多可以有四个(硬盘的限制)

    扩展分区最多只能有一个(操作系统的限制)

    逻辑分区是由扩展分区持续切割出来的分区

    能够被格式化作为数据访问的分区为主分区与逻辑分区,扩展分区本身无法格式化

    逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11个逻辑分区(5号到15号)
    如果扩展分区被破坏掉,所有上面的逻辑分区将会被删除


    7.假如PC有两块SATA硬盘,我想在第二块硬盘分出6个可用的分区(可以被格式化来访问数据),那么每个分区在Linux系统下的设备文件名为何?且分区类型为何?至少写出两种不同的分区方式

    答:由于P+E最多只能有4个,E最多只能有一个

    第一种分法:

    P+P+P+E

    实际可用的是 /dev/sdb1,/dev/sdb2,/dev/sdb3,/dev/sdb5,/dev/sdb6,/dev/sdb7

    第二种分法:

    P+E

    实际可用的是/dev/sdb1,/dev/sdb5,/dev/sdb6,/dev/sdb7,/dev/sdb8,/dev/sdb9


    8.电脑开机流程到操作系统之前的动作应该是这样的:

       BIOS:开机主动执行的韧体(韧体就是写入到硬件上的一个软件程序),会认识第一个可开机的设备

       MBR:第一个可开机的设备的第一个扇区内的主引导分区块,内包含引导加载程序

       引导加载程序(Boot loader):一支可读取内核文件来执行的软件

       内核文件:开始操作系统功能


    9.Boot loader的作用:提供菜单,载入内核文件,转交其他loader


    10.每个分区都有自己的启动扇区(boot sector)

         实际可开机的内核文件是放置到各分区内的

         loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已

         loader可直接指向或是间接将管理权转交给另一个管理程序


    11.Linux操作系统的文件使用目录树,与磁盘的对应需要有"挂载"的操作才行。所谓的挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是进入该目录就可以读取该分区。 

  • 相关阅读:
    欧拉回路 定理
    UESTC 1087 【二分查找】
    POJ 3159 【朴素的差分约束】
    ZOJ 1232 【灵活运用FLOYD】 【图DP】
    POJ 3013 【需要一点点思维...】【乘法分配率】
    POJ 2502 【思维是朴素的最短路 卡输入和建图】
    POJ 2240 【这题貌似可以直接FLOYD 屌丝用SPFA通过枚举找正权值环 顺便学了下map】
    POJ 1860【求解是否存在权值为正的环 屌丝做的第一道权值需要计算的题 想喊一声SPFA万岁】
    POJ 1797 【一种叫做最大生成树的很有趣的贪心】【也可以用dij的变形思想~】
    js 实现slider封装
  • 原文地址:https://www.cnblogs.com/krislight1105/p/3748408.html
Copyright © 2011-2022 走看看