文件的物理结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四、文件映照
FTP只给出文件所占用的第一个外存设的编号,后 续的外存块查文件映照表可知。如图1.5所示。
文件目录 0 1 文件A 3 2 3 4 5 6 7 8 图1.5 文件映照表 ∧ 4 6 8
五、随机文件
随机文件组织是实现非连续分配的另一种方案。有 三种形式的随机文件结构:直接地址结构、索引结构和计 算机寻址结构。 1、直接地址结构 当知道某个记录的地址时,可直接使用这个地址进 行存取。这意味着,用户必须知道每个记录的具体地址, 这是很不方便的。因此,直接地址结构并不常用。当然在 使用这种结构时,存取效率是最高的,因为不需要进行任 何“查找”。在某些数据库系统中的“数据库码”,就是 采用这种结构。 2、索引结构——索引文件
文件目录
磁盘块号 100 文件 A 3 100 101 102
ro
r1
r3
图1.1 连续文件结构
2、连续文件的优点 连续文件结构的基本优点是:在连续文件存取时速 度较快;如果文件中第n个记录刚被存取过,而在下一个 要存取的是第n+1个记录,则这个存取操作将会很快完成。 当连续文件在顺序存取设备(或称单一存储设备,如磁带) 上时,这一优点是很明显的。 所以,存于磁带上的记录一般均 采用连续结构。连续文件结构对 于变化少、可以作为一个整体处 理的大量数据段较为方便,而对 于变化频繁的少量记录不宜采用。 对于连续文件结构来说,其 文件长度一经固定便不易改变, 因而不利于文件的增生和扩充。
邵东夏
http://www.88guogan.com/
• 教学目标:了解文件的几种物理结构
及特点
• 重点、难点:三种文件结构之间的区
别百度文库
一、概述 二、连续文件 三、串联文件 四、文件映照 五、随机文件 六、文件物理结构比较
一、概述
1、文件结构的定义 文件物理结构涉及文件在存储器上的安排。文件结 构 表示了一个文件在辅存上的安置、链接和编目的方法。 它 和文件的存取方法以及辅存设备的特性等都有密切的关 系。 2、文件结构的分类 大多数字符设备的信息可作为连续文件看待。这种 文件的信息是按线性为序存取的,这种方法在大多数磁带 系统中使用,是比较简单的文件结构。磁盘存储设备上具 有较为复杂的文件组织。 磁盘的结构允许文件管理系统按三种不同的方法组 织文件:连续文件、串联文件、随机文件。
三、串联文件
1、串联文件结构 串联文件结构就是指文件内容放置地不连续的外存 区域(块),文件所占用的外存块通过指针串接起来。每 个物理块的最末一个字根或第一个字)作为链接字,它指 出后继块的物理地址。文件的最后一块的链接字为结束标 记“∧”,它表示文件至本块结。如图1.2所示,一个文 件A有三个记录,分别分配到100、150、57号物理块中, 它的第一个物理块号由文件目录的该文件目录项指出。
为了能随机地访问文件的任何一部分,构造了索引 文件。索引文件在存储区中占两个区:索引区和数据区。 索引区存放索引表,数据区存放数据文件本身。 访问索引文件需要两步操作。第一步是查文件索引, 由逻辑块号查得物理块号,再由此物理块号而获得所要求 的信息。这样做需要两次访问文件存储器。如果文件索引 表已经预先调入主存,则只要一次访问就行了。 一般索引表的索引页的排序量遵循记录编号或关键 字值,做升序或降序排列,故查找逻辑记录时可采用二分 法等高效的方法。 3、计算寻址结构——散列文件 在计算寻址结构方法中,记录的关键字经过某种计 算处理,转换成相应的地址。这种计算方式就是通常所说 的的散列(hash,也称为“杂凑”)。
散列算法的基本思想是根据关键字来计算相应记录的 地址,所以必须解决如下两个问题: 1)寻找一个hash函数h(k)实现关键字到地址的转 换。 2)确定解决冲突的办法。 常用的散列算法有: 1)截断法:截取关键字的某一指定部分作为地址。 这里所以截段是为了缩小关键字的数值范围,且截取时应 选取随机性较好的段。 2)特征位抽取法:抽取关键字数码串的某些位并将 其联结起来作为地址。这种方法既可起到缩小关键字数值 的作用,又能更灵活有效地选择那些随机性较好的数位。 3)除余法:把标识符除以某一数而取其余数作为地 址。使用这种方法时,除数的选择非常重要。
逻辑记录也很简单,如图1.4所示。系统获得所需要的块 数并调整第一块和最后一块的指针。
ri
ri+1
150
New
rj
当前链接 新的链接
图1.3 插入一个新的逻辑记录(情况1)
last block
first block
ri
rj+1
150
new j
r
new j
r
new j
r
当前链接
新的链接
图1.4 插入一个新的逻辑记录(情况2)
4)折叠法:把关键字数码串分段,然后叠加起来作 为地址。有时,还可以把折叠的结果再折叠。 5)平方取中法:把关键字平方后取其结果的作为地 址。 记录的关键字的值作为hash函数的自变量,计算 hash函数的值作为该记录所占外存块的块号(地址),若 不同记录的hash函数值相同,再进行调整,使其中一个记 录的值做适当变化,被改变的值集中到一张表中。
3)随机文件不仅可以实现不连续存放,而且可以实 现随机访问,但系统开销太大。 相比之下,随机文件是一种比较好的结构,便于直 接存取,但问题是,对于索引文件应考虑如何有效地存储 和访问索引表,对于散列文件应寻找一个较好的散列算法 的确定解决冲突的办法。
文件目录
磁盘块号 100
文件 A 100
磁盘块号 150
磁盘块号 57
r0
150
r1
57
r3

1.2
串联文件结构
串联文件采用的是一种非连续的存储结构,文件的逻 辑 记录可以放到不连续的物理块中,能较好地利用辅存空 间。对于串联文件而言,为了找到一个记录,文件必须从 文件头开始一块一块查找,直到所需的记录被找到。 2、串联文件的处理 在处理串联文件应考虑以下三种情况。 1)、一个逻辑记录对应一个物理块 要求存取一个逻辑记录时只将一个物理块存入主存 中。插入一个新的逻辑记录是很容易的,系统只需调节指 针就行了,如图1.3所示。 2)、为了存取一个逻辑记录,必须将该逻辑记录对 应的物理块全部读到主存。存取一个逻辑记录所需的时间 取决于物理块的数目,因为必须将每一个物理块读到主存, 然后检查其指针,以找到下一个记录。附加一个新的
六、文件物理结构比较
文件的物理结构和存取方法与系统的用途和物理设 备有关。比如,磁带和慢速字符设备上的文件对应组织为 连续文件,故采用顺序存取方法。很显然,在磁带上组织 索引文件或串联文件不太合适,因为来回倒带定位花费的 时间太大。对于磁盘(鼓)那样的设备,可以有多种结构 和存取方法。 可以总结出它们的区别如下: 1)连续文件的优点是不需要额外的空间开销,但容 易形成外存碎片,文件内容不易扩充。 2)串联文件可以实现不连续存放,但不能实现随机 访问。
3)、一个物理块有几个逻辑记录 当存取一个记录时,将整个物理块读进主存。文件 管理系统必须从这个物理块中提取所需的那个逻辑记录。 附加一个新的逻辑记录是困难的,因为如果这个物理块已 满,一个或几个当前居留者要移到新的一块中去。通常, 一个逻辑记录是不能被分割在两个物理块中的。 3、一种具有双向查找能力的串联文件结构 这种结构实现方式是在一个逻辑记录的内容后增加 一个前驱指针,将前驱指针和后继指针做异或保存起来。 对记录ri所在的物理块而言,其链接指针值为: Link(ri)=pbn(ri-1) ⊕pbn(ri+1) 其中,pbn为物理块号。注意,其首末物理块中的指针值 为其相邻物理块的块号与0的“异或”值。
二、连续文件
1、连续文件结构特点 连续文件结构是由一组分配在磁盘连续区域的物理 块组成的,如图1.1所示。文件中的每一个记录有一个序 号,序号为i+1的记录,其物理位置一定紧跟在i号记录之 后。图中表示一个连续文件A,它由三个记录组成,这些 记录被分配到物理块号为100、101、102的相邻物理块中, 这里假定文件的逻辑记录和物理块的大小是相等的(当然 也可以是一个物理块包括几个逻辑记录或一个逻辑记录占 有一个物理块)。对于这种文件结构,存取块中的一个记 录是非常简单的。若给定记录号r,记录长度为l,物理结 构大小为size,则相对块号计算为: b=l×r/size
相关文档
最新文档