Linux学习日记之磁盘与档案系统
主要定义
- 磁盘的物理组成
磁盘主要由圆形磁盘(多张)、机械手臂、磁头等组成。每张磁盘都有不同的磁道,半径相同的磁道组成了磁柱,沿着中心划线可将磁盘分成若干扇区,每个扇区的大小是512Bytes。 - 磁盘分割
磁盘分区的重点是记录每一个分割区的起始与结束磁柱,而这个记录放在MBR(主引导记录),MBR最多提供四个分区记录,多于4个的要使用扩展分区。 - 文件系统
磁盘分区完成后要进行格式化,而格式化就是给磁盘设置合适的文件系统(如:ext2、ext3),每一个分区只能指定一种文件系统,文件系统是规定存取数据的方式。磁盘最小的储存单们是扇区(sector),每个sector的大小是512个字节,但是文件系统中规定的最小存取单位并不是512个字节,文件系统中引入了逻辑区块(Block)的概念,每个Block的大小可以根据需要设成不同,在考虑Block大小时要考虑到以下两个方面:读取效率、磁盘空间,Block太大容易学浪费空间,另外一方面如果Block太小,在存取大的文件时效率会降低,所以应根据实际的需要合理的安排Block的大小。 - EXT2文件系统
EXT2文件系统将文件分为两部分进行储存, 一部分保存文件的属性,另一部分保存文件的内容,前者为inode后者为Block,我们在将磁盘格式化为ext2时必须指定inode与Block的大小才行,也就是说会建立inode table 与block table两个区域。Block是记录文件内容的区域,inode记录文件相关属性及文件内容放置在哪个block,简单说inode除了记录文件属性同时还必须要有指向的功能,即指向文件内容放置的区块(Block),好让操作系统可以正确取得文件内容。Inode记录的信息包括以下:文件的拥有者与群组、文件的存取模式(read、write、execute)、文件的类型、文件状态改变的时间(ctime)、最近一次的读取时间(atime)、最近修改的时间(mtime)、文件的大小、文件类型的旗标、该文件真正内容的指针(pointer)
系统存取文件的过程
目录
当在Linux下新建 一个目录时,ext2会分配一个inode与至少一块Block给该目录。其中,inode记录该目录相关属性,并指向分配到的那块Block;而Block则是记录这个目录下相关连的文件的关联性!
档案
当在linux下新建 一个文件时,ext2会至少分配一个inode与相对于该文件大小的Block数量给该文件。
注意:inode本身并不记录文件名,只记录文件的相关属性,至于文件名则是记录在目录所属的block区域!另外文件与目录的关连性是通过目录的block区域记录文件的相关连接实现的。所以当我们读取一个档案的内容时,我们的linux会先由根目录取得该档案上层目录所在的inode,再由该目录所记录的文件关连性(在该目录所属的block区域)取得该档案的inode,最后经由inode提供的block指向,取得最终的档案内容。以下为例子:

一块分区在ext2下会被格式化为inode table和block area 两个区域,以上图的方式来表达比较容易理解。读取文件的流程为:
- 操作系统根据根目录的相关资料可取得/etc这个目录所在的inode,并前往读取/etc这个目录的相关属性。
- 根据/etc的inode资料,可以取得/etc这个目录底下所有档案的关连数据是放在哪一个block当中,并前往该block读取档案的关连性内容;
- 根据上步可知目标文件的inode所在地,并前往该inode;
- 由上个步骤inode,可以读取目标文件的所有属性,并前往inode所指向的block区域,取得文件内容。
注:目录最大的功能就是提供文件的关连性,在关连性里面,最主要的是文件名与inode对应的数据。
更多内容参考 :http://www.cnblogs.com/ggjucheng/archive/2012/08/22/2651641.html
Linux学习日记之磁盘与档案系统的更多相关文章
- Linux 学习笔记 1 使用最小的系统,从分区安装系统开始
我们常用的linux系统在安装过程中大多都省略了对系统进行分区的操作,以至于后期,不了解什么是分区以及分区当中最基本的一些概念, 我们不说最细的知识,只求了解这个过程,那直接步入正题,开始第一节的学习 ...
- Linux学习日记-使用EF6 Code First(四)
一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是 请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...
- Linux学习之路—磁盘分区
1.各硬件设备在Linux中的文件名 在Linux系统中,每个设备都被当做一个文件来对待,同时在Linux系统中,几乎所有的硬件设备文件都在/dev这个目录中. 设备 设备在Linux内的文件名 ID ...
- Linux知识体系之磁盘与档案系统管理
硬盘的物理组成:由许许多多的圆形硬盘盘所组成.宜居硬盘盘能够容纳的数据量,而有所谓的单碟或者多碟. 首先,硬盘里一定会有所谓的磁头(Head)在进行该硬盘上面的读写动作,而磁头是固定在机械手臂上的,机 ...
- Linux 学习日记 1
这是我第一次系统地学习Linux,希望通过这个学习日记收获一些东西把-- @_@ Grub - 启动管理器 在启动时让用户选择要启动的系统.(但是windows比较霸道--重装windows后会将 ...
- Linux学习日记——字符处理
(菜鸡学习日记 各种使用命令只列举了常用几种,发现错误望指正) 一.管道 在Linux 中,管道就是一个固定大小的缓冲区,大小为一页4K.它是一种通信的机制,可以使用管道符“ | ” 来连接进程,连接 ...
- LINUX学习之二磁盘篇
1.Linux系统中,每个设备都被当成一个文件来对待.文件系统的最小单位是区块(Block) 设备 设备在Linux中的文件名 IDE硬盘 /dev/hd[a-d] SCSI/SATA/USB硬盘 / ...
- Linux学习记录--文件IO操作相关系统编程
文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...
- Linux学习日记-(一)
一.为什么学习Linux 大学时开始接触Linux,最开始学习的是RedHat(小红帽),感觉Linux好像很久不见的老朋友,用起来很舒服(虽然我们用的是DotNet).很喜欢它的命令模式,让我能接触 ...
随机推荐
- 修改pip更新源
修改pip更新源 pip安装时默认访问pypi的,但是pypi的速度对于国内来说有点慢,还在国内也有一些pip的镜像源,造福广大程序员 pipy国内镜像目前有: http://pypi.douban. ...
- CSS-垂直|水平居中问题的解决方法总结
题外话:前两天和专业老师探讨最近的一个项目,涉及到对一个浮动的盒子局中的问题,老师的解决方法打开了我的新思路.让我有了总结一下平时的居中问题的想法.不然可能忘掉了以后又要到处寻找解决办法了.另外也给我 ...
- vim as python IDE
参照Martin Brochhaus大神的视频,今天我也尝试了一下配置vim python IDE以后使用过程中只需要https://github.com/wyj1239630590/vim-as-a ...
- 聊一聊PV和并发
最近和几个朋友,聊到并发和服务器的压力问题.很多朋友,不知道该怎么去计算并发?部署多少台服务器才合适? 所以,今天就来聊一聊PV和并发,还有计算web服务器的数量 的等方法.这些都是自己的想法加上一些 ...
- 还原网站上压缩的js代码
还原网站上压缩的js代码 我们经常可以看到一些网站,把所需的javascript代码压缩成一行,就像下图这样 这种代码浏览器能读懂,但正常人是没法阅读的. 既然浏览器能读,浏览器当然也能还原这段代码. ...
- 常用Linux命令收集
关闭 php-fpm: ps -ef | grep php-fpm 或 ps aux | grep php-fpm kill -USR2 32253 (对应的进程PID) kill -9 进 ...
- sqlservcer行列互转
普通行列转换 行转列 假设有张学生成绩表(tb)如下:Name Subject Result张三 语文 74张三 数学 83张三 物理 93李四 语文 74李四 数学 84李四 物理 94*/---- ...
- JavaScript对象创建,继承
创建对象 在JS中创建对象有很多方式,第一种: var obj = new Object(); 第二种方式: var obj1 = {};//对象直面量 第三种方式:工厂模式 function Per ...
- react+redux官方实例TODO从最简单的入门(1)-- 前言
刚进公司的时候,一点react不会,有一个需求要改,重构页面!!!完全懵逼,一点不知道怎么办!然后就去官方文档,花了一周时间,就纯react实现了页面重构,总体来说,react还是比较简单的,由于当初 ...
- PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统
PXE+Kickstart+DHCP+TFTP实现无人值守安装操作系统 PXE + Kickstart PXE的工作流程及配置文件 Kickstart的配置文件 Linux安装大致可以分为2个阶段 第 ...