操作系统文件管理_第1页
操作系统文件管理_第2页
操作系统文件管理_第3页
操作系统文件管理_第4页
操作系统文件管理_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章第六章 文件管理文件管理现代计算机系统中,大量的程序和数据现代计算机系统中,大量的程序和数据都是以文件的形式存放在外存中。都是以文件的形式存放在外存中。OS相应相应的增加了文件管理功能,即构成一个文件的增加了文件管理功能,即构成一个文件系统,负责文件的存取、共享和保持数据系统,负责文件的存取、共享和保持数据的安全性和一致性。提高了系统资源的利的安全性和一致性。提高了系统资源的利用率。用率。第六章第六章 文件管理文件管理数据一致性控制数据一致性控制目录管理目录管理外存分配方式外存分配方式文件的逻辑结构文件的逻辑结构文件和文件系统文件和文件系统1 1、文件和文件系统文件和文件系统v 引言引言

2、1 1、文件和文件系统文件和文件系统1. 文件的定义文件的定义文件是计算机系统中信息存放的一种组织形式,文件是计算机系统中信息存放的一种组织形式,是具有文件名的若干相关元素的集合。是具有文件名的若干相关元素的集合。元素通常是记录,而记录又是一组有意义的数据元素通常是记录,而记录又是一组有意义的数据项的集合。项的集合。1 1、文件和文件系统文件和文件系统1. 文件的定义文件的定义 数据项:最低级的数据组织形式。数据项:最低级的数据组织形式。 记录:一组相关数据项的集合,用于描述一个记录:一组相关数据项的集合,用于描述一个对象在某方面的属性。对象在某方面的属性。 文件:指由创建者所定义的、具有文件

3、名的一文件:指由创建者所定义的、具有文件名的一组相关元素的集合。组相关元素的集合。1 1、文件和文件系统文件和文件系统2. 文件的命名文件的命名v 各个操作系统的文件命名规则略有不同,即文件各个操作系统的文件命名规则略有不同,即文件名的格式和长度因系统而异。名的格式和长度因系统而异。 v 一般来说,文件名由一般来说,文件名由文件名和扩展名文件名和扩展名两部分组成,两部分组成,中间用中间用“ ”隔开。它们都是字母或数字组成的字隔开。它们都是字母或数字组成的字母数字串。扩展名也称为文件后缀,利用扩展名母数字串。扩展名也称为文件后缀,利用扩展名可以区分文件的属性。可以区分文件的属性。1 1、文件和文

4、件系统文件和文件系统2. 文件的分类文件的分类v DOS、WINDOWS系统中文件名:系统中文件名: 文件名文件名 文件扩展名文件扩展名v 文件名是一个不大于文件名是一个不大于8个字符的字符串,但个字符的字符串,但WINDOWS系统中允许超长文件名,最多可有系统中允许超长文件名,最多可有256个字符,不区分英文字母的大小写。个字符,不区分英文字母的大小写。1 1、文件和文件系统文件和文件系统3. 文件的分类文件的分类v 按文件的性质和用途分:按文件的性质和用途分: 系统文件:只允许用户调用,不允许读写。如系统文件:只允许用户调用,不允许读写。如内核、系统应用程序。内核、系统应用程序。 用户文件

5、:如源程序、目标程序。用户文件:如源程序、目标程序。 库文件:只允许用户读库文件:只允许用户读/执行,不允许修改。如执行,不允许修改。如C子程序库。子程序库。1 1、文件和文件系统文件和文件系统3. 文件的分类文件的分类v 按文件的数据形式分:按文件的数据形式分: 源文件源文件 目标文件目标文件 可执行文件可执行文件v 按存取控制属性分:按存取控制属性分: 只执行文件只执行文件 只读文件只读文件 读写文件读写文件2 2、文件的逻辑结构文件的逻辑结构v 文件存在两种结构:逻辑结构和物理结构。文件存在两种结构:逻辑结构和物理结构。v 文件的逻辑结构:从用户角度看到的文件面貌。文件的逻辑结构:从用户

6、角度看到的文件面貌。即用户对信息进行逻辑组织形成的文件结构。即用户对信息进行逻辑组织形成的文件结构。v 物理结构:文件在物理存储器中的组织形式。物理结构:文件在物理存储器中的组织形式。2 2、文件的逻辑结构文件的逻辑结构v 文件的逻辑结构的类型文件的逻辑结构的类型 无结构文件:由字符流构成的文件,长度以字无结构文件:由字符流构成的文件,长度以字节为单位。如源程序、可执行文件、库函数等。节为单位。如源程序、可执行文件、库函数等。 有结构文件:由一个以上的记录构成的文件。有结构文件:由一个以上的记录构成的文件。定长记录或不定长记录式文件。如数据库中的定长记录或不定长记录式文件。如数据库中的表。表。

7、2 2、文件的逻辑结构文件的逻辑结构v 记录组织方式记录组织方式 顺序文件:从开始位置顺序读取字符顺序文件:从开始位置顺序读取字符/记录。记录。 对流式文件:读写指针自动前移指向下次存对流式文件:读写指针自动前移指向下次存取的位置。取的位置。 对记录式文件:记录的组织和存取如下对记录式文件:记录的组织和存取如下2 2、文件的逻辑结构文件的逻辑结构v 记录组织方式记录组织方式 对于定长记录,某记录的地址对于定长记录,某记录的地址LA=记录号记录号i*记录长度记录长度m。 对于变长记录,常采用索引表,索引表本身对于变长记录,常采用索引表,索引表本身按关键字排序。按关键字排序。2 2、文件的逻辑结构

8、文件的逻辑结构v 记录组织方式记录组织方式 索引文件:对于变长记录,常采用索引表,索索引文件:对于变长记录,常采用索引表,索引表本身按关键字排序。引表本身按关键字排序。2 2、文件的逻辑结构文件的逻辑结构v 记录组织方式记录组织方式 索引顺序文件:将顺序文件中的所有记录分为索引顺序文件:将顺序文件中的所有记录分为若干个组;为顺序文件建立一张索引表,在索若干个组;为顺序文件建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项。引表中为每组中的第一个记录建立一个索引项。 检索效率检索效率N3 3、外存分配方式、外存分配方式v 考虑的问题:怎样才能有效地利用外存空间和如考虑的问题:怎样才能有

9、效地利用外存空间和如何提高对文件的访问速度。何提高对文件的访问速度。v 目前常用的外存分配方法有:目前常用的外存分配方法有: 顺序分配顺序分配(连续分配连续分配) 链接分配链接分配 索引分配索引分配3 3、外存分配方式、外存分配方式v 文件的物理结构直接与外存分配方式有关。采用文件的物理结构直接与外存分配方式有关。采用不同分配方式将形成不同的文件结构。不同分配方式将形成不同的文件结构。v 目前常用的外存分配方法有:目前常用的外存分配方法有: 连续分配连续分配顺序结构顺序结构 链接分配链接分配链接结构链接结构 索引分配索引分配索引结构索引结构3 3、外存分配方式、外存分配方式1. 连续分配连续分

10、配(Continuous Allocation)v 要求为每一个文件分配一组相邻接的盘块。要求为每一个文件分配一组相邻接的盘块。 保证保证了逻辑文件中的记录顺序与存储器中文件占用盘了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序一致性。块的顺序一致性。v 简单:简单:(起始块号,块数起始块号,块数);随机访问;寻道少;随机访问;寻道少v 磁盘外碎片多,文件不能动态增长磁盘外碎片多,文件不能动态增长3 3、外存分配方式、外存分配方式1. 连续分配连续分配(Continuous Allocation)3 3、外存分配方式、外存分配方式2. 链接分配链接分配(Chained Allocation)

11、v 通过在每个盘块上的指针,将同属于一个文件的通过在每个盘块上的指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的多个离散的盘块链接成一个链表,把这样形成的物理文件称为链接文件。物理文件称为链接文件。v 简单;没有外碎片;可动态增长;简单;没有外碎片;可动态增长;v 不能随机访问不能随机访问3 3、外存分配方式、外存分配方式2. 链接分配链接分配(Chained Allocation)3 3、外存分配方式、外存分配方式3. 索引分配索引分配v 为每个文件分配一个索引块为每个文件分配一个索引块(表表),再把分配给该,再把分配给该文件的所有盘块号,都记录在该索引块中。文件的所有盘块

12、号,都记录在该索引块中。v 随机访问,寻道多,需额外访问索引块。随机访问,寻道多,需额外访问索引块。v 没有外碎片,但增加了索引块的开销。没有外碎片,但增加了索引块的开销。3 3、外存分配方式、外存分配方式3. 索引分配索引分配3 3、外存分配方式、外存分配方式3. 索引分配索引分配3 3、外存分配方式、外存分配方式3. 索引分配索引分配混合索引混合索引4 4、目录管理、目录管理文件目录:是一种数据结构,用于标识系统中的文文件目录:是一种数据结构,用于标识系统中的文件及物理地址,供检索时使用。件及物理地址,供检索时使用。目录管理要求:目录管理要求: 实现按名存取;实现按名存取; 提高检索速度;

13、提高检索速度; 文件共享;文件共享; 允许文件重名。允许文件重名。4 4、目录管理、目录管理1. 文件目录的组成:文件目录的组成: 文件控制块文件控制块(FCB):文件属性的集合。文件控制:文件属性的集合。文件控制块的有序集合称为文件目录。通常一个文件目录块的有序集合称为文件目录。通常一个文件目录也被看做是一个文件,称为目录文件。也被看做是一个文件,称为目录文件。 组成组成:基本信息、存取控制信息、使用信息:基本信息、存取控制信息、使用信息 基本信息:文件名、文件物理位置、文件逻辑基本信息:文件名、文件物理位置、文件逻辑结构、文件的物理结构。结构、文件的物理结构。 存取控制信息:存取权限。存取

14、控制信息:存取权限。 使用信息:建立时间、修改时间、当前信息。使用信息:建立时间、修改时间、当前信息。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 单级目录结构:每个存储设备上只建立一张线性单级目录结构:每个存储设备上只建立一张线性目录表,为每个文件分配一个目录表,为每个文件分配一个FCB。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 单级目录结构:单级目录结构: 每个存储设备上只建立一张线性目录表,为每每个存储设备上只建立一张线性目录表,为每个文件分配一个个文件分配一个FCB。 文件名唯一,不允许重名。文件名唯一,不允许重名。 不便于实现共享。不便于实现共享。

15、 查找速度慢。查找速度慢。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 二级目录结构:为每个用户建立一个单独的用户二级目录结构:为每个用户建立一个单独的用户文件目录文件目录UFD(User File Directory),系统再建,系统再建立一个主文件目录立一个主文件目录MFD(Master File Directory),每个用户目录文件都占有一个目录项。每个用户目录文件都占有一个目录项。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 二级目录结构:二级目录结构: 每个用户一个单独目录。每个用户一个单独目录。 提高了检索目录的速度:提高了检索目录的速度:m个用户

16、,每个用户个用户,每个用户n个文件,平均搜索个文件,平均搜索(m+n)/2个个FCBs。 不同的目录中,可以使用相同的文件名。不同的目录中,可以使用相同的文件名。 不同用户还可以使用不同的文件名来访问系统不同用户还可以使用不同的文件名来访问系统中的同一个共享文件。中的同一个共享文件。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 多级目录结构:树型目录。多级目录结构:树型目录。4 4、目录管理、目录管理2. 文件目录结构:文件目录结构: 多级目录结构:多级目录结构: 目录结构:树型目录。目录结构:树型目录。 路径名:从根目录到任何数据文件,都只有一路径名:从根目录到任何数据文件,

17、都只有一条唯一的通路。条唯一的通路。 当前目录:把从当前目录开始直到数据文件为当前目录:把从当前目录开始直到数据文件为止所构成的路径名,称为相对路径;而把从树止所构成的路径名,称为相对路径;而把从树根开始的路径名称称为绝对路径。根开始的路径名称称为绝对路径。5 5、数据一致性控制、数据一致性控制v 当把一个数据分别存储到多个文件中时,便可能使当把一个数据分别存储到多个文件中时,便可能使数据一致性出现问题。数据一致性出现问题。v 解决办法:解决办法: 事务事务 并发控制并发控制 重复数据一致性重复数据一致性5 5、数据一致性控制、数据一致性控制1. 事务:用于访问和修改各种数据项的一个程序单位。

18、事务:用于访问和修改各种数据项的一个程序单位。v 被访问的数据可以分散地存放在被访问的数据可以分散地存放在同一文件的不同记同一文件的不同记录中录中,也可放在,也可放在多个文件中多个文件中。只有对。只有对分布在不同位分布在不同位置的同一数据置的同一数据所进行的读和写操作所进行的读和写操作全部完成全部完成时,才时,才能再以能再以提交操作提交操作(Commit Operation)来终止事务来终止事务。只要有一个只要有一个失败失败,便须执行,便须执行取消操作取消操作(Abort Operation)。v 原子性原子性5 5、数据一致性控制、数据一致性控制1. 事务:事务:v 事务记录:事务名、数据项

19、名、旧值、新值。事务记录:事务名、数据项名、旧值、新值。存放在稳定存储器中,用来记录在事务运行时数据存放在稳定存储器中,用来记录在事务运行时数据项修改的全部信息,故又称为运行记录项修改的全部信息,故又称为运行记录(Log)。v 恢复算法:恢复算法: Undo.该过程把所有被事务该过程把所有被事务Ti修改过的数据,修改过的数据,恢复为修改前的值。恢复为修改前的值。 Redo.该过程能把所有被事务该过程能把所有被事务Ti修改过的数修改过的数据,设置为新值。据,设置为新值。5 5、数据一致性控制、数据一致性控制2. 并发控制:多用户环境下,各事务对数据项的修改并发控制:多用户环境下,各事务对数据项的

20、修改是互斥的,只有在一个事务执行完后,才允许另一是互斥的,只有在一个事务执行完后,才允许另一事务执行。人们把这种特性称为顺序性事务执行。人们把这种特性称为顺序性(Serializability)。把用于实现事务顺序性的技术称。把用于实现事务顺序性的技术称为并发控制为并发控制(Concurrent Control)。v 利用互斥锁实现利用互斥锁实现“顺序性顺序性”。v 利用互斥锁和共享锁实现顺序性。利用互斥锁和共享锁实现顺序性。5 5、数据一致性控制、数据一致性控制2. 并发控制:并发控制:v 利用互斥锁实现利用互斥锁实现“顺序性顺序性”:为每一个共享对象设:为每一个共享对象设置一把互斥锁。当一事务要去访问某对象时,应先置一把互斥锁。当一事务要去访问某对象时,应先获得对象的互斥锁,将该对象锁住,执行操作,其获得对象的互斥锁,将该对象锁住,执行操作,其它事务由于未能获得该锁而不能访问该对象。它事务由于未能获得该锁而不能访问该对象。5 5、数据一致性控制、数据一致性控制2. 并发控制:并发控制:v 利用互斥锁和共享锁实现顺序性:共享锁与互斥锁利用互斥锁和共享锁实现顺序性:共享锁与互斥锁的区别在于互斥锁仅允许一个事务对相应对象执行的区别在于互斥锁仅允许一个事务对相应对象执行读或写操作,而共享锁则允许多个事务对相应对象读或写操作,而共享锁则允许多个事务对相应对象执行读操作,而不

温馨提示

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

评论

0/150

提交评论