文件的物理结构
计算机操作系统第八章

将每一组含有的盘块数和该组所有的盘块号,记入前一组的第一个盘块的S.free[0]~S.free[99]中。这样,各组的第一个盘块就链接成一个链表。
将第一组的盘块总数和所有的盘块号,记入空闲盘块号栈中,作为当前可供分配的空闲盘块号。
1
2
3
4
UNIX空闲盘块的组织
文件目录是一种数据结构,由若干目录项组成,每个目录项对应其中一个文件的FCB(包括文件名、文件体的物理地址、存取控制信息等),文件体另外存放。文件目录是用于检索文件的,一般的,目录项应包括以下内容:
整个系统只设一张文件目录表,集中存放文件存储器上所有文件的FCB,这是最简单的一种目录结构。目录表存于外存中的某块固定区域,系统初启或需要时调入内存,每个文件的FCB对应目录表中的一项,通过目录表就可以管理该系统中的所有文件,包括对文件的创建、检索和删除等。
两级文件目录
把登记文件的目录分成两级:主文件目录MFD,和用户文件目录UFD 。系统为每个用户各设置一个UFD,登记本用户所有文件的信息,每个UFD相当于一个一级目录;系统再设置一个MFD,用来登记所有用户的用户名及其UFD在外存上的物理地址、长度,物理结构等属性。
01
记录式文件,在逻辑上可看成是一组记录的集合。每个记录由彼此相关的若干个数据项组成。记录式文件中的逻辑记录可依次编号,其序号称为逻辑记录号(简称记录号)。
02
文件逻辑结构
按照文件的逻辑地址顺序存取。在记录式文件中,这种操作体现为按照记录的排列顺序来进行存取。
01
文件的随机存取 随机存取是指允许用户按照记录编号或者某一数据项的值随机存取存取任一记录。
二级索引存储结构
将索引表离散存储,即将索引表本身分为若干个逻辑块,存储在若干物理盘块中,将索引表所占的各盘块号记入另一个索引表——索引表的索引表。这种结构就称两级索引结构。
文件的物理存储

Operating System Concepts – 7th Edition
9
Operating System Concepts – 7th Edition
10
链接结构
又称串联结构,将一个逻辑上连续的文件信息存 放在外存的不连续(或连续)物理块中。
Operating System Concepts – 7th Edition
25
解决办法
采用间接索引(多重索引),也就是在索引表所指的物理块 中存放的不是文件信息,而是装有这些信息的物理块地址;
一级间接索引,可寻址的文件长度将变为 n*n 块; 如果文件长度还大于 n*n块的话,则二级间接索引。
由一组相邻的物理块组成,是对记录式文件取连 续区分配而构成的文件。
特点 :顺序存取速度快
所需的磁盘寻道次数和寻道时间最少
Operating System Concepts – 7th Edition
5
Operating System Concepts – 7th Edition
6
顺序结构
对于字符流的无结构文件来说,每一个物理块中存放长 度相等的文件信息(存储文件尾部信息的物理块除外)。
对于记录式文件来说,由于记录长度既可以固定的,也 可以是可变的,而且其长度不一定刚好等于其物理块的 长度,因此,给记录从逻辑地址到物理地址的变换带来了 额外的负担。为了简单起见,假设文件系统中每个记录 的长度是固定的,且其长度正好等于物理块的长度。
索引表:存放文件信息所在的逻辑块号和与之对 应的物理块号
Operating System Concepts – 7th Edition
PDF文件结构详解

PDF(Portable Document Format,便携式文档结构)是一种很有用的文件格式,其最大的特点是平台无关而且功能强大(支持文字/图象/表单//音乐/视频等).做PDF的解析,首先要熟悉PDF文件的物理结构和逻辑结构。
PDF文件物理结构可分为以下几块: 1.文件头文件头是PDF文件的第一行,格式如下:%PDF-1.4这是个固定格式,表示这个PDF文件遵循的PDF规范版本,目前PDF的生成工具,除了官方的acrobat,其他生成的以1.4版本的居多。
对于做PDF开发来说,一个最简单的原则就是生成PDF的时候尽量符合低版本规范,以保证大多数解析器能支持;解析PDF的时候尽量支持高版本的规范,以保证支持大多数工具生成的PDF文件。
从1.4版本以后,PDF文件的版本并不唯一的只是在这里表示了,可能后面会改写(catalog的Version词条),所以解析PDF的时候,如果这里的版本大于等于1.4,应该再比较一下catalog里面的version,取其中高一点的版本。
2.对象集合这是一个PDF文件最重要的部分,文件中用到的所有对象,包括文本/图象/音乐/视频/字体/超连接/加密信息/文档结构信息等等,都在这里定义。
格式如下:2 0 obj ... end obj一个对象的定义包含4个部分:前面的2是对象序号,其用来唯一标记一个对象;0是生成号,按照PDF规范,如果一个PDF文件被修改,那这个数字是累加的,它和对象序号一起标记是原始对象还是修改后的对象,但是实际开发中,很少有用这种方式修改PDF的,都是重新编排对象号;obj和endobj是对象的定义范围,可以抽象的理解为这就是一个左括号和右括号;省略号部分是PDF规定的任意合法对象(一共8种,见后面附A)。
可以通过R关键字来引用任何一个对象,比如要引用上面的对象,可以使用2 0 R,需要主意的是,R关键字不仅可以引用一个已经定义的对象,还可以引用一个并不存在的对象,而且效果就和引用了一个空对象一样。
文件的结构——精选推荐

⽂件的结构⽂件的物理结构是从实现观点出发,⼜称为⽂件的存储结构,是指⽂件在外存上的存储组织形式。
⽂件的逻辑结构是从⽤户观点出发看到的⽂件的组织形式。
⽂件的逻辑结构与存储介质特性⽆关,但⽂件的物理结构与存储介质的特性有很⼤关系。
按逻辑结构,⽂件有⽆结构⽂件和有结构⽂件两种类型:⽆结构⽂件和有结构⽂件。
⽆结构⽂件(流式⽂件)⽆结构⽂件是最简单的⽂件组织形式。
⽆结构⽂件将数据按顺序组织成记录并积累保存,以字节(Byte)为单位。
由于⽆结构⽂件没有结构,因⽽对记录的访问只能通过穷举搜索的⽅式,故这种⽂件形式对⼤多数应⽤不适⽤。
但字符流的⽆结构⽂件管理简单,⽤户可以⽅便地对其进⾏操作。
所以,那些对基本信息单位操作不多的⽂件较适于⾤⽤字符流的⽆结构⽅式,如源程序⽂件、⽬标代码⽂件等。
有结构⽂件(记录式⽂件)有结构⽂件按记录的组织形式可以分为:1) 顺序⽂件。
⽂件中的记录⼀个接⼀个地顺序排列,记录可以是定长的或变长的,可以顺序存储或以链表形式存储,在访问时需要顺序搜索⽂件。
顺序⽂件有以下两种结构:第⼀种是串结构,记录之间的顺序与关键字⽆关。
通常的办法是由时间决定,即按存⼊时间的先后排列,最先存⼊的记录作为第1个记录,其次存⼊的为第2个记录,依此类推。
第⼆种是顺序结构,指⽂件中的所有记录按关键字顺序排列。
在对记录进⾏批量操作时,即每次要读或写⼀⼤批记录,对顺序⽂件的效率是所有逻辑⽂件中最⾼的;此外,也只有顺序⽂件才能存储在磁带上,并能有效地⼯作,但顺序⽂件对查找、修改、增加或删除单个记录的操作⽐较困难。
2) 索引⽂件。
如下图所⽰。
对于定长记录⽂件,如果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第⼀个记录的地址:然⽽,对于可变长记录的⽂件,要查找第i个记录时,必须顺序地查找前i-1个记录,从⽽获得相应记录的长度L,然后才能按下式计算出第i个记录的⾸址:注意:假定每个记录前⽤⼀个字节指明该记录的长度。
5-6 文件的物理结构

索引表的组织
一级索引 两级索引 多级索引
一种多级索引结构
0
1
…
…
…
2
3 4 5 6 7 8 9 10
0 … 127
0 … 127
…
… …
0 … 127
0
0 … 127
0
0 … 127
… 127
… 127
… 0
… … …
11 12
… 0
将一个文件中逻辑上连续的信息存放 到存储介质的依次相邻的块中便形成 顺序结构,这类文件叫顺序文件,又 称连续文件
磁带文件、光盘文件是典型例子
顺序文件的优缺点
优点:顺序存取记录时速度较快 批处理文件,系统文件用得最多
采用磁带存放顺序文件时,总可以保持快 速存取的优点
缺点:建立文件前需要能预先确定文件长度, 以便分配存储空间;修改、插入和增加文件 记录有困难
计算机操作系统
5文件管理 – 5.2 文件的组织 5.2.4 文件的物理结构
文件的物理结构
文件的物理结构和组织是指文件在物 理存储空间中的存放方法和组织关系
又称为物理文件
文件的存储结构涉及块的划分、记录 的排列、索引的组织、信息的搜索等 许多问题
其优劣直接影响文件系统的性能
顺序文件
索引文件的访问方式
索引文件在文件存储器上分两个区: 索引区和数据区
访问索引文件需两步操作:第一步查 找索引表,第二步获得记录物理地址
需要两次访问辅助存储器,若文件索 引已预先调入主存储器,那么,就可 减少一次内外存信息交换
索引文件的特点
索引结构可以被认为是连接结构的一 种扩展,除了具备连接文件的优点外, 还克服了它只能作顺序存取的缺点, 具有直接读写任意一个记录的能力, 便于文件的增、删、改
文件的逻辑结构

2. 无结构文件
如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大 量的源程序、 可执行文件、 库函数等, 所采用的就是无结构的文件形式, 即流式文件。 其长度以字节为单位。对流式文件的访问,则是采用读写 指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一 个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结 构文件,也被视为流式文件;系统不对文件进行格式处理。
2. 顺序文件的优缺点
顺序文件的最佳应用场合,是在对诸记录进行批量存取时, 即每次要
读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高
的;此外,也只有顺序文件才能存储在磁带上, 并能有效地工作。
在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此
系统便要去逐个地查找诸记录。 这时, 顺序文件所表现出来的性能就可
能很差, 尤其是当文件较大时, 情况更为严重。 例如,有一个含有104 个记录的顺序文件,如果对它采用顺序查找法去查找一个指定的记录,则
平均需要查找5×103个记录; 如果是可变长记录的顺序文件,则为查找 一个记录所需付出的开销将更大,这就限制了顺序文件的长度。
1.3 索引文件
对于定长记录文件,如果要查找第i个记录, 可直接根据下式计算来获得 第i个记录相对于第一个记录首址的地址: Ai=i×L
操作系统
文件的逻辑结构
对于任何一个文件,都存在着以下两种形式的结构: (1)文件的逻辑结构(File Logical Structure)。 (2) 文件的物理结构, 又称为文件的存储结构, 是指文件在外存上的存 储组织形式。
1.1 文件逻辑结构的类型
1. 有结构文件 (1) 定长记录。 (2) 变长记录。 (1) 顺序文件。 (2) 索引文件。 (3) 索引顺序文件。
计算机操作系统典型例题解析之五

计算机操作系统例题及解析之五【例1】什么是文件?什么是文件系统?答:文件是在逻辑上具有完整意义的信息集合,它有一个名字作标识。
文件具有三个基本特征:文件的内容为一组相关信息、文件具有保存性、文件可按名存取。
文件系统是操作系统中负责管理和存取文件的程序模块,也称为信息管理系统。
它是由管理文件所需的数据结构(如文件控制块、存储分配表)和相应的管理软件以及访问文件的一组操作所组成。
【例2】什么是文件的物理结构和逻辑结构?答:文件的逻辑结构是从用户观点出发所看到的文件组织形式,是用户可以直接处理的数据及其结构。
文件的逻辑结构有两种形式:有结构的记录文件和无结构的流式文件。
文件的物理结构是指文件在外存上的存储组织形式。
文件的物理结构有三种形式:顺序结构、链接结构和索引结构。
【例3】假定盘块的大小为1KB,硬盘的大小为500MB,采用显示链接分配方式时,其FAT 需要占用多少存储空间?答:FAT的每个表项对应于磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,故FAT的表项数目由物理盘块数决定,而表项的长度则由磁盘系统的最大盘块号决定(即它必须能存放最大的盘块号)。
为了地址转换的方便,FAT表项的长度通常取半个字节的整数倍,所以必要时还必须由最大盘块号获得的FAT表项长度作一些调整。
由题意可知,该硬盘共有500K个盘块,故FAT中共有500K个表项;如果盘块从1开始编号,为了能保存最大的盘块号500K,该FAT表项最少需要19位,将它扩展为半个字节的整数倍后,可知每个FAT表项需20位,即2.5个字节。
因此,FAT需占用的存储空间的大小为:2.5×500K=1250KB【例4】存放在某个磁盘上的文件系统,采用混合索引分配方式,其FCB中共有13个地址项,第0~9个地址项为直接地址,第10个地址项为一次间接地址,第11个地址项为二次间接地址,第12个地址项为三次间接地址。
如果每个盘块的大小为4K字节,若盘块号需要用4个字节来描述,请问该系统中允许的文件的最大长度是多少?答:由题意可得,每个盘块最多存放4K/4=1K个盘块地址。
文件的物理结构及存储设备ppt

(3) 索引文件 索引文件是由系统为每个文件建立一张索引表,表中 标明文件的逻辑块号所对应物理块号,索引表自身的物理 地址由FCB给出。
索引表结构 :
FCB . . 文件 A 索引表指针 . . 文件 A 的索引表 记录号 0 1 2 物理块号 4 4 7 10 R2 7 R3 10 R1
04 14 24 34 44 54
05 15 25 35 45 55
06 16 26 36 46 56
07 17 27 37 47 57
08 18 28 38 48 58
09 19 29 39 49 59
8.2.2 文件的物理结构及存储设备
如果索引表很大,超过了一个物理块,则系 统势必要像处理其他文件一样,来处理索引表的 物理存放方式,这样不利于索引表的动态增删。 解决的办法是采用多重索引的方式,也就是说, 当索引表所指的物理块超过一块时,再增加一个 次级索引表。这样,在高一级索引表表项里所指 向的物理块中并不存放实际的文件信息,而是存 放的一个索引表,在这个次一级的索引表中所指 向的物理块才是存放的文件信息。如果需要,可 以增加到3级以上的多级索引。
(Used in BSD Unix)
(filename is not stored in the inode)
index block
. . .
8.2.2 文件的物理结构及存储设备
2. 文件的存储设备 文件的存储设备分为不可重复使用的 和可重复使用的两类。 不可重复使用的文件存储设备也称为 I/O式字符设备,如打印纸等。 可重复使用的文件存储设备有磁带、 磁盘、光盘等,也称块设备。
链接索引块
directory entry
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件的物理结构
文件系统往往根据存储设备类型、存取要求、记录使用频度和存储空间容量等因素提供若干种文件存储结构。
用户看到的是逻辑文件,处理的是逻辑记录,按照逻辑文件形式去存储,检索和加工有关的文件信息,也就是说数据的逻辑结构和组织是面向应用程序的。
然而,这种逻辑上的文件总得以不同方式保存到物理存储设备的存储介质上去,所以,文件的物理结构和组织是指逻辑文件在物理存储空间中存放方法和组织关系。
连续文件
将一个文件中逻辑上连续的信息存放到存储介质的依次相邻的块上便形成顺序结构,这类文件叫连续文件,又称顺序文件。
优点:
简单;
支持顺序存取和随机存取;
顺序存取速度快;
所需的磁盘寻道次数和寻道时间最少。
缺点:
建立文件前需要能预先确定文件长度,以便分配存储空间;
修改、插入和增生文件记录有困难;
对直接存储器作连续分配,会造成少量空闲块的浪费。
链接文件
一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块.
优点:
提高了磁盘空间利用率,不存在外部碎片问题.
有利于文件插入和删除.
有利于文件动态扩充.
缺点:
存取速度慢,不适于随机存取.
可靠性问题,如指针出错.
更多的寻道次数和寻道时间.
链接指针占用一定的空间.
索引文件
一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构----索引表,表中每一栏目指出文件信息所在的逻辑块号和与之对应的物理块号。
索引表的物理地址则由文件说明信息项给出。
索引项的组织:
稠密索引:每个逻辑纪录设置一个索引项。
稀疏索引:一组逻辑纪录设置一个索引项。
索引表的结构的组织
一级索引:磁盘块地址数组,其中第i个条目指向文件的第i块。
二级索引:索引的索引,叫二级索引。
二级索引表的表项列出一级索引表每一块最后一个索引项的键值及该索引表区的地址,也就是说,若干个记录的索引本身也是一种记录。
多级索引:索引的索引的索引,叫三级索引,此外还有更多层次的索引,即多级索引。
优点:
保持了链接结构的优点,又解决了其缺点:
即能顺序存取,又能随机存取.
满足了文件动态增长、插入删除的要求.
也能充分利用外存空间.
缺点:
较多的寻道次数和寻道时间.
索引表本身带来了系统开销如:内外存空间,存取时间.。