一.硬盘的组成与分区

1.物理组成

*圆形的盘片(主要记录数据的部分)

*机械手臂与机械手臂上的磁头(可读写盘片上的数据)

*主轴马达,可以转动盘片,让机械手臂的磁头在盘片上写数据。

*扇区为最小的物理储存单位,每个扇区为512bytes

*将扇区围城一个圆,那就是柱面,柱面时分区最小的单位

*第一个扇区最重要,里面有一不过哦安主引导记录(MBR)及分区表,其中MBR占有446bytes,而partition table则占有64bytes

*/dev/sd【a-p】【1-15】:为SCSI,SATA,USB,Flash等接口的磁盘文件名

*/dev/hd【a-d】【1-63】:为IDE接口的磁盘文件名

2.分区

磁盘分区指的是告诉操作系统“这块磁盘在此分区可以访问的区域时有A柱面到B柱面之间的块”,如此一来操作系统就能够知道他可以在所制定的块内进行文件数据的读,写,查等操作了。也就是说,磁盘分区意即指定分区的起始与结束柱面就可以。

那么指定分区的柱面范围在哪里?就是的一个扇区的分布表中。但是因为分区表既有64bytes而已,因此最多只能记录四条分区的记录,这四条记录我们称为主分区或扩展分区,其中扩展分区还可以分出逻辑分区,而能被格式化的则仅有主分区与逻辑分区而已

*主分区在一朵可以有四个(硬盘的限制)

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

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

*能被格式化后作为数据访问的分区为主要分区与逻辑分区,扩展分区无法格式化

*逻辑分区的数量以操作系统而不同,在linux中,IDE硬盘最多有59个逻辑分区(5号到63号),SATA硬盘则有11逻辑分区(5号到15号)

二.文件系统特性

我门知道磁盘分区完毕后还需要进行格式化,之后操作系统才能够使用这个分区。为何要进行格式化呢?这是因为没中操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能够利用的文件系统格式。

传统的磁盘与文件系统的应用中,一个分区就是只能被格式化成为一个文件系统,所以我们可以说一个文件系统就是一个分区。但是由于LVM技术与软磁盘阵列这些技术的利用,我们在格式化时不再说成针对分区格式化了,通常我们可以称呼一个可被挂载的为一个系统文件而不是一个分区。

文件系统时如何运行呢,这与操作系统的文件数据有关。例如linux操作系统的文件权限(rwx)与文件属性。文件系统通常会将这两部分的数据分别放在不同的块,权限与属性放置到inode中,至于世纪数据则放到data block块中。另外,还有一个超级块,会记录整个文件系统的整体信息,包括inode与block的总量,使用量,剩余量等。

每个inode与block都有编号,至于这三个数据的意义可以简略说明如下:

*super block:记录文件系统的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与相关信息等

*inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码

*block:实际记录文件的内容,若文件太大时,会占用多个block

由于每个inode与block都有编号,而每一个文件都会占用一个inode,inode内则有文件数据放置的block的号码。因此,我们可知,如果能够找到文件的inode的话,呢么自然就会知道这个文件所放置数据的block号码,当然也就能够读出该文件的实际数据了。这是个比较有效率的做法,因为如此一来我们的磁盘就能够在短时间内读取出全部的数据。读写性能较好。

linux磁盘与文件管理的更多相关文章

  1. 攻城狮在路上(叁)Linux(十七)--- linux磁盘与文件管理概述

    一.复习知识点: 1.扇区是最小的物理存储单位,大小为512bytes. 2.扇区组成一个圆,成为柱面,柱面是分区的最小单位. 3.第一个扇区很重要,因为包含了MBR(446字节)和分区表(64字节) ...

  2. [Linux]常用命令之【du/fdisk/df/ls】#磁盘管理/文件管理#

    本文的经典应用场景: 1.查找占用磁盘存储空间最大的目录/文件 2.关于[磁盘分区]的相关概念和实操,详见另一博文:[Linux]磁盘分区 - 博客园/千千寰宇 1 fdisk fdisk := &q ...

  3. linux系统入门—文件管理

    目录 linux系统入门-文件管理 系统目录结构 目录管理 linux系统入门-文件管理 系统目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件.具体来说就是在一个目录中存放子目录和文件,而在 ...

  4. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  5. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

  6. MySQL 调优基础(四) Linux 磁盘IO

    1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...

  7. <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库

    期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...

  8. 调整Linux磁盘分区的大小的方法

      昨天数据入库时,一直报错,说磁盘满了,,df -h    一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...

  9. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

随机推荐

  1. Jedis连接redis的一些基本操作

    Jedis其实就是redis的一个连接方式 需要的jar包:

  2. Sequelize框架:

    1.安装mysql支持: npm install mysql --save-dev 2.安装sequelize npm install sequelize --save-dev 3.创建ORM对象 v ...

  3. 关于A类,B类,C类IP地址的网段和主机数的计算方法

    关于A类,B类,C类IP地址的网段和主机数的计算方法 IP地址是一个32位的二进制数,由四个八位字段组成.每个IP地址包括两部分:一部分为网络标识(网络号),一部分为主机标识(主机号). A类地址前8 ...

  4. Etyma01 ced ceed cess

    一. etyma ['ɛtə,mə] ced.ceed.cess -> go -> 行走,前进 二.for instance 1. precede=pre+ced+e pre- 在前 2. ...

  5. java Swing 练习

    import javax.swing.JFrame; public class Swingtest { static final int WIDTH = 500; static final int H ...

  6. ROS Learning-019 learning_tf-03(编程) 添加额外的坐标系 (Python版)

    ROS Indigo learning_tf-03 添加额外的坐标系 (Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.0 ...

  7. 杭电ACM刷题(1):1002,A + B Problem II 标签: acmc语言 2017-05-07 15:35 139人阅读 评

    最近忙于考试复习,没有多少可供自己安排的时间,所以我利用复习之余的空闲时间去刷刷杭电acm的题目,也当对自己编程能力的锻炼吧. Problem Description I have a very si ...

  8. Ubuntu jdk安装详细

    安装jdk步骤: 1.首先连接130的ip地址,进去Tools拷贝jdk压缩文件(Tools中已经有下载好的jdk版本,也可自己另行下载) 2.将拷贝好的压缩文件解压 tar -zxvf 压缩文件名 ...

  9. debug---null Pointer Exception--一步步查找(1)

    找到对应的226行代码: 通过debug打断点,然后选中需要查看的代码,右击,选择Evaluate Expresstion,选择确认,就可以弹出具体的值,发现真的为null. 通过simon帮忙分析, ...

  10. 如何在Eclipse中如何自动添加注释和自定义注释风格

    1. 如何自动添加注释 可通过如下三种方法自动添加注释: (1)输入“/**”并回车. (2)用快捷键 Alt+Shift+J(先选中某个方法.类名或变量名). (3)在右键菜单中选择“Source ...