linux磁盘与文件管理
一.硬盘的组成与分区
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磁盘与文件管理的更多相关文章
- 攻城狮在路上(叁)Linux(十七)--- linux磁盘与文件管理概述
一.复习知识点: 1.扇区是最小的物理存储单位,大小为512bytes. 2.扇区组成一个圆,成为柱面,柱面是分区的最小单位. 3.第一个扇区很重要,因为包含了MBR(446字节)和分区表(64字节) ...
- [Linux]常用命令之【du/fdisk/df/ls】#磁盘管理/文件管理#
本文的经典应用场景: 1.查找占用磁盘存储空间最大的目录/文件 2.关于[磁盘分区]的相关概念和实操,详见另一博文:[Linux]磁盘分区 - 博客园/千千寰宇 1 fdisk fdisk := &q ...
- linux系统入门—文件管理
目录 linux系统入门-文件管理 系统目录结构 目录管理 linux系统入门-文件管理 系统目录结构 几乎所有的计算机操作系统都是使用目录结构组织文件.具体来说就是在一个目录中存放子目录和文件,而在 ...
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...
- linux磁盘分区模式
linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...
- MySQL 调优基础(四) Linux 磁盘IO
1. IO处理过程 磁盘IO经常会成为系统的一个瓶颈,特别是对于运行数据库的系统而言.数据从磁盘读取到内存,在到CPU缓存和寄存器,然后进行处理,最后写回磁盘,中间要经过很多的过程,下图是一个以wri ...
- <实训|第七天>横扫Linux磁盘分区、软件安装障碍附制作软件仓库
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- 调整Linux磁盘分区的大小的方法
昨天数据入库时,一直报错,说磁盘满了,,df -h 一看,发现/目录下只有50G空间,已使用49G:我的程序和dbss都安装在/目录下,ftp到的数据放在/data下的一个子目录下,分解完的 ...
- Linux 磁盘管理
Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...
随机推荐
- transient关键字的理解
谈到这个transient这个关键字,我们应该会立马想到序列化这个过程:什么是序列化?什么又是反序列化呢?序列化就是将对象转化内成二进制,而反序列化就是就二进制文件转换成对象的过程.一旦变量使用了tr ...
- 将一个string字符串变量分解为字符输出
我们定义一个string 变量str ,然后通过str.length()可以获得该字符串变量的长度: #include<iostream> #include<string> u ...
- 【摘自张宴的"实战:Nginx"】http auth baseic模块(打开页面需要密码验证)
location /admin { auth_basic "kingsoft"; auth_basic_user_file httppasswd; #密码文件的路径 默 ...
- STM32 C++编程 003 USART(串口)类
使用 C++ 语言给 STM32 编写一个 Usart 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的 ...
- ae中用粒子系统做的特效怎么循环
- google的protocol buffers 对象的序列化 for java
前言: protobuf确实比JSON快很多倍,看下面的图就知道了. 环境: win7 x64 eclipse 4.3 protoc-2.5.0 安装包下载: https://code.google. ...
- ZROI2018普转提day7t1
传送门 分析 一道有意思的小题... 我们发现如果$(1,1)$为白色,则将其变为白色需要偶数次操作,而如果为黑色则需要奇数次操作 我们知道要让A赢需要奇数次操作,所以我们只需要判断$(1,1)$的颜 ...
- 使用paramiko连接EC2主机
在亚马逊云上建的主机没有密码,只有一个PEM文件.所以paramiko需要通过该PEM文件登录云主机进行管理 有两种方式,第一种被我注解了 import paramiko ssh = paramiko ...
- RabbitMQ 相关概念和方法详解
名词解释 ConnectionFactory: 与 RabbitMQ 服务器连接的管理器. Connection: 与 RabbitMQ 服务器的连接. Channel: 与 Exchange 的连接 ...
- dojo1.7 加载器
原文地址:http://dojotoolkit.org/documentation/tutorials/1.7/modules/ dojo现在支持在异步模块异步(AMD)定义中加入模块写入功能了,这使 ...