第七章文件

作者: Whocare_2f87 | 来源:发表于2018-12-08 13:47 被阅读0次

一、文件和文件系统

1、基本概念

u数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。

u记录:一组相关数据项集合,描述对象某方面的属性;

u关键字:一个记录中的一个或几个数据项的集合,用于唯一的标识一个记录。

u文件:由创建者定义的、具有文件名的一组相关元素的集合。

2、文件类型

u按用途:系统、用户、库文件

u按数据形式:源文件、目标文件、可执行文件

u按存取控制属性:只执行、只读、读写

u按组织和处理方式:普通文件、目录文件、特殊(设备)文件

3、文件系统模型

二、文件的逻辑结构

1、

1)有结构文件(记录式)

①定长记录

②变长记录

如何组织记录:

l顺序文件。系统需按该类型记录“长度”,通常定长。

l索引文件。系统需为文件建立索引表。

l索引顺序文件。建索引表,记录每组记录的第一个记录位置。

2)无结构文件(字符流式)

字节为单位,利用读写指针依次访问。

系统对该类文件不需格式处理。

2、顺序文件

1)两种记录排列方式

串结构:按记录形成的时间顺序串行排序。记录顺序与关键字无关;

顺序结构:按关键字排序。

2)检索方法:

从头检索,顺序查找要找的记录,定长的计算相对快。

顺序结构,可用折半查找、插值查找、跳步查找等算法提高效率

3)顺序文件的优缺点:

不方便随机存取某条记录,但适用批量存取的场合。

适合磁带等特殊介质。

单记录的查找、修改等交互性差;增减不方便

3、索引文件

1)折半检索过程举例

1.给出用户关键字

2.检索索引表(设有n条记录,设一个索引表项占x字节),则索引表的x*n/2字节处记录着n/2号记录的地址

3.根据第2步的地址,读一条记录,若记录中关键字不匹配,再判断找第n/4还是第n/2+n/4条记录

2)索引文件的优缺点

适用于变长记录,可提高检索速度,实现直接存取

索引表增加了存储开销

4、索引顺序文件

1)将顺序文件的所有记录分组

2)还是建立索引表,但每个表项记录的是每组第1条记录的键值和地址。

3)组内记录仍按顺序方式检索和使用。

5、直接文件

1)给定键值(如学号)不需顺序检索直接得到记录的物理地址

2)用户对文件的操作由操作系统按文件结构分析执行

3)而操作归根到底要到外存中进行实质操作。

三、外存分配方式

1、连续分配

1)为每一个文件分配一组相邻的盘块。

2)逻辑文件中的记录顺序与存储器中文件占用盘块的顺序一致。

3)优点:顺序访问容易,读写速度快

2、链接分配

1)隐式链接

2)显式链接

【例题】一个1.2M的磁盘,盘块512B大小;若文件系统采用FAT格式,则FAT表大小如何?

答:表项个数  =  盘块个数 =  容量/ 盘块大小= 1.2 *220/ 29 = 1.2 *211 个

表项大小,决定于盘块数量编号需要的位数=12 位;

FAT表大小= 表项个数 * 表项大小= 1.2 *2^11 * 12 bit= 1.2*2^11 * 1.5B = 3.6KB

以半字节(0.5B=4b)为基本单位,表项需12位(1.5B)

3、索引分配

1)单级索引分配

2)多级索引

3)混合组织索引

四、存储空间管理

1、空闲表和空闲链表法

1)空闲表法:常用于连续分配管理方式

2)空闲链表法:将所有空闲盘区拉成一条空闲链

2、位示图法:

1)利用二进制的一位来表示一个盘块的使用情况

2)根据位示图进行盘块分配:

1)顺序扫描位示图。找到为0的二进制位。

2)将所找到的一个或一组二进制位,转换成与之对应的盘块号。进行分配操作。

盘块号计算公式为:盘块号=列总数*(i-1)+ j;(注意下标i,j从1开始)

3)修改位示图。

3、组成链接法

链表长度上限固定

组内的盘块借助一个系统栈可快速处理,且分配回收比较简单。

支持离散分配回收。

五、目录管理

1、目录管理的要求:

o实现“按名存取”;(最基本功能)

o提高对目录的检索速度;

o文件共享;

o允许文件重名。

2、目录结构

1)单级目录

2)两级目录

3)多级目录

3、两级目录特点

1.提高了检索目录的速度。

2.在不同的目录中可重名。

3.不同用户还可以使用相同/不同的文件名来访问系统中的同一个共享文件。

4、目录查询技术

1)线索检索法

2)Hash方法

六、文件共享与保护

1、文件共享方法

1)索引结点法

2)符号链法

相关文章

  • 《深入理解计算机系统》

    第七章 链接 源文件-->编译器-->目标文件:可重定位目标文件(a),可执行目标文件(b),共享目标文件(c) ...

  • 2020年4月29日 第七章 文件-1

    第七章 文件-1 7.1 文件的相关概念 7.2 文件的使用 7.3 文件的读/写操作 7.4 文件和目录操作 7...

  • 2020年4月30日 第七章 文件-2

    第七章 文件-2 7.4 文件和目录操作 文件和目录操作包括:查看文件属性、复制和删除文件、创建和删除目录等1.o...

  • Python学习笔记(七)

    第七章 文件和数据格式化 文件的使用 文件概述 文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念...

  • 第七章文件

    一、文件和文件系统 1、基本概念 u数据项:描述对象某种属性的字符集;是数据组织中可以命名的最小逻辑数据单位。 u...

  • Django学习第八章 Session

    第七章已经讲了Cookie,现在我们来使用下Session 修改../sign/views/py 文件 再次登录话...

  • 高性能MySQL第七章 读书笔记

    第七章 MySQL的高级特性 分区操作时,可以只针对某个区进行操作,而且在底层文件系统中的表现,分区是多个表文件,...

  • 第一行代码(七)

    第七章内容主讲内容提供器 一、内容提供器简介   虽然文件和 SharedPreferences 存储中提供了 M...

  • 第七章 文件管理

    一、概述 文件的逻辑结构 ( 顺序文件,索引文件,索引顺序文件,直接文件和哈希文件 ) 外存分配方式 文件目录管理...

  • 2022-02-17

    学习了第一行代码第七章介绍android中主要的3中数据持久化方式 文件存储,SharedPreferences,...

网友评论

    本文标题:第七章文件

    本文链接:https://www.haomeiwen.com/subject/djlncqtx.html