文件系统(III)

文件系统的实现:

要注意磁盘上与内存中内容布局

名词:

磁盘分区:把一个物理磁盘存储空间划分成几个相互独立的部分称为分区

文件卷:磁盘上的逻辑分区,由一个或多个物理块(簇)组成,文件卷可以为整个磁盘或部分分区甚至几个跨盘(几个磁盘)

文件卷的几个区域:

①引导区(每卷一个)

可以从该区引导操作系统

②卷信息

卷的块数,块的大小,空闲块数量和指针,空闲FCB数量和指针   都为元数据

③目录文件(管理文件)

④用户文件

文件卷的几个要点:

1.同一个文件卷使用同一份管理数据进行文件分配和磁盘空间管理

2.不同文件卷管理数据是相互独立的

3.文件卷包含文件系统信息文件(普通文件,目录文件)未分配空间

磁盘中块的大小 = 一个或者2的幂个扇区

格式化:在文件卷上建立文件系统即建立并初始化用于文件分配和磁盘分配和磁盘空闲空间管理的管理数据

磁盘布局:

内存中数据结构:

①系统打开文件表

i.整个系统一张

ii.放在内存中:用于保存已打开文件的FCB

②用户打开文件表

i.每个进程一张

i.进程PCB中记录了用户打开文件表的位置,为什么PCB中不记录FCB?因为FCB已经在系统打开文件表中记录了

文件目录检查

给出全路径和相对路径来访问一个文件

目录项分解法(加快目录检索)

方法:把FCB(FCB可以理解成目录项)分成两部分

一部分:符号目录项(文件名,文件号就是i节点作用)

另一部分:基本目录项(除文件名外所有字段含有文件号)例如unix i-node

目录项分解法如何提升检索速度?

分解前:

所需物理块数 = 128(目录项数) * 48(FCB理解成目录项大小)/512(物理块大小) = 13块

平均访盘次数最好就是第一块就访问到,最差到13块访问到,平均为(1 +13) /2 = 7次

分解后:

符号目录文件所需物理块数 = 8(符号目录项大小) * 128 (原来目录项数量变成符号目录项数量)/512(物理块大小) = 2块

基本目录文件所需物理块 = 同理42 * 128(FCB一分为二数目相等)/512 = 11块;

平均访盘次数现在只要找符号目录项即可(最好1 + 最差2)/2 = 1.5 + 通过文件号(就是i节点号作用)到基本目录项寻找文件起始物理块号1次 = 2.5次

Unix中确切的:

FCB =  目录项(文件名,i节点号(就像符号目录项中文件名和文件号)) + i节点

         今天就到这,谢谢!!XDDD!

时间: 2024-08-03 18:07:56

文件系统(III)的相关文章

用SD卡下载uboot、linux内核和文件系统

1. 移植mtd-utils: a) 下载utd-utils 下载地址为ftp://ftp.infradead.org/pub/mtd-utils/b) 交叉编译mtd-utilsi   修改Makefile   CROSS=arm-linux-ii  makeiii 查看下mtd-utils-1.0.0目录下是否生成了咱们所需要大工具    (flashcp,nandwrite......等).有工具生成了,OK,交叉编译成功.iv 将生成大工具拷贝到文件系统开发板的根文件系统,放在/bin

《深入理解Android 卷III》第五章 深入理解Android输入系统

<深入理解Android 卷III>即将公布.作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白.即Android Framework中和UI相关的部分.在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService.ViewRoot.Input系统.StatusBar.Wallpaper等重要"颜值绘制/处理"模块 第5章 深入理解Android输入系统(节选) 本章主要内容: ·  研究输入事件从设

《linux备份与恢复之一》3.19 dump(文件系统备份)

<Linux指令从初学到精通>第3章文件管理,本章介绍了许多常用命令,如cp.ln.chmod.chown.diff.tar.mv等,因为这些都与文件管理相关,在日常的使用中经常用到,因此本章是本书的重点章节.本节为大家介绍dump(文件系统备份). AD: 3.19 dump(文件系统备份) (1)频度等级:☆ (2)功能说明: dump 为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件. (3)语法: dump[-cnu][-0123456789][-b <

18.文件系统——扩展、缩减卷组和逻辑卷以及创建快照卷、移除卷

一.扩展卷组 扩展卷组相对简单,只需要添加一个物理卷即可,使用的命令是vgextend,其格式为: vgextend VG_NAME /PATH/TO/PV 下面来演示一下扩展卷组的过程: 1. 首先准备一块id号位8e的分区,具体过程见前文. [[email protected] ~]# fdisk/dev/sdc WARNING: DOS-compatible mode is deprecated. It's stronglyrecommended to          switch of

分布式基础学习(1)--分布式文件系统

分布式基础学习 所谓分布式,在这里,很狭义的指代以Google的三驾马车,GFS.Map/Reduce.BigTable为 框架核心的分布式存储和计算系统.通常如我一样初学的人,会以Google这几份经典的论文作为开端的.它们勾勒出了分布式存储和计算的一个基本蓝图,已 可窥见其几分风韵,但终究还是由于缺少一些实现的代码和示例,色彩有些斑驳,缺少了点感性.幸好我们还有Open Source,还有Hadoop.Hadoop是 一个基于Java实现的,开源的,分布式存储和计算的项目.作为这个领域最富盛

第9章 文件与文件系统的压缩与打包

压缩文件的用途与技术 例如,计算机都是以byte单位来计量的,1byte占8bit.如果存储数字1,那么1byte就会空出7bit.采用一定的计算方式,压缩这些空间可以大大降低文件存储. Linux系统常见的压缩命令 Linux下压缩文件的扩展名有*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2 扩展名用来说明压缩所采用的指令类型 *.Z compress程序压缩的文件 *.gz gzip程序压缩的文件 *.bz2 bzip2程序压缩的文件 *.tar tar打包

深入理解Android:卷III——互动出版网

这篇是计算机类的优质预售推荐>>>><深入理解Android:卷III> 经典畅销书系"深入理解Android"系列Framework卷完结篇,数十万Android开发工程师翘首以盼 编辑推荐 经典畅销书系"深入理解Android"系列Framework卷完结篇,数十万Android开发工程师翘首以盼 从源代码层面全面.详细剖析了Android框架UI系统的实现原理和工作机制,以及优秀代码的设计思想,填补市场空白 序言 推荐序 回

[Linux] Proc 文件系统

转载自:http://linux.chinaunix.net/doc/2004-10-05/16.shtml#324lfindex0 目录: /proc --- 一个虚拟文件系统 加载 proc 文件系统 察看 /proc 的文件 得到有用的系统/内核信息 有关运行中的进程的信息 通过 /proc 与内核交互 结论 参考文献 proc --- 一个虚拟文件系统 /proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc).这个伪文件系统让你可以

《深入理解Android 卷III》推荐序

<深入理解Android 卷III>即将发布,作者是张大伟.此书填补了深入理解Android Framework卷中的一个主要空白,即Android Framework中和UI相关的部分.在一个特别讲究颜值的时代,本书分析了Android 4.2中WindowManagerService.ViewRoot.Input系统.StatusBar.Wallpaper等重要"颜值绘制/处理"模块 推荐序 回顾 今天是一个值得高兴的日子.历经两年多的艰苦奋斗,张大伟同学的这本著作,同