- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章1-文件系统
第7章 文件系统 1.文件系统的引用 文件系统必须完成的操作: (1)为了合理的存放文件,必须对磁盘等辅助存储器空间(或称文件空间)进行统一管理。 (2)为了实现按名存取,需要有一个用户可见的文件逻辑结构,用户按照文件逻辑结构所给定的方式进行信息的存取和加工。 (3)为了便于存放和加工信息,文件在存储设备上应按一定的顺序存放。 (4)完成对存放在存储设备上的文件信息的查找。 (5)完成文件的共享和提供保护功能。 2.文件与文件系统的概念 (1)文件:文件是一段程序或数据的集合。 计算机系统中文件的两种确切含义: ①文件是具有标识符的相关字符流的集合 无结构文件或流式文件。 ②文件是具有标识符的相关记录的集合 记录式文件 (2)文件系统:操作系统中与管理文件有关的软件和数据称为文件系统。 3.文件的分类 (1)按性质和用途分类 ①系统文件:即由系统软件构成的文件,它只允许用户调用,而不能对其进行读写或修改。 ② 库文件:即由标准子程序和常用的应用程序所组成的文件。它只允许用户读取、执行,而不允许用户修改。 ③ 用户文件:即用户委托系统保存的文件。如:源程序、目标程序等。 (2)按组织形式分类 ①普通文件:一般的系统文件和用户文件。 ②目录文件:由文件的目录信息组成的文件。 ③特殊文件:将设备看 作是特殊文件。 7.2 文件的逻辑结构与存取方法 7.2.1 文件的逻辑结构 1.无结构的文件:流式文件 无结构的流式文件是相关的有序字符的集合,文件的长度即为所含的字符数。如:源程序文件和目标代码程序等。 2.有结构的文件:记录式文件 有结构的文件即由若干个相关的记录构成的文件。如果文件中所有记录的长度都相等,则称为等长记录文件;如果文件中各记录的长度不相等,则称为变长记录文件。 文件的长度即为各记录的长度之和。 记录式文件的几种结构: (1)连续结构 把记录按生成的先后顺序连续排列的逻辑结构。 特点:实用用性强,可用于所有的文件。 (2)多重结构 (3)转置结构 转置结构把含有相同键的记录指针全部指向该键,即把所有与同一键对应的记录的指针连续地置于目录中该键的位置下。 (4)顺序结构 把文件中的键按规定的顺序排列起来。 7.2.2 存取方法 1.顺序存取法:按照文件的逻辑地址顺序地存取。 2.随机存取法:允许用户根据记录的编号来存取文件的任一记录,或者是根据存取命令把读写指针移到欲读写处来读写。 3.按键存取法:根据给定的键或记录名进行存取。 按键存取的几种算法: (1)线性搜索法:从第一个键或记录开始,依次和所要搜索的键或记录相比较,直到找到所需要的记录为止。 (2)二分搜索法 (3)散列法 ① 基本思想:定义个一个散列函数h(k),使得对于给定的键k,散列函数h(k)将其转换为k所对应的逻辑地址。 ② 散列冲突 ③ 解决散列冲突 线性散列法:hi(k)=(h1(k)+di)(mod t) di=a*i 随机数法:{r1,r2,…,rn},令di=ri。 平方散列函数法:hi(k)=(h1(k)+c*(i*i))(mod t) 例7.5 设散列函数h(n)=(676*l1+26*l2+l3)(mod t),t=11,li为键n的第i个英文字母序号。键表长11,键名为英文字母。先按线性散列法,再按平方散列法计算将任意7个键放入链表中所用的计算次数。这里令a=2,c=1。 解:设7个关键字分别为:zhl,ouy,lwj,yks,lxz,suy,hls 则有:h(n)=(767*l1+26*l2+l3) mod 11 (1)线性散列法:hi(k)=(h1(k)+2i) mod 11 h(zhl)=(676*26+26*8+12) mod 11=9 h(ouy)=(676*15+26*21+25) mod 11 =8 h(lwj)=(676*12+26*23+10) mod 11=8 h2=(8+2*2) mod 11=1 h(yks)=(676*25+26*11+19) mod 11=1 h2=(1+2*2) mod 11=5 h(lxz)=(676*12+26*24+26) mod 11=6 h(suy)=(676*19+26*21+25) mod 11=6 h2=(6+2*2) mod 11=10 h(hls)=(676*8+26*12+19) mod 11=8
文档评论(0)