计算机操作系统笔记第七章文件管理

适用计算机操作系统(OS)(第四版)
自己的学习笔记,PPT及图片来源网络及自己老师,侵删。
三硬一软一接口——1软

第七章文件管理

7.1 文件和文件系统

7.1.1 数据项、记录和文件

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

2 、记录
记录:一组相关数据项集合,描述对象某方面的属性。
关键字:唯一能标识一个记录的数据项。

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

  • 无结构:字符流的形式
  • 有结构:相关记录组成
  • 属性 :
    • 文件类型
    • 文件长度。
    • 文件的物理位置
    • 文件的建立时间

7.1.2 文件名和类型

1 、文件名
用于标识文件。

2 、扩展名
文件名后添加若干个字符,用于指示文件类型 。

3 、文件类型
按用途:系统、用户、库文件
按数据形式:源文件、目标文件、可执行文件
按存取控制属性:只执行、只读、读写
按组织和处理方式:普通文件、目录文件、特殊(设备)文件

7.1.3 文件系统的层次结构

在这里插入图片描述
1 、对象及其属性

对象 :
1 )文件
2 )目录
3 ) 磁盘(磁带)存储空间

2、对对象操纵和管理的软件集合

文件管理系统的核心,文件系统的功能大多在这一层实现,其中包括有 :
1 )对文件存储空间的管理
2 )对文件目录的管理
3 )用于将文件的逻辑地址转换为物理地址的机制
4 )对文件读和写的管理
5 )对文件的共享与保护功能
操作系统采取了层次组织结构,即在每一层中都包含了一定的功能,处于某个层次的软件,只能调用同层或更低层次中的功能模块。

文件系统有关的软件分为四个层次:
1 )I/O控制层
2 )基本文件系统层
3 )基本I/O管理程序
4 )逻辑文件系统

3 、文件系统的接口
1 )命令接口 ,是指作为用户与文件系统直接交互的接口,用户可以通过键盘终端键入命令取得文件系统的服务。
2 )程序接口 ,是指作为用户程序与文件系统的接口,用户程序可通过系统调用取得文件系统的服务。

7.1.4 文件操作

1 、最基本的额文件操作

1 )创建文件
2 )删除文件
3 )读文件
4 )写文件
5 )设置文件的读/写位置

2 、文件的打开和关闭操作

“打开”的含义:系统将文件的属性(目录信息)从外存复制到内存打开文件表中,并返回该表目的编号给用户,建立了用户与文件间的联系。

“关闭”的含义:当用户不再需要对该文件的操作时, OS将会把该文件从打开文件表中的表目上删除掉,从而切断用户与文件间的联系。

7.2 文件的逻辑结构

用户所看到的文件称为逻辑文件,分为有结构文件与无结构文件。

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

1 )定长记录。
2 )变长记录。

记录式文件的逻辑组织又可以进一步分为:

  • 顺序文件:通常适用于定长记录。
  • 索引文件:通常适用于可变记录。
  • 索引顺序文件:上述两种文件构成方式的结合。

2 、无结构文件(流式文件)

以字节为单位,特殊的记录式文件(一个记录仅有一个字节)

7.2.2 顺序文件

逻辑记录的排序 :

第一种是串结构, 各记录之间的顺序与关键字无关。

第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。

顺序文件的优缺点 :

  • 优点:顺序文件的最佳应用场合,是在对诸记录进行批量存取时, 即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件中最高的;此外,也只有顺序文件才能存储在磁带上, 并能有效地工作。

  • 缺点:在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。 这时, 顺序文件所表现出来的性能就可能很差, 尤其是当文件较大时, 情况更为严重。此外,在顺序文件中,如果想增加或删除一个记录, 也比较困难。

7.2.3 记录寻址

为了访问顺序文件中的一条记录,首先应该找到该记录的地址,查找地址的方法有隐式寻址和显式寻址两种。

1 、隐式寻址方式

1 )对于定长记录的顺序文件,如果已知当前记录的逻辑地址,便很容易确定下一个记录的逻辑地址。

读文件:设置读指针Rptr,令它指向下一个记录的的首地址,每当读完一个记录,Rptr = Rptr + L 操作,使之指向下一个记录的首地址,L为记录长度。

写文件 :类似设置Wptr,同读指针相同。
在这里插入图片描述
2 )变长记录的顺序文件,同样设置读或写指针,只是每次都需要从正在读的记录中读出记录的长度,每次读或写完一个记录后,须将指针加上Li,Li是刚读或写完的记录的长度。

这种访问方式可用于所有文件类型,但是访问一个指定的记录i,必须扫描或读前面第 0 ~ i-1 个记录,访问的速度较慢。

2 、显式寻址方式

1、通过文件中记录的位置,可用从0到N-1 的整数来标识,即用一个整数来唯一地标识一个记录

1 )定长文件 ,如果要查找第i个记录,则第i个记录相对于第一个记录首址地地址 :Ai = i * L

2 )变长文件 ,要查找其中的第i个地址时必须首先计算出该记录的首地址,为此必须顺序地查找每个记录,从中获得相应记录地长度Li,然后才能计算出要找的地址

明显,对于变长文件不能利用显式寻址方式,该查找方式对于变长文件十分低效,检索时间也不能令人接受。

2 、利用关键字,此时用户必须指定一个字段作为关键字,通过指定的关键字来查找该记录。当用户给出要检索记录的关键字时,系统将利用该关键字顺序地从第一个记录开始,与每一个记录地关键字进行比较,知道找到匹配地记录。

7.2.4 索引文件

1、关键字建立索引

为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项,记录指向记录地指针(记录在逻辑空间的首址)以及记录地长度L。索引表按关键字排序,这样就把对变长记录文件的索引变为了对定长记录文件的索引。
在这里插入图片描述
2 、具有多个索引表的索引文件
不同用户希望可以按不同属性(或不同的关键字)来检索一条记录,为此需要为顺序文件建立多个索引表,即为每一种可能成为索引条件的域(属性或关键字)都配置一张索引表。在每一个索引表中,都按相应的一种属性或关键字进行排序。

索引文件
优点 :
1 )将顺序查找变为了随机查找,极大地提高了对文件的查找速度。
2 )利用索引文件插入和删除记录也非常方便

缺点 :
1 )每个记录都要有一个索引项,因此增加了存储开销。

7.2.5 索引顺序文件

记录是按关键字的顺序组织起来的。它增加了两个新特征 :
1 )增加了溢出文件,用来记录新增加的、删除的和修改的记录。
2 )引入文件索引表,通过其实现对索引顺序文件的随机访问。

首先将变长记录顺序文件中的所有记录分组,然后为顺序文件建立一张索引表,并为每组中的第一个记录在索引表中建立一个索引项,其中包含有该记录的关键字和指向该记录的指针。
在这里插入图片描述

7.3 文件目录

对目录管理的要求如下:

  • 实现“按名存取”。

  • 提高对目录的检索速度。

  • 文件共享。

  • 允许文件重名。

7.3.1 文件控制块和索引结点

1 、文件控制块 (FCB)包含三类信息

  • 基本信息类 :① 文件名 ;② 文件物理位置 ;③ 文件逻辑结构 ;④ 文件的物理结构

  • 存取控制信息类

  • 使用信息类

在这里插入图片描述
2 、索引节点
文件很多时,文件目录占用大量的盘块,把文件名与文件描述信息分开,文件描述信息单独形成一个称为索引节点的数据结构,在文件目录中的每个目录仅由文件名和指向该文件所对应的索引节点的指针所构成。

7.3.2 简单的文件目录

1、单级文件目录
最简单的文件目录,在整个文件系统中只建立一张目录表,每个文件占一个目录项,目录项中包含文件属性,和一个表示目录项是否空闲的状态位。
在这里插入图片描述
单级目录的优点是简单且能实现目录管理的基本功能——按名存取,但却存在下述一些缺点:
(1) 查找速度慢
(2) 不允许重名
(3) 不便于实现文件共享

2、两级目录
在这里插入图片描述
具有以下优点:
(1) 提高了检索目录的速度 。
(2) 在不同的用户目录中, 可以使用相同的文件名。
(3) 不同用户还可使用不同的文件名来访问系统中的同一个共享文件 。

7.3.3 树形结构目录

多级目录结构
在这里插入图片描述

7.4 文件共享

7.4.1 基于有向无循环图实现文件共享

只有一份文件,修改文件所有人可见

1 )利用索引节点(硬链接) :

为实现当共享的内容修改时,共享它的用户能够及时识别,在文件目录中,不再用具体的物理地址,而是引入索引结点。在文件目录中只设置文件名及指向相应索引结点的指针。
索引结点中可设置一链接记数Count,表示链接到本索引结点上的用户目录项的数目。

即不同用户目录下(文件名可以不同)的索引指针指向同一个索引节点,链接到本索引结点上的用户目录项的数目为几,Count就等于几,某用户删除文件只是断开了链接,Count值减一,只有Count值为0时,才会真正删除文件。
在这里插入图片描述

7.4.2 利用符号链接实现文件共享

2 )符号链实现文件共享(软链接)

需共享时,创建一Link型的新文件,内容为被链接文件的路径名。称这样的链接方式为符号链接。对共享文件操作时,OS根据Link型新文件中的路径去读该文件,实现共享。

原来的硬链接全部被删除时,软连接失效(地址不可用)

缺点:
根据路径查找共享文件的开销较大;
要建立一新链接文件,相应也要有索引结点,消费一定磁盘空间。
优点:只要提供地址的文件都可共享。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从今天起请叫我小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值