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装置的档名为:

IDE\Jumper 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操作系统的文件使用目录树,与磁盘的对应需要有"挂载"的操作才行。所谓的挂载就是利用一个目录当成进入点,将磁盘分区的数据放置在该目录下,也就是进入该目录就可以读取该分区。

《鸟哥的Linux私房菜》读书笔记三的更多相关文章

  1. R语言实战读书笔记(三)图形初阶

    这篇简直是白写了,写到后面发现ggplot明显更好用 3.1 使用图形 attach(mtcars)plot(wt, mpg) #x轴wt,y轴pgabline(lm(mpg ~ wt)) #画线拟合 ...

  2. R实战读书笔记四

    第三章 图形入门 本章概要 1 创建和保存图形 2 定义符号.线.颜色和坐标轴 3 文本标注 4 掌控图形维数 5 多幅图合在一起 本章所介绍内容概括例如以下. 一图胜千字,人们从视觉层更易获取和理解 ...

  3. iPhone与iPad开发实战读书笔记

    iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...

  4. <<Java RESTful Web Service实战>> 读书笔记

    <<Java RESTful Web Service实战>> 读书笔记 第一章   JAX-RS2.0入门 REST (Representational State ransf ...

  5. 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...

  6. 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...

  7. 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...

  8. 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...

  9. 【转载】MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)

    1. 在 Analysis Service 分析服务中,Cube (多维数据集) 是以一个多维数据空间来呈现的.在Cube 中,每一个纬度的属性层次结构都形成了一个轴.沿着这个轴,在属性层次结构上的每 ...

  10. Spring实战读书笔记

    Spring实战读书笔记 Spring-core Spring之旅 - DI 和 AOP 概念 spring 的Bean容器 spring 的 核心模块 Spring的核心策略 POJO 最小侵入式编 ...

随机推荐

  1. Css样式之overflow

    1:overflow属性的可能取值有4种:visible,hidden,scroll,和auto 1) visible:不裁剪溢出的内容.浏览器将把溢出的内容呈现在其容器的显示区域之外,全部内容都可见 ...

  2. order by跟group by 跟having(2)

  3. Unity3D NGUI学习(一)血条

    这次来讲讲Unity3D NGUI这个插件的学习,这个插件是收费的,不过去网上可以下载得很多可用版本.用来做用户的交互UI,学习起来比较简单 第一步,导入NGUI包 http://pan.baidu. ...

  4. 周末充电之WPF(四).多窗口之间操作

    多窗口实例: 1.在多个窗口的情况下如何自定义指定要启动的窗口程序 <Application x:Class="toolbar.App" xmlns="http:/ ...

  5. Struts2的运行原理和运行与原理

    Struts2 struts2的流程图 运行机制 1.客户端发送请求.通过ActionContextLoader调用FilterDispatcher(struts) 2.FilterDispatche ...

  6. 使用宏定义来减少JNI的繁琐

    本篇文章由:http://www.sollyu.com/use-macro-definitions-to-reduce-tedious-jni/ 说明 相信写过cocos2d-x的朋友,或者写过jni ...

  7. 二进制方式快速安装MySQL数据库命令集合

    二进制方式快速安装MySQL数据库命令集合 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1.安装mysql ls mysql ...

  8. cp 命令参数

    cp命令         该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大.         语法: cp [选项] 源文件或目录 目标文件或目录 ...

  9. x264_param_t结构

    typedef struct x264_param_t { unsigned int cpu; // CPU 标志位 int i_threads; // 并行编码多帧; 线程数,为0则自动多线程编码 ...

  10. HTML5 声明兼容IE的写法

    <!DOCTYPE html> <!–[if IE]> <meta http-equiv=”X-UA-Compatible” content=”IE=8″ /> & ...