一.硬盘的组成与分区

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. koa的教程

    https://github.com/bmcmahen/koa-mongo-sessionhttp://www.fkwebs.com/2333.htmlhttps://segmentfault.com ...

  2. 关于c#里的集合的,结构体,枚举的定义,解释与应用

    那么先写一下 集合 . 集合和数组很相似,数组里的类型是必须同一类型,固定长度.然而集合里的可以是不同类型,不固定长度的.所以集合运用的灵活度要更高一些. 要使用集合,必须先引用命名空间:using ...

  3. 一道java笔试题目:Vector和ArrayList的区别

    Vector和ArrayList的区别 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构这些类均在java.util包中本文试图通过 ...

  4. Android调试之Logcat

    转贴  http://www.cnblogs.com/adison/p/4264284.html 在Android开发过程中,总免不了要调试,无论是Debug,还是Android自带的Logcat,抑 ...

  5. Entity Framework Tutorial Basics(1):Introduction

    以下系列文章为Entity Framework Turial Basics系列 http://www.entityframeworktutorial.net/EntityFramework5/enti ...

  6. CodeForces 384E Propagating tree (线段树+dfs)

    题意:题意很简单么,给定n个点,m个询问的无向树(1为根),每个点的权值,有两种操作, 第一种:1 x v,表示把 x 结点加上v,然后把 x 的的子结点加上 -v,再把 x 的子结点的子结点加上 - ...

  7. .NET 图片上传接收类

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. 验证视图状态MAC失败的解决办法

    在网上搜寻了很久看了很多关于MAC验证视图状态失败的解决方法.大部分人都说是在页里或web.config里加 EnableEventValidation="false" Enabl ...

  9. Sqlserver根据条件去除重复数据并且留下的是最大值数据

    项目中需要根据条件获取一些数据,但是如果条件相同的情况下,要去掉条件一样的并且某个值是最小的数据,留下的是最大值数据. 简单记录一下sql: --去重保留最大值那条 --Year和MCode一样的前提 ...

  10. C#提取TXT文档指定内容

    早上有分享一篇<VB.NET提取TXT文档指定内容> http://www.cnblogs.com/insus/p/3267347.html 那是原网友的需求用VB.NET写的.刚才有只懂 ...