文件管理课件_第1页
文件管理课件_第2页
文件管理课件_第3页
文件管理课件_第4页
文件管理课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章文件管理

■文件系统概述

■文件的结构和存取方式

■文件目录

■文件存储空间的管理

■文件的使用、共享与保护

■文件系统的性能问题

5.1.1文件的概念

外存中具有符号名的一组有逻辑意义的信息项

的集合。

指os中管理文件的那一部分软件。它负责管理

文件的存储、检索、更新,提供安全可靠的共

享和保护手段,并为用户提供一整套方便有效

的文件使用和操作方法。它在OS接口中占比例

最大,是I/O系统的上层软件。文件系统面向用

户的主要任务是实现文件的“按名存取”。

5.1.2文件分类

■分类角度多。比如,可按文件的用途、文件中

数据的形式、存取控制属性、文件信息的保存

期限、文件的逻辑结构、文件的物理结构等进

行分类。

■UNIX系统将文件分为三类:

普通文件(包括用户的ASCH或二进制文件);

目录文件;

特殊文件(设备文件,管道,套接字,符号链

等)

5.2文件结构与存取方法

文件的结构指文件中信息的配置和构造方式,有逻辑结

高和物理结构之分。

1.文件的逻辑结构

■用户眼中文件信息的组织形式叫文件的逻辑结构。它

包括记录式文件和流式文件两种,每种文件信息的逻

辑单位分别是记录和字符。

■UNIX系统视所有文件的逻辑结构为无结构的流式文

■早期有结构的记录式文件又分定长和不定长两种,流

式文件可看作特殊的定长记录式文件

■文件的逻辑结构与文件的存储介质无关

2.文件的物理结构

■系统眼中文件信息的组织形式叫文件的物理

结典。它包括顺序文件、链接文件、索引文

件二种(实为连续文件与不连续文件两大类)

■文件的物理结构也叫文件的存储结构,指文

件在外存上的存储组织形式,它与存储介质

的性能和外存的分配方式有关

■顺序文件:文件的信息存放在若干连续的物

理块中。特点:实现简单,顺序存取速度快,

但分配慢,外存碎片多(似内存的可重定位可变分

区分配)

磁盘空间连续分配产生顺序文件:

磁盘空间

文件目录

n口fD

n口E文件名始址块数

n□口

ncount02

D口tr143

mailmail196

远口口近

list284

近远远因f62

[24]QQ

list

画画画画

■链接文件:一个文件的信息存放在若干不

连续的物理块中,各块之间通过指针连接。

特点:提高了磁盘空间利用率,不存在外

部碎片问题,有利于文件长度动态变化,

但存取速度慢(不适合随机存取,寻道时

间长),可靠性差,指针占空间。

■链接文件按链接指针的不同实现又分为隐

式链接文件和显式链接文件,MSDOS、

Windows中采用的是后者,其FAT和簇的

概念是传统链接结构的变形

磁盘空间链接式分配产生链接文件:

―文件目录

磁盘空间I文件名始址末址I

0110%23jeep925

4D6^7Q_________I~

8口,或o西u口;

120(^0140isnj

16击17口曲•口19口­:

20O21Cj22n23Q,j..............

24125立12627

28293031

■索引文件:一个文件的信息存放在若干不连续

物理块中,系统为每个文件建立一个索引表,

并将这些物理块号存放在其中

■一个索引表就是磁盘块地址数组,其中第i个条

目指向文件的第i块

■索引表组织:单级索引、多级索引、Hash索引。

UNIX文件系统采用多级索引结构

■特点:既能顺序存取,又能随机存取,支持文

件长度动态变化,外存利用率高,但索引表需

占额外空间。

磁盘空间索引式分配产生索引文件:

文件目录

023

4567

11

HUIM远近

[2g[29][30]SI

一次间接地址块物理块

gUNIXSystemV

采用多级混合

物理块

一次间接块索引方式

个二次间接块

®<

二次间接块

索引结点中的

13个地址项

设每个盘块4kB,每个盘块号4B,则米用

3次间址可表示的文件最大长度为:

4T+4G+4M+40K(B)

3.文件的存取方式

当今OS支持的文件存取方式主要有顺序存取和

随机存取两种。

对文件中的信息按逻辑顺序进行读/写的存

取方式称顺序存取

■随机存取

对文件中的信息按任意顺序进行读/写的存

取方式称随机存取

■早期系统中记录式文件所对应的第三种存取

方式—现在多见于DBMS中

4.文件的存储介质

磁带,磁盘,光盘,优盘,……

■以块为单位进行信息的存储、传输、分配

■磁带:顺序存取设备,前面的物理块被存取

访问之后,才能存取后续的物理块的内容。

存取速度较慢,现在主要用于后备存储。

■磁盘:可编址的随机存取设备,存取磁盘上

任一物理块的时间不依赖于该物理块所处的

位置。

■光盘、优盘:可移动磁盘的改进、变形物。

5.文件结构、文件存取方式与文件存储介质的关系

文件的存取方式不仅与文件的结构有关,还与

文件所在存储介质的性能有关,如下表所示:

存储介质磁带磁盘

物理结构顺序结构顺序链接索引

顺序顺序顺序

存取方式顺序存取

随机随机

问题1:上表内容完全正确吗?

问题2:磁盘上的不定长记录式顺序文件适合随

机存取吗?

6文件存储空间的管理

1.分配方式

当今OS几乎都采用离散分配方式(似内存分

页),以节省外存空间。采用链接分配法导

致链接文件,如MSDOS;采用索引分配法

将形成索引文件,如UNIX。UNIX仅对其对

换区采用连续分配方式,以加快对换过程。

2.分配算法

似首次适应法的扩充(即顺序查找分配法)

3.分配算法用的主要数据结构(即描述外存空

间使用情况的几类不同的数据结构)

⑴空闲区表/链

■将所有空闲区记录在一个表/链中。适合连续分配。如

今少用

⑵空闲块链

■把所有空闲块链成一个链。适合离散分配,今DOS、

Windows等用之

■扩展:①不断地适度地增加块尺寸。从最早的

512BnlKBn2KB=>4KBn8KBn16KBn32KBn

64KBoFAT16支持的最大簇为32KB,FAT32支持的最大簇

为16KB,NTFS支持的最大簇为64KB(请思考FAT12、

FAT16与FAT32之间的区别)②成组链接法,链上每个节

点记录1组空闲块。适合大型文件系统,分配、释放快,链

本身短,占空间少(除首组外均隐藏在空闲块中)。UNIX

用之

始化链的例子:

中空闲块号栈50号空块150号空块250号空块

一空闲块数

一空闲块号

S.free

0

38

251号空闲块

采用成组链接法的外存分配、回收算法:

磁盘专用块一一内存专用块

(superblock)

分配算法(分配1个空块)回收算法(回收1个空块)

IF栈已上锁THEN阻塞ELSE对栈上锁IF栈已上锁THEN阻塞ELSE对栈上锁

IF空闲块数>1THEN{IF空闲块数V100THEN{

空闲块数减1;开锁;将释放块压入S.free(空闲块数)单元;

返回S.free(空闲块数)单元的空块;}空闲块数加1;开锁;返回;}

IF空闲块数=1且S.free(0尸0THEN{ELSE{把空闲块栈内容写到释放块中;

开锁;失败返回;}ELSE{置空闲块数为1;

将S.free(空闲块数-1)单元的空块存入T;将释放块号压入S.free(0)单元;

将T号块内容读入专用块;开锁;返回;}

开锁;返回T号空块;}

(3)位示图

日用一串二进制位反映磁盘空间中分配使用情况,

每个物理块对应一位,分配物理块为1,否则为

0

申请物理块时,可以在位示图中查找为0的位,

返回对应物理块号;

归还时;将对应位转置0-

描述能力强,适合各种物理结构(对连续文件

稍差),本身占空间少,可常驻内存,而字位

号到块号的转换也不难。今Linux等用之(甚

至对内存分页方式也用它)

5.3文件目录

1.基本概念

■文件控制块(FCB):是OS为管理文件而设置

的数据结构,存放了为管理文件所需的所有有

关信息(文件属性),也叫文件目录项

■文件控制块是文件存在的标志

■文件控制块的内容:

/基本信息:文件的名字、地址、大小、结构、类型

/存取控制信息:文件属主、存取权限或属性或口令

,使用信息:共享计数,文件的建立、修改日期等

■文件目录:把所有的FCB组织在一起,就构

成了文件目录,即文件控制块的有序集合

■目录项:构成文件目录的项目,即FCB

■目录文件:为了实现对文件目录的管理,通

常将文件目录以文件的形式保存在外存,这

个文件就叫目录文件

■目录主要是为了系统快速实现“按名存取”

而引入的,查目录是文件系统最频繁的操作,

因此目录的合理组织很重要

2.目录结构

⑴单级目录结构

系统为所有文件建立一个目录文件(线性表)

优点:简单,易实现

缺点:

■限制了用户对文件的命名(存在“命名冲突”问

题)

■顺序检索文件时平均检索时间长

■限制了对文件的共享

・不适于多用户系统

(2)二级目录结构

■为克服单级目录结构存在的命名冲突问题,

并提高对目录文件的检索速度而引入

■目录分为两级:一级称为主文件目录,给出用户

名,用户子目录所在的物理位置;二级称为用户文

件目录(又称用户子目录),给出该用户所有文件

的FCB

■优点:解决了文件的重名问题和文件共享问题;

可用于多用户系统;

顺序查找时间降低。

■缺点:增加了系统开销

级目录结构示意图

普通文件

UFD(user1)

ABC

LMN

XYZ

ABC

----

(3)多级目录结构(树型目录)

■对二级目录简单扩充可得三级或三级以上的多

级目录结构,即允许每一级目录中的FCB要么

指向文件,要么指向下一级子目录即可。这是

当今主流OS普遍采用的目录结构

■优点:①解决了命名冲突问题.

②提高了文件检索速度

③易于实现文件的共享和保护

④层次结构清晰,便于对文件分类管理

■缺点:查找一个文件按路径名逐层检查,由于

每个文件都放在外存,多次访盘影响速度

UNIX多级树形目录结构示意图

文件符号名

文件内部号

文件符号名

4B^^.F•-CB♦・B1•I

基本目录项

BFCB

采用基本文件目录和符号文件

目录的多级目录结构示意图(2)

文件名ID

ZhangSan

Li_Sitj

Software4

Tools6

ID4Products7

ID5Rooms5

Zhang_San的目录(ID3)

ID7文件名ID

文件名IDSA2

ID9ITools5Mygame

10

ID1Mygame

Classmate9ZhangSanTook子目录(ID6)

lEftl

(ID1)Li_Si的目录(ID8)

例5・1I块大小512字节,一个FCB有48个字节,符号日

录项占8字节,文件名6宁节,文件号2字节,基本口录项次

48-6=42字节。若把含行128个订录项的某单级H录文件改造

成符号文件目录和基本文件目录的结构,试说明改造后查

,个文件的平均访盘次数,谈一下自己的认识。

解:分解前:1块含512/48=10个FCB

分解后:1块含512/8=64个符号目录项,或者,

1块含512/42=12个基本目录项

该目录文件含有128个目录项,分解前占13块,

分解后其符号文件占2块,基本文件占11块。

故分解前查找一个文件的平均访盘次数:

(1+13)/2=7次,分解后:(1+2)/2+1=2.5次

由此可见:改造后减少了访问硬盘的次数,提

高了检索速度。

⑸目录的其他实现方法:

■Hash表算法:

目录文件按目录项键的Hash值的顺序组织。

创建或搜索时根据文件名计算Hash值,得到

一个指向目录表中相应表目的指针

■其他算法:1R

如B+树,这是一种将大的单级索引目录文件

组织成有序的树型多级索引目录文件的方法,

是索引顺序文件中实际采用的基本索弓I结构,

支持随机访问和顺序访问,多见于DBMS中。

NTFS文件系统就采用了B+树

3.目录查询技术

文件的“按名存取”是通过查目录实现的,

系统按照文件的路径名检索。目录查询技术

主要有两种:

■线性检索法

■Hash方法

为加快目录检索,许多系统引入当前目录(工作

目录,值班目录)、相对路径名、cd命令等。

5.4文件使用

■为方便用户使用文件,文件系统提供对文件的

各种操作,形式分别为:系统调用或命令

①提供设置和修改用户文件的存取权限的服务

②提供建立、修改、改变、删除目录的服务

③提供文件共享,设置访问路径的服务「一一,

④提供创建、打开、读、写、关闭、撤消文件等服务

⑤文件系统维护

⑥文件系统的转储和恢复

⑦・・・・・・

其中,最基本的操作是:打开、关闭、读、写文件等

(1)打开文件操作简介

■任何一个文件使用前都要先打开,即把

FCB送到内存,以建立用户和文件的联

系,使今后频繁的查目录操作在内存中

完成。如fd=open(文件路径名,打开方式)

■打开文件操作的主要执行步骤如下:

①根据文件路径名查目录,找到FCB主部;

②根据打开方式、共享说明和用户身份检查访

问合法性;

③根据文件号查系统打开文件表,看文件是否

已被打开;若是一共享计数加1,否则一将外

存中的FCB主部等信息填入系统打开文件表

空表项,共享计数置为1;

④在用户打开文件表中取一空表项,填写打开

方式等,并指向系统打开文件表对应表项

返回信息:fd:文件描述符,是一个非负整

数,用于以后读写文件

5.5文件的共享与保护

1.文件共享的定义

一个文件被多个用户或程序使用

共享形式:

A被多个用户不同时使用,由存取权限控制

A被多个程序使用,但各用自己的写指针

»被多个程序使用,但共享写指针

2.文件共享的目的

A节省时间和存储空间,减少了用户工作量;

>进程间通过文件交换信息。

的实现方法(3种)

按“路径名”访问共享文件,即基于系统目

录的共享法O实现简单,但路径名可能长,检索较

慢。

用连接命令实现基于i-node的共享(硬链^小).

通过“连接(Link)”命令,在用户自己的

目录项中对要共享的文件建立起相应的表目,

新建目录项中的索引节点号即被共享文件的。

解除连接需执行Unlink命令。UNIX提供此法。

它是方法1的发展。使用文件别名,检索较快,也

叫静态共享。

问题:删除文件时应怎样考虑?

用符号链(Symboliclinking)访问共享文件

系统建立一个新文件,类型为LINK,放在要

连接的目录下。该文件只包含被链接文件的

路径名

问迎:系统时空开销大

优势:适于异地系统间(特别是计算机网络

环境下)的文件共享,也没有直接删除文件

的副作用。

符号链在Windows中叫快捷方式

UNIX实例——用户B用连接方式共享用户A的文件F

Link(A/F,B/C)(Linux命令为InA/FB/C)

在B目录中建立一个新表目,并在文件F所对应

的目录表目中的“连接数”项加1

1文件名1内部标识号

CA/F的内部标识号

为支持用户的3种共享形式,UNIX在用户

打开文件表和内存索引节点间还引入了系

统打开文件表,以解决文件读写指针的存

放位置问题,如下图所示。

系统打开文件表

UNIX系统文件共享示例

4.文件的保护与保密

这是实现‘*系统安全性的两个重要方面。安

全性应确保未经授权的用户不能存取某些文

件,防止数据的丢失、被偷窃、被篡改。这

涉及到技术、管理、法律、道德、教育和政

治等问题

(1)系统安全的分级管理

■系统级管理(注册、登录、口令机制)

■用户级管理(分类授权)

■目录、文件级管理(设权限、属性等)

(2)文件保护一防破坏(被动做法J

■人为破坏因素■系统对策

•有意、无意的非法操作■授权机制「

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论