计算机科学概论81 文件.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学概论81 文件

大学计算机基础——计算机科学概论 大学计算机基础 ——计算机科学概论 赵 欢 骆嘉伟 徐红云 李丽娟 编著 第三部分 数据组织 第8章 文件结构 大学计算机基础 ——计算机科学概论 8.1 文件系统 8.2 文件结构 8.3 小结 本章内容提要 * 大学计算机基础——计算机科学概论 * 大学计算机基础——计算机科学概论 8.1 文件系统 文件系统是一个负责存取和管理辅助存储器上文件信息的机构,通常用目录组织文件。 8.1.1 文件命名 文件是一种抽象的机制。为了区分每个不同文件以便用户访问,需要对被管理的对象进行命名。 文件的具体命名规则在各个系统中是不同的,不过所有的计算机系统都允许用1~8个字母组成的字符串作为合法文件名。通常文件名中有数字和一些特殊字符也是允许的。 很多文件系统支持用句点隔开为两部分的文件名,如prog.C。句点后的部分称为文件扩展名, 通常文件扩展名说明了文件的类型。 * 大学计算机基础——计算机科学概论 8.1 文件系统 8.1.1 文件命名 表8.1 常见文件扩展名 * 大学计算机基础——计算机科学概论 8.1 文件系统 8.1.2 文件访问 1. 顺序访问法 应用程序按照从头至尾的顺序读取文件信息,不允许跳过某些内容读取。读写操作将根据读写的数据量移动当前文件指针。 图8.1 顺序文件访问法 * 大学计算机基础——计算机科学概论 8.1 文件系统 8.1.2 文件访问 2. 随机存取访问方法 该方法是将文件概念地址划分为带编号的逻辑记录,读写操作将文件指针设置到用户指定的记录编号,因此,用户可以按照任何顺序读写记录。 图8.2 随机存取文件访问法 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.1 顺序文件 顺序文件是只能按照从头到尾的顺序以一定的数据单元对其进行存取操作的文件。在对文件的访问过程中,只能从头到尾按顺序进行, 或在访问过程中直接定位到第一个记录所在位置重新开始访问, 不允许随意进行访问, 也不允许逆向访问。 图8.3 顺序文件 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.1 顺序文件 例:处理银行的客户账户。 图8.4 银行账户文件修改过程图 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.2 索引文件 索引文件由数据文件和索引组成。 数据文件一般是无序的可以随机存取的文件。 索引中每条记录只包含两个域:记录的关键字和表示包含该关键字记录在文件中的位置。 访问数据文件中的记录需要按以下步骤进行。 (1)整个索引文件都载入主存中; (2)按照给定的关键字搜索在内存中的索引文件,快速查找到包含给定关键字的目标索引记录; (3)从索引记录中获取目标记录所在数据文件中的位置; (4)按照给定的地址,检索记录并返回给用户。 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.3 散列文件 散列文件:通过一个哈希函数直接将关键字的值映射成为对应记录所在数据文件中的位置,从而直接定位每一个记录。 散列系统:数据存储空间被分为若干多个小区域,每个区域称为槽,每个槽存放数个记录。根据散列函数将记录存放到对应的存储槽中。检索时,先将散列函数用于该记录的关键字,以确定相应的存储槽,然后读取槽中的数据,从读取的数据中检索需查找的记录。 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.3 散列文件 例:银行个人账户数据文件,每个记录中包含该客户的信息。设散列表的容量为101,即有101个槽,槽号取0~100。采用的散列函数是取账户关键字的低4位数值数据除以101,取余数。 * 大学计算机基础——计算机科学概论 8.2 文件结构 8.2.3 散列文件 3.冲突:把不同的关键码映射到同一个散列地址上. 例:有一组表项,其关键码分别是12361,07251,03309,30976, 采用的散列函数是 hash(x) = x%73 + 13420, 则有:hash(12361) = hash(07250) = hash(03309) = hash(30976) = 13444。 4.冲突的解决方法。 (1)扩大槽的容量,每个槽可以容纳多个记录。 (2)开放寻址解决法,当冲突发生时,系统将查找开放的或者是空闲的槽来存放新的数据,简单的办法是将新记录存放到冲突地址的下一个地址中。 * 大学计算机基础——计算机科学概论 8.3 小结 本章我们重点讨论在大容量的存储设备上如何有效地存储数据信息,注意,信息的访问方式决定其存储方式。 本章主要内容包括: (1)文件是一种抽象的机制,是具有某个特定符号名的相关数

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档