资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
邵东夏 http:/www.88guogan.com/教学目标:了解文件的几种物理结构 及特点 重点、难点:三种文件结构之间的区 别一、概述 二、连续文件 三、串联文件 四、文件映照 五、随机文件 六、文件物理结构比较1、文件结构的定义文件物理结构涉及文件在存储器上的安排。文件结 构 表示了一个文件在辅存上的安置、链接和编目的方法 。它和文件的存取方法以及辅存设备的特性等都有密切的关 系。 2、文件结构的分类大多数字符设备的信息可作为连续文件看待。这种 文件的信息是按线性为序存取的,这种方法在大多数磁带 系统中使用,是比较简单的文件结构。磁盘存储设备上具 有较为复杂的文件组织。 磁盘的结构允许文件管理系统按三种不同的方法组 织文件:连续文件、串联文件、随机文件。一、概述二、连续文件1、连续文件结构特点 连续文件结构是由一组分配在磁盘连续区域的物理 块组成的,如图1.1所示。文件中的每一个记录有一个序 号,序号为i+1的记录,其物理位置一定紧跟在i号记录之 后。图中表示一个连续文件A,它由三个记录组成,这些 记录被分配到物理块号为100、101、102的相邻物理块中 ,这里假定文件的逻辑记录和物理块的大小是相等的(当 然也可以是一个物理块包括几个逻辑记录或一个逻辑记录 占有一个物理块)。对于这种文件结构,存取块中的一个 记录是非常简单的。若给定记录号r,记录长度为l,物理 结构大小为size,则相对块号计算为:b=lr/size文件目录100101102磁盘块号文件 A3100图1.1 连续文件结构ror1r32、连续文件的优点连续文件结构的基本优点是:在连续文件存取时速 度较快;如果文件中第n个记录刚被存取过,而在下一个 要存取的是第n+1个记录,则这个存取操作将会很快完成 。当连续文件在顺序存取设备(或称单一存储设备,如磁 带)上时,这一优点是很明显的。所以,存于磁带上的记录一般均采用连续结构。连续文件结构对于变化少、可以作为一个整体处理的大量数据段较为方便,而对于变化频繁的少量记录不宜采用。对于连续文件结构来说,其文件长度一经固定便不易改变,因而不利于文件的增生和扩充。三、串联文件1、串联文件结构串联文件结构就是指文件内容放置地不连续的外存 区域(块),文件所占用的外存块通过指针串接起来。每 个物理块的最末一个字根或第一个字)作为链接字,它指 出后继块的物理地址。文件的最后一块的链接字为结束标 记“”,它表示文件至本块结。如图1.2所示,一个文件A 有三个记录,分别分配到100、150、57号物理块中,它 的第一个物理块号由文件目录的该文件目录项指出。文件目录1001505715057文件 A100r0r1r3磁盘块号磁盘块号磁盘块号1.2 串联文件结构串联文件采用的是一种非连续的存储结构,文件的逻 辑 记录可以放到不连续的物理块中,能较好地利用辅存空 间。对于串联文件而言,为了找到一个记录,文件必须从 文件头开始一块一块查找,直到所需的记录被找到。 2、串联文件的处理在处理串联文件应考虑以下三种情况。1)、一个逻辑记录对应一个物理块要求存取一个逻辑记录时只将一个物理块存入主存 中。插入一个新的逻辑记录是很容易的,系统只需调节指 针就行了,如图1.3所示。2)、为了存取一个逻辑记录,必须将该逻辑记录对 应的物理块全部读到主存。存取一个逻辑记录所需的时间 取决于物理块的数目,因为必须将每一个物理块读到主存 ,然后检查其指针,以找到下一个记录。附加一个新的逻辑记录也很简单,如图1.4所示。系统获得所需要的块 数并调整第一块和最后一块的指针。图1.3 插入一个新的逻辑记录(情况1)当前链接新的链接riNew rj150ri+1当前链接新的链接图1.4 插入一个新的逻辑记录(情况2)last blockfirst blockrirj+1new rjnew rjnew rj1503)、一个物理块有几个逻辑记录当存取一个记录时,将整个物理块读进主存。文件 管理系统必须从这个物理块中提取所需的那个逻辑记录。 附加一个新的逻辑记录是困难的,因为如果这个物理块已 满,一个或几个当前居留者要移到新的一块中去。通常, 一个逻辑记录是不能被分割在两个物理块中的。 3、一种具有双向查找能力的串联文件结构这种结构实现方式是在一个逻辑记录的内容后增加 一个前驱指针,将前驱指针和后继指针做异或保存起来。 对记录ri所在的物理块而言,其链接指针值为:Link(ri)=pbn(ri-1) pbn(ri+1)其中,pbn为物理块号。注意,其首末物理块中的指针值 为其相邻物理块的块号与0的“异或”值。四、文件映照FTP只给出文件所占用的第一个外存设的编号,后 续的外存块查文件映照表可知。如图1.5所示。文件目录文件A 3684012 345678图1.5 文件映照表五、随机文件随机文件组织是实现非连续分配的另一种方案。有 三种形式的随机文件结构:直接地址结构、索引结构和计 算机寻址结构。1、直接地址结构当知道某个记录的地址时,可直接使用这个地址进 行存取。这意味着,用户必须知道每个记录的具体地址, 这是很不方便的。因此,直接地址结构并不常用。当然在 使用这种结构时,存取效率是最高的,因为不需要进行任 何“查找”。在某些数据库系统中的“数据库码”,就是采用 这种结构。2、索引结构索引文件为了能随机地访问文件的任何一部分,构造了索引 文件。索引文件在存储区中占两个区:索引区和数据区。 索引区存放索引表,数据区存放数据文件本身。访问索引文件需要两步操作。第一步是查文件索引 ,由逻辑块号查得物理块号,再由此物理块号而获得所要 求的信息。这样做需要两次访问文件存储器。如果文件索 引表已经预先调入主存,则只要一次访问就行了。一般索引表的索引页的排序量遵循记录编号或关键 字值,做升序或降序排列,故查找逻辑记录时可采用二分 法等高效的方法。 3、计算寻址结构散列文件在计算寻址结构方法中,记录的关键字经过某种计 算处理,转换成相应的地址。这种计算方式就是通常所说 的的散列(hash,也称为“杂凑”)。散列算法的基本思想是根据关键字来计算相应记录的 地址,所以必须解决如下两个问题:1)寻找一个hash函数h(k)实现关键字到地址的转 换。2)确定解决冲突的办法。常用的散列算法有:1)截断法:截取关键字的某一指定部分作为地址。 这里所以截段是为了缩小关键字的数值范围,且截取时应 选取随机性较好的段。2)特征位抽取法:抽取关键字数码串的某些位并将 其联结起来作为地址。这种方法既可起到缩小关键字数值 的作用,又能更灵活有效地选择那些随机性较好的数位。3)除余法:把标识符除以某一数而取其余数作为地 址。使用这种方法时,除数的选择非常重要。4)折叠法:把关键字数码串分段,然后叠加起来作 为地址。有时,还可以把折叠的结果再折叠。5)平方取中法:把关键字平方后取其结果的作为地 址。记录的关键字的值作为hash函数的自变量,计算 hash函数的值作为该记录所占外存块的块号(地址),若 不同记录的hash函数值相同,再进行调整,使其中一个记 录的值做适当变化,被改变的值集中到一张表中。六、文件物理结构比较文件的物理结构和存取方法与系统的用途和物理设 备有关。比如,磁带和慢速字符设备上的文件对应组织为 连续文件,故采用顺序存取方法。很显然,在磁带上组织 索引文件或串联文件不太合适,因为来回倒带定位花费的 时间太大。对于磁盘(鼓)那样的设备,可以有多种结构 和存取方法。可以总结出它们的区别如下:1)连续文件的优点是不需要额外的空间开销,但容 易形成外存碎片,文件内容不易扩充。2)串联文件可以实现不连续存放,但不能实现随机 访问。 3)随机文件不仅可以实现不连续存放,而且可以实 现随机访问,但系统开销太大。相比之下,随机文件是一种比较好的结构,便于直 接存取,但问题是,对于索引文件应考虑如何有效地存储 和访问索引表,对于散列文件应寻找一个较好的散列算法 的确定解决冲突的办法。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号