操作系统 第七章文件管理(自我总结式)

  • 文件的定义:
  1. 文件的组成:

数据项、记录和文件

  1. 文件的分类:

按组成元素分类:

  1. 有结构文件
    2)无结构文件
  1. 文件的属性:
  1. 文件类型
  2. 文件长度
  3. 文件的物理位置
  4. 文件的建立时间
  1. 文件名命名规则:

一个文件必须要有一个文件名,它通常是由一串ASCII码或(和)汉字构成,名字的长度因系统不同而异。

  1. 文件类型
  1. 按用途分类:

根据文件的性质不同,可将文件分为三类:

  1. 系统文件
  2. 用户文件
  3. 库文件
  1. 按文件中数据的形式分类
  1. 源文件
  2. 目标文件
  3. 可执行文件
  1. 按存取控制属性分类
  1. 只执行文件
  2. 只读文件
  3. 读写文件
  1. 按组织形式和处理方式分类

(1)根据文件的组织形式和系统对其处理方式的不同,可将文件分为三类:
(2)普通文件
(3)目录文件
(4)特殊文件

  1. 文件系统
  1. 文件系统的层次结构

文件系统的模型可分为三个层次:最底层是对象及其属性,中间层是对对象进行操纵和管理的软件集合,最高层是文件系统提供给用户的接口。

 

  1. 文件系统各个部分的功能
  1. 对象及其属性
  1. 文件
  2. 目录
  3. 磁盘存储空间
  1. 对对象操纵和管理的软件集合

这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间的管理,以及对文件的共享与保护等功能

  1. 文件的操作
  1. 文件的基本操作类型
  1. 创建文件
  2. 删除文件
  3. 读文件
  4. 写文件
  5. 截断文件
  6. 设置文件的读/写位置
  1. 打开文件的作用

“打开”(open):是指系统将指定文件名的文件的属性(包括文件在外存上的物理位置),从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(索引号)返回给用户

  1. 关闭文件的作用

“关闭”(close):清除打开文件表中有关此文件的表目信息(索引号)

  1. 设置文件属性操作

有关对文件属性的操作,即允许用户直接设置和获得文件的属性,如改变已存文件的文件名、改变文件的拥有者(文件主)、改变对文件的访问权,以及查询文件的状态(包括文件类型、大小和拥有者以及对文件的访问权等)。
5)目录(文件)操作

有关目录的操作,如创建一个目录,删除一个目录,改变当前目录和工作目录等

  • 文件的逻辑结构
  1. 逻辑结构的定义:

这是从用户观点出发所观察到的文件组织形式,是用户可以直接处理的数据及其数据结构,它独立于文件的物理特性,又称为文件组织

  1. 物理结构的定义:

是指文件在外存上的存储组织形式。这不仅与存储介质的存储性能有关,而且与所采用的外存分配方式有关

  1. 文件逻辑结构的类型

1)有结构文件

(1)记录的长度可分为定长和不定长两类

  1. 定长记录
  2. 变长记录

(2)根据文件的组织方式,可把有结构文件分为四类:
A. 顺序文件

①记录的排列形式

在顺序文件中的记录,可以按照各种不同的顺序进行排列。一般地,可分为两种情况:
A.串结构:按记录存入时间先后排列:顺序查找
B.顺序结构:按用户指定关键字的取值排列:二分查找,插值查找,跳步查找

②记录寻址

A.隐式寻址方式
B.显式寻址方式

③顺序文件的优缺点

A.优点:
1) 在对文件中的记录进行批量存取时(即每次要读或写一大批记录)。所有逻辑文件中顺序文件的存取效率是最高的。
2)对于顺序存储设备(如磁带),也只有顺序文件才能被存储并能有效地工作。

B.缺点:
1)用户查找或修改单个记录时,检索速度慢。

2)增加或删除某个记录时,涉及大量记录移动操作

B. 索引文件

①索引的建立

定长记录的文件可以通过简单的计算,很容易地实现随机查找。但变长记录文件查找一个记录必须从第一个记录查起,一直顺序查找到目标记录为止,耗时很长

②多索引

不同的用户,为了不同的目的,希望能按不同的属性(或不同的关键字)来检索一条记录。为实现此要求,需要为顺序文件建立多个索引表,即为每一种可能成为检索条件的域(属性或关键字)都配置一张索引表。在每一个索引表中,都按相应的一种属性或关键字进行排序

③索引文件的优缺点

  1. 优点:

1)可以保证数据库表中每一行的数据的唯一性

2)可以大大加快数据的索引速度

3)加速表与表之间的连接,物别是在实现数据的参考完事性方面特别有意义

4)在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间

5)通过使用索引,可以在时间查询的过程中,使用优化隐藏器,提高系统的性能

B.缺点:

1)创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加

2)索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间,如果需要建立聚簇索引,那么需要占用的空间会更大

3)以表中的数据进行增、删、改的时候,索引也要动态的维护,这就降低了整数的维护速度

C. 索引顺序文件

①索引顺序文件的特征

A.引入了文件索引表,通过该表可以实现对索引顺序文件的随机访问;
B.增加了溢出(overflow)文件,用它来记录新增加的、删除的和修改的记录。

②一级索引文件,二级索引文件的平均查找次数

D. 直接文件和哈希文件

①直接文件定义

对于直接文件,则可根据给定的关键字直接获得指定记录的物理地址。换而言之,关键字本身就决定了记录的物理地址。

②哈希文件(哈希函数)

这是目前应用最为广泛的一种直接文件。它利用Hash函数(或称散列函数)可将关键字转换为相应记录的地址

③哈希文件的优缺点

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。哈希表也有一些缺点它是基于数组的,数组创建之后难于扩展某些哈希表被基本填满时,性能下降得非常严重。这个问题是哈希表不可避免的,即冲突现象,对不同的关键字可能得到同一哈希地址

2)无结构文件

流式文件:其文件的长度是以字节为单位的

  • 文件目录
  1. 文件目录是一种数据结构,也是一种特殊文件
  2. 文件目录管理的功能
  1. 实现“按名存取”
  2. 提高对目录的检索速度
  3. 文件共享
  4. 允许文件重名
  1. 文件控制块(FCB)作用及所存储信息
  1. 作用:

为了能对系统中的大量文件施以有效的管理,在文件控制块中,通常应含有三类信息,即基本信息、存取控制信息及使用信息。

  1. 所存储信息
  1. 文件名
  2. 文件物理位置
  3. 文件逻辑结构
  4. 文件主的存取权限
  5. 核准用户的存取权限以及一般用户的存取权限
  6. 文件的建立日期和时间
  7. 文件上一次修改的日期和时间
  8. 当前使用信息
  1. 索引结点
  1. 引入原因

文件目录通常是存放在磁盘上的,当文件很多时,文件目录可能要占用大量的盘块。

在查找目录的过程中,必须先将存放目录文件的第一个盘块中的目录调入内存,然后将用户所给定的文件名,与目录项中的文件名逐一比较。若未找到指定文件,还需要将下一盘块的目录项调入内存

2)磁盘索引结点与内存索引结点的异同

(1)磁盘索引结点

这是存放在磁盘上索引结点。每个文件有唯一的一个磁盘索引结点,它主要包括以下内容:

①文件主标识符

②文件类型

③文件存取权限

④文件物理地址

⑤文件长度

⑥文件连接计数

⑦文件存取时间

(2)内存索引结点

①索引结点编号

②状态

③访问计数

④文件所属文件系统的逻辑设备号

⑤链接指针

  1. 文件目录结构
  1. 单级目录
  1. 实现数据结构

文件名

物理地址

文件说明

状态位

文件名1

 

 

 

文件名2

 

 

 

 

 

 

 

  1. 优缺点:

优点:简单且能实现目录管理的基本功能-按名存取

缺点:查找速度慢,不允许重名,不便于实现文件共享

  1. 两级目录
  1. 实现数据结构

 

  1. 优缺点

优点:提高了检索目录的速度,在不同的用户目录中,可以使用相同的文件名,不同用户还可使用不同的文件名来访问系统中的同一个共享文件

缺点:增加了系统开销

  1. 树型结构目录
  1. 实现数据结构

 

  1. 相关术语

①目录结构

②路径名

③当前目录:

绝对路径:从树根开始的路径名

相对路径:从当前目录开始直到数据文件为止所构成的路径名

  1. 目录操作

(1) 创建目录
(2) 删除目录
① 不删除非空目录
② 可删除非空目录
(3) 改变目录
(4) 移动目录
(5) 链接(Link)操作
(6) 查找

  1. 目录查询技术
  1. 线性检索法

操作流程:

 

  1. Hash方法

 如果我们建立了一张Hash索引文件目录,便可利用Hash方法进行查询,即系统利用用户提供的文件名,并将它变换为文件目录的索引值,再利用该索引值到目录中去查找,这样将显著地提高检索速度。

  • 文件共享
  1. 文件共享的定义

指系统应允许多个用户(进程)共享同一份文件

  1. 实现方式
  1. 基于有向无循环图实现文件共享
  1. 基本思想:
  1. 有向无循环图DAG(Directed Acyclic Graph)
  2. 利用索引结点
  1. 优缺点:
  1. 利用符号链接实现文件共享
  1. 基本思想:

利用符号链接实现文件共享的基本思想,是允许一个文件或子目录有多个父目录,但其中仅有一个作为主(属主)父目录,其它的几个父目录都是通过符号链接方式与之相链接的(简称链接父目录)

  1. 利用符号链实现共享的优点:

在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户则只有该文件的路径名,并不拥有指向其索引结点的指针。这样,也就不会发生在文件主删除一共享文件后留下一悬空指针的情况。当文件的拥有者把一个共享文件删除后,如果其他用户又试图通过符号链去访问一个已被删除的共享文件,则会因系统找不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响

  • 文件保护
  1. 影响文件安全的主要因素
  1. 人为因素
    2)系统因素
    3)自然因素
  1. 存储控制机制
  1. 保护域

为了对系统中的资源进行保护而引入了保护域的概念,保护域简称为“域”。“域”是进程对一组对象访问权的集合,进程只能在指定域内执行操作。这样,“域”也就规定了进程所能访问的对象和能执行的操作。

  1. 访问矩阵
  1. 支持访问权的类别

①拷贝权(Copy Right)

②所有权(Owner Right)

③控制权(Control Right)

  1. 访问矩阵的实现

访问控制表的定义:

这是指对访问矩阵按列(对象)划分,为每一列建立一张访问控制表ACL。在该表中,已把矩阵中属于该列的所有空项删除,此时的访问控制表是由一有序对(域,权集)所组成的。由于在大多数情况下,矩阵中的空项远多于非空项,因而使用访问控制表可以显著地减少所占用的存储空间,并能提高查找速度。

访问权限表的定义:

如果把访问矩阵按行(即域)划分,便可由每一行构成一张访问权限表。换言之,这是由一个域对每一个对象可以执行的一组操作所构成的表。表中的每一项即为该域对某对象的访问权限。当域为用户(进程)、对象为文件时,访问权限表便可用来描述一个用户(进程)对每一个文件所能执行的一组操作

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值