操作系统文件管理课件

上传人:大米 文档编号:568556091 上传时间:2024-07-25 格式:PPT 页数:88 大小:1.22MB
返回 下载 相关 举报
操作系统文件管理课件_第1页
第1页 / 共88页
操作系统文件管理课件_第2页
第2页 / 共88页
操作系统文件管理课件_第3页
第3页 / 共88页
操作系统文件管理课件_第4页
第4页 / 共88页
操作系统文件管理课件_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《操作系统文件管理课件》由会员分享,可在线阅读,更多相关《操作系统文件管理课件(88页珍藏版)》请在金锄头文库上搜索。

1、第八章 文件管理文件和文件系统文件和文件系统文件逻辑结构文件逻辑结构外存分配方式外存分配方式目录管理目录管理文件存储空间的管理文件存储空间的管理文件共享文件共享与与文件保护文件保护数据一致性检查数据一致性检查 程序和数据以文件的程序和数据以文件的形式存储在外存中。形式存储在外存中。文文件系统,件系统,作为操作系统作为操作系统中的一个重要组成部分,中的一个重要组成部分,负责负责文件的组织、存储文件的组织、存储和访问。和访问。 本章的主要内容是本章的主要内容是文文件的组织结构,文件系件的组织结构,文件系统空间管理以及文件的统空间管理以及文件的共享与保护。共享与保护。8.1 8.1 文件和文件系统文

2、件和文件系统u文件系统的引入:文件系统的引入: 所有的计算机应用程序都要:所有的计算机应用程序都要:存储信息和检索信息存储信息和检索信息 三个基本要求:三个基本要求: 能够存储大量的信息能够存储大量的信息 长期保存信息长期保存信息 可以共享信息可以共享信息解决方法:解决方法:把信息以一种单元,即文件的形式存储在磁盘把信息以一种单元,即文件的形式存储在磁盘或其他外部介质上。而文件是通过或其他外部介质上。而文件是通过文件系统文件系统来管理的,包来管理的,包括:文件的结构,命名,存取,使用,保护和实现方法。括:文件的结构,命名,存取,使用,保护和实现方法。文件系统:文件系统: 是操作系统中是操作系统

3、中统一管理信息资源统一管理信息资源的一种软件,的一种软件,管理文件的管理文件的存储存储、检索检索、更新更新,提供安全可靠的,提供安全可靠的共享共享和和保护保护手段,并且手段,并且方便用户使用方便用户使用。两种观点两种观点用户观点:用户观点: 最基本的功能是最基本的功能是实现实现了了按名存取按名存取。另外,。另外,文件系统还文件系统还应提供:应提供:一个文件由什么组成,如何命名,如何保一个文件由什么组成,如何命名,如何保护文件,可以进行何种操作等等。护文件,可以进行何种操作等等。操作系统观点:操作系统观点:文件目录怎样实现,怎样管理存储空间,文件存储文件目录怎样实现,怎样管理存储空间,文件存储位

4、置,磁盘实际运作方式位置,磁盘实际运作方式(与设备管理的接口与设备管理的接口)等等。等等。基于文件系统的概念,数据的组成可有三级:基于文件系统的概念,数据的组成可有三级:数据项数据项记录记录文件文件一、文件、记录和数据项一、文件、记录和数据项1、数据项、数据项1)基本数据项:描述一个对象属性的字符集。是最小逻辑)基本数据项:描述一个对象属性的字符集。是最小逻辑数据单位。称为原子数据、数据元素、字段。数据单位。称为原子数据、数据元素、字段。基本数据项有基本数据项有型型(数据项的名字、类型等)(数据项的名字、类型等)值值(某实体的具体数据)(某实体的具体数据)2)组合数据项:由若干个基本数据项组成

5、。)组合数据项:由若干个基本数据项组成。2 2、记录:、记录:一组相关数据项的集合。描述一个对象某方面一组相关数据项的集合。描述一个对象某方面的属性。用的属性。用关键字关键字来唯一标识一条记录。来唯一标识一条记录。3 3、文件:、文件:具有文件名的一组相关信息的集合。描述一个具有文件名的一组相关信息的集合。描述一个对象集。对象集。 有结构文件:由若干相关记录组成有结构文件:由若干相关记录组成 。 无结构文件:字符流文件。无结构文件:字符流文件。4 4、文件的属性:、文件的属性:1 1)文件类型)文件类型2 2)文件长度)文件长度3 3)文件物理位置)文件物理位置4 4)文件的存取控制)文件的存

6、取控制5 5)文件的建立时间)文件的建立时间二、文件类型二、文件类型许多许多OS中用文件的扩展名表征文件类型。中用文件的扩展名表征文件类型。1.按用途分按用途分系统文件系统文件用户文件用户文件库文件(由标准子程序及常用的例程等构成的文库文件(由标准子程序及常用的例程等构成的文件,允许调用,不允许修改)件,允许调用,不允许修改)2. 2. 按文件中的数据形式分:按文件中的数据形式分:1 1)源文件:由源程序和数据构成的文件)源文件:由源程序和数据构成的文件2 2)目标文件:编译后的二进制代码文件)目标文件:编译后的二进制代码文件3 3)可执行文件:目标文件链接后形成的文件)可执行文件:目标文件链

7、接后形成的文件3 3 按存取控制属性分:按存取控制属性分:只执行文件、只读文件、读写文件只执行文件、只读文件、读写文件4 4 按文件的逻辑结构分按文件的逻辑结构分(从用户角度出发所观察到,(从用户角度出发所观察到,是用户可以直接处理的数据及形式)是用户可以直接处理的数据及形式):有结构文件(记录式文件)、无结构文件有结构文件(记录式文件)、无结构文件5 5 按文件的物理结构分按文件的物理结构分(文件存储结构,文件在外存(文件存储结构,文件在外存上的存储组织形式):上的存储组织形式):顺序文件、链接文件、索引文件顺序文件、链接文件、索引文件三、文件系统模型三、文件系统模型对象及其属性说明对象及其

8、属性说明:对象包括文件、目录、对象包括文件、目录、磁盘存储空间磁盘存储空间对对象进行操纵和管理对对象进行操纵和管理的软件集合(核心)的软件集合(核心) 文件系统的功能有:存文件系统的功能有:存储空间的管理;文件目储空间的管理;文件目录的管理;地址映射;录的管理;地址映射;文件的读写管理;文件文件的读写管理;文件的共享与保护的共享与保护文件系统的接口文件系统的接口:命令接口、程序接口命令接口、程序接口图 6-2 文件系统模型 四、文件操作四、文件操作1. 1. 对记录的操作:对记录的操作:检索所有记录;检索单个记录;检索所有记录;检索单个记录;插入、修改、删除一个记录。插入、修改、删除一个记录。

9、2. 2. 对文件的操作对文件的操作 基本操作:文件的创建(分配外存、建立目录基本操作:文件的创建(分配外存、建立目录项)、删除、读、写、截断、设置文件的读写位项)、删除、读、写、截断、设置文件的读写位置。置。文件的打开和关闭文件的打开和关闭设置和修改文件的属性设置和修改文件的属性建立、修改和删除目录建立、修改和删除目录 文件的打开和关闭文件的打开和关闭当前当前OS对文件的操作过程可分为两步:对文件的操作过程可分为两步:检索检索文件目录找到指定文件的属性及其在外存上的位置;文件目录找到指定文件的属性及其在外存上的位置;对文件实施相应的对文件实施相应的操作操作。为避免多次重复检索目录,当用户第一

10、次请求对某一文件进为避免多次重复检索目录,当用户第一次请求对某一文件进行操作时,先利用行操作时,先利用Open系统调用将该文件打开。系统调用将该文件打开。“打开打开”的含义的含义:系统将文件的属性(目录信息)从外存:系统将文件的属性(目录信息)从外存复制到内存打开文件表中,并返回该表目的编号给用户,复制到内存打开文件表中,并返回该表目的编号给用户,建建立了用户与文件间的联系立了用户与文件间的联系。以后若再访问此文件,则利用编。以后若再访问此文件,则利用编号直接在内存中检索,从而节省大量的检索开销,提高了文号直接在内存中检索,从而节省大量的检索开销,提高了文件的操作速度。件的操作速度。“关闭关闭

11、”的含义:的含义:当用户不再需要对该文件的操作时,当用户不再需要对该文件的操作时,OS将会把该文件从打开文件表中的表目上删除掉,从而切将会把该文件从打开文件表中的表目上删除掉,从而切断用户与文件间的联系。断用户与文件间的联系。8.2 文件逻辑结构n文件的逻辑结构文件的逻辑结构(文件组织):从(文件组织):从用户观点用户观点出发观出发观察到的文件全貌,用户用这种逻辑结构形式来实现存察到的文件全貌,用户用这种逻辑结构形式来实现存储、检索和加工文件中的数据。它可以储、检索和加工文件中的数据。它可以独立于在外存独立于在外存上的物理存储。上的物理存储。n文件的物理结构文件的物理结构(文件的存储结构):(

12、文件的存储结构):系统设计人系统设计人员员看待文件时要考虑文件具体在存储设备中看待文件时要考虑文件具体在存储设备中如何放置如何放置、如何组织如何组织、如何实现如何实现存取等细节,这与存储介质的存存取等细节,这与存储介质的存储性能有关。(分为顺序、链接及索引结构)储性能有关。(分为顺序、链接及索引结构)n注:注: 文件的逻辑结构和物理结构都将影响文件的检文件的逻辑结构和物理结构都将影响文件的检索速度。索速度。文件逻辑结构的设计要求:文件逻辑结构的设计要求:访问性能:便于检索、便于修改访问性能:便于检索、便于修改存储性能:向物理存储转换方便,最小的文存储性能:向物理存储转换方便,最小的文件存储空间

13、。件存储空间。一、文件逻辑结构类型一、文件逻辑结构类型有结构文件:有结构文件:由至少一个记录组成的文件。由至少一个记录组成的文件。无结构文件:无结构文件:即流式文件。即流式文件。1、有结构文件、有结构文件:由至少一个记录组成的文件。:由至少一个记录组成的文件。按照记录长度划分按照记录长度划分:定长记录:定长记录:所有记录的长度是相同的。所有记录的长度是相同的。变长记录:变长记录:各记录的长度不相同。指数据项数目不同各记录的长度不相同。指数据项数目不同或数据项本身长度不定。或数据项本身长度不定。按照记录组织方式划分:按照记录组织方式划分:顺序文件顺序文件:一系列记录按一定顺序排列成的文件。常:一

14、系列记录按一定顺序排列成的文件。常是定长记录。是定长记录。索引文件索引文件:为每条记录设置一表项,以记录该记录的:为每条记录设置一表项,以记录该记录的信息。常是变长记录。信息。常是变长记录。索引顺序文件索引顺序文件:以记录分组,每组内为顺序的;每一:以记录分组,每组内为顺序的;每一组设置一个表项,形成索引表。组设置一个表项,形成索引表。2.无结构文件无结构文件即流式文件即流式文件构成文件的基本单位是构成文件的基本单位是字符字符。不划分记录,顺序访问,每次读写访问可以指定不划分记录,顺序访问,每次读写访问可以指定任意数据长度。是当前操作系统中常用的文件任意数据长度。是当前操作系统中常用的文件组织

15、。组织。如源程序、库函数等。如源程序、库函数等。二、顺序文件二、顺序文件1.逻辑记录的排序逻辑记录的排序串结构:根据记录生成的先后顺序排列。串结构:根据记录生成的先后顺序排列。顺序结构:记录按关键字排列。顺序结构:记录按关键字排列。2.对顺序文件的读或写操作对顺序文件的读或写操作若顺序文件中的若顺序文件中的记录是定长的记录是定长的,则有当前记录的逻,则有当前记录的逻辑地址,就可得出下一记录的逻辑地址。辑地址,就可得出下一记录的逻辑地址。设读指针为设读指针为Rptr,则,则Rptr:=Rptr+L(L为记录长度);为记录长度);写指针为写指针为Wptr,则,则Wptr:=Wptr+L而在而在变长

16、记录文件变长记录文件中,中,L要换成要换成Li,为刚读(写)完,为刚读(写)完记录的长度。记录的长度。图图 6-3 定长和变长记录文件定长和变长记录文件 每个记录前面用每个记录前面用每个记录前面用每个记录前面用1 1个单元存放记录长度个单元存放记录长度个单元存放记录长度个单元存放记录长度3顺序文件的优缺点顺序文件的优缺点优点:优点:批量存取时效率高,可存储在磁带上;批量存取时效率高,可存储在磁带上;对定长记录,还可方便实现直接存取。对定长记录,还可方便实现直接存取。缺点:缺点:对变长记录,直接存取低效,对某一记录操作时,查对变长记录,直接存取低效,对某一记录操作时,查找费时多;找费时多;增加或

17、删除记录时,实现困难。增加或删除记录时,实现困难。三、索引文件三、索引文件n 引入引入: :为解决变长记录文件的直接存取低效问题。为解决变长记录文件的直接存取低效问题。n 对于顺序结构文件,若是定长记录,则第对于顺序结构文件,若是定长记录,则第i i个的位置个的位置可看作可看作Ai=iLAi=iL;而若是变长记录,则需而若是变长记录,则需 n 解决方法:解决方法:为为变长记录变长记录建立一张建立一张索引表索引表,每个记录在,每个记录在索引表中占一项,索引表中占一项,如图如图。索引项按照记录中的某个关键字索引项按照记录中的某个关键字域排序,索引表本身是一个定长记录的顺序文件域排序,索引表本身是一

18、个定长记录的顺序文件,易于直,易于直接存取某一项。接存取某一项。n 检索过程:检索过程: 根据提供的关键字值,查找索引表(可用顺序或折根据提供的关键字值,查找索引表(可用顺序或折半等方法)。半等方法)。 找到该记录对应的表项,根据指向记录的指针值访找到该记录对应的表项,根据指向记录的指针值访问记录。问记录。优点优点:记录大小不必相同,不必排序,索引文件记录大小不必相同,不必排序,索引文件的记录项通常较小,查找速度快,便于随机访问的记录项通常较小,查找速度快,便于随机访问(random access)(random access);易于进行文件的增删易于进行文件的增删。缺点:缺点:索引表的存在,

19、占用了存储空间。索引表的存在,占用了存储空间。图图 6-4 索引文件的组织索引文件的组织 四、索引顺序文件四、索引顺序文件将所有记录分为将所有记录分为若干组若干组,建立一张索引表,表,建立一张索引表,表项中项中记录每组中第一条记录的信息记录每组中第一条记录的信息,如该记录的,如该记录的关键字值、指向该记录的指针。关键字值、指向该记录的指针。每一组和整个大文件都应是按每一组和整个大文件都应是按关键字关键字顺序排列顺序排列的的。检索过程:检索过程:根据提供的关键字值,先查找索引表(可用顺序或折根据提供的关键字值,先查找索引表(可用顺序或折半等方法)。半等方法)。找到该记录所在记录组的第一个记录的表

20、项,读相关找到该记录所在记录组的第一个记录的表项,读相关表项,找到该记录在文件中的位置。表项,找到该记录在文件中的位置。再顺序查找文件,以得到要找的记录。再顺序查找文件,以得到要找的记录。索引顺序文件即把原顺序文件分组、分级,可减索引顺序文件即把原顺序文件分组、分级,可减少查找次数。若记录个数很多时,也可建立多级少查找次数。若记录个数很多时,也可建立多级索引,把索引表文件再建立索引表。索引,把索引表文件再建立索引表。索引文件与索引顺序文件的区别索引文件与索引顺序文件的区别在于在于索引文件中索引文件中主文件不排序。主文件不排序。6.6.直接文件和哈希文件直接文件和哈希文件直接文件直接文件:根据记

21、录键值,直接获得指定记录:根据记录键值,直接获得指定记录的物理地址。的物理地址。n 问题:如何实现键值到物理地址的转换?问题:如何实现键值到物理地址的转换?一种实现方式:哈希文件一种实现方式:哈希文件 记录位置由哈希函数确定。检索时给出记录编记录位置由哈希函数确定。检索时给出记录编号,通过哈希函数计算出该记录在文件中的相对号,通过哈希函数计算出该记录在文件中的相对位置。要求记录大小相同。位置。要求记录大小相同。n访问速度快。访问速度快。8.3 8.3 外存分配方式外存分配方式为文件分配外存的时候要考虑:为文件分配外存的时候要考虑:有效地利用外存空间有效地利用外存空间提高对文件的访问速率提高对文

22、件的访问速率常用的外存分配方法有:常用的外存分配方法有:连续分配连续分配链接分配链接分配索引分配索引分配一个系统通常采用一种分配方式一个系统通常采用一种分配方式.一、连续分配一、连续分配为每一个文件分配一组为每一个文件分配一组相邻接相邻接的盘块。通常位的盘块。通常位于一个磁道上。操作时,磁头较少移动。于一个磁道上。操作时,磁头较少移动。将逻辑文件中的记录顺序地存储到邻接的各物将逻辑文件中的记录顺序地存储到邻接的各物理盘块中,形成的物理文件称为理盘块中,形成的物理文件称为“顺序文件顺序文件”。顺序文件保证了逻辑文件中的记录顺序与存储顺序文件保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的

23、一致性。器中文件占用盘块的顺序的一致性。在在FCB中记录该文件第一个记录所在的盘块号中记录该文件第一个记录所在的盘块号和文件长度(盘块数)。和文件长度(盘块数)。countcount311457282420161283291317212529610141822263011151923270mailmaillistlistf ftrtr目录Filecounttrmaillistfstart01419286length23642图图6-7 磁盘空间的连续分配磁盘空间的连续分配长时间使用后,出现外存的长时间使用后,出现外存的外部碎片外部碎片。可以通过。可以通过紧凑紧凑将外存空闲空间合并成连续的区域。

24、将外存空闲空间合并成连续的区域。优点:优点:1)支持顺序访问和直接访问。)支持顺序访问和直接访问。2)顺序访问速度快,所需的磁盘寻道次数和)顺序访问速度快,所需的磁盘寻道次数和寻道时间最少。寻道时间最少。缺点:缺点:1)要求连续的存储空间,有碎片产生。)要求连续的存储空间,有碎片产生。2)须事先知道文件的长度,预留空间)须事先知道文件的长度,预留空间:浪费。浪费。二、链接分配二、链接分配一种离散的分配方式。一种离散的分配方式。指将文件装到多个指将文件装到多个离散的离散的盘块中,通过在每个盘块中,通过在每个盘块上的盘块上的链接指针链接指针,将同属于一个文件的多个,将同属于一个文件的多个离散的盘块

25、链接成一个链表。这样形成的物理离散的盘块链接成一个链表。这样形成的物理文件称为文件称为“链接文件链接文件”。类型:类型:隐式链接隐式链接显式链接显式链接1.1.隐式链接:隐式链接:n每个盘块中都有指向下一个盘块的指针。每个盘块中都有指向下一个盘块的指针。n文件目录的目录项中含有指向链接文件第一个盘文件目录的目录项中含有指向链接文件第一个盘块和最后一个盘块的指针。块和最后一个盘块的指针。如图:如图:n优点优点:提高了磁盘空间利用率:提高了磁盘空间利用率, ,不存在外部碎片不存在外部碎片问题;有利于文件插入和删除;有利于文件动态问题;有利于文件插入和删除;有利于文件动态扩充。扩充。n缺点缺点:n存

26、取速度慢,不适于随机存取;存取速度慢,不适于随机存取;n可靠性可靠性较差较差,如指针出错;,如指针出错;n更多的寻道次数和寻道时间;更多的寻道次数和寻道时间;n链接指针占用一定的空间。链接指针占用一定的空间。2218141062312723191511730481216202428159131721252930261 110101616-1-12525目录File start endjeep 9 25图图6 68 8磁盘空间的链接式分配磁盘空间的链接式分配磁盘空间的链接式分配磁盘空间的链接式分配2. 2. 显式链接显式链接将链接文件各物理块的指针,显式地存放在将链接文件各物理块的指针,显式地存

27、放在内存内存的一的一张链接表中,张链接表中,该表也称为该表也称为FAT(文件分配表)。(文件分配表)。整个磁盘有一张链接表。整个磁盘有一张链接表。表项序号为物理盘块号,表表项序号为物理盘块号,表项中存放链接指针,即同一项中存放链接指针,即同一文件的下一盘块号。每个文文件的下一盘块号。每个文件的链首盘块号记入件的链首盘块号记入FCB中。中。它它常驻内存常驻内存,以提高检索速,以提高检索速度,减少了访问磁盘的次数。度,减少了访问磁盘的次数。(如(如DOS)缺点缺点:不能高效地直接存:不能高效地直接存取;取;FAT需占较大的内存空需占较大的内存空间间(数兆以上数兆以上)。FCBFAT物理块号物理块号

28、012345图图 6-9 6-9 显式链接结构显式链接结构MS-DOS的文件物理结构的文件物理结构如图:每个文件的第一个盘如图:每个文件的第一个盘块号放在自己的块号放在自己的FCB中。整中。整个系统有一张文件分配表个系统有一张文件分配表FAT。在。在FAT的每一个表项的每一个表项中存放下一个盘块号。中存放下一个盘块号。对于对于1.2MB1.2MB的软盘,盘块的大的软盘,盘块的大小为小为KBKB,每个,每个FATFAT表项占表项占1212位,在每个位,在每个FATFAT中共含有中共含有1.2K1.2K个表项,共需个表项,共需1.8KB1.8KB。而对。而对200MB200MB的硬盘,共含的硬盘,

29、共含200K200K个盘个盘块,如果块,如果FATFAT的每个表项需的每个表项需2.52.5个字节,需占用个字节,需占用500KB500KB。FCB AFCB BFAT6 65 5EOFEOFEOFEOF1010111101234567891011三、索引分配三、索引分配 1. 1.单级索引分配:单级索引分配:n 一个文件的信息存放在若干不连续物理块中,为每个一个文件的信息存放在若干不连续物理块中,为每个文件建立一个文件建立一个专用数据结构专用数据结构索引块(表)索引块(表),用来记录,用来记录分配给该文件的所有盘块号。在文件的分配给该文件的所有盘块号。在文件的FCBFCB中填入指向该中填入指

30、向该索引块的指针。索引块的指针。如图如图:n 文件由数据文件和索引表组成,称为文件由数据文件和索引表组成,称为索引文件索引文件。n 对文件进行操作时,通过对文件进行操作时,通过FCBFCB得到索引块的块号,读得到索引块的块号,读索引块中的内容即可找到该文件在硬盘中的位置。索引块中的内容即可找到该文件在硬盘中的位置。n 优点优点:即能顺序存取:即能顺序存取, ,又能直接存取;所占盘块不连又能直接存取;所占盘块不连续,是一种离散分配方式,不产生外部碎片;。续,是一种离散分配方式,不产生外部碎片;。n 缺点缺点:索引表本身带来了系统开销,当文件较小时,:索引表本身带来了系统开销,当文件较小时,是一种

31、外存空间的浪费。是一种外存空间的浪费。图 6-11 索引分配方式 索引块索引块索引块索引块号号 2. 2. 多级索引多级索引对于大文件,需设置多个索引块,若索引块太多,对于大文件,需设置多个索引块,若索引块太多,要对索引块进行索引,即二级索引;可依次到多要对索引块进行索引,即二级索引;可依次到多级索引。级索引。例:例:索引块盘块大小索引块盘块大小1KB,每个盘块号占,每个盘块号占4个个字节,则一个索引块中可存放字节,则一个索引块中可存放256个盘块号。个盘块号。采用采用两级索引两级索引时,每个文件能够存放的最多时,每个文件能够存放的最多盘块数为盘块数为256264K,即文件最大长度为,即文件最

32、大长度为64K*1KB=64MB。图 6-12 两级索引分配3. 3. 混合分配方式:混合分配方式:将多种分配方式相结合。将多种分配方式相结合。 如如UNIX UNIX 系统系统中,共设中,共设1313个地址项:个地址项:1 1)直接地址)直接地址:索引结点中设置一些直接地址项,存放:索引结点中设置一些直接地址项,存放直接地址(该文件占有盘块的盘块号)。如直接地址(该文件占有盘块的盘块号)。如UNIXUNIX中的中的iaddr(0)iaddr(0) iaddr(9)iaddr(9),若每个盘块大小为,若每个盘块大小为4KB4KB,则文件,则文件不大于不大于40KB40KB时,可直接读出盘块号。

33、时,可直接读出盘块号。2 2)一次间接地址)一次间接地址:大、中型文件使用。可用:大、中型文件使用。可用iaddr(10)iaddr(10)提供一次间接地址。即存储索引块的盘块号。提供一次间接地址。即存储索引块的盘块号。设每个盘块号占设每个盘块号占4B4B,则一索引块可存储,则一索引块可存储1K1K个盘块号。个盘块号。标识的文件长度可到标识的文件长度可到4MB4MB3 3)多次间接地址)多次间接地址:当文件长度大于:当文件长度大于4MB+40KB4MB+40KB时,用时,用iaddr(11)iaddr(11)提供二次间接地址,文件长度可达提供二次间接地址,文件长度可达4GB4GB,用,用iad

34、dr(12)iaddr(12)提供三次间接地址,文件长度到提供三次间接地址,文件长度到4TB4TB。图 6-13 混合索引方式 8.4 目录管理 文件目录最基本功能:文件目录最基本功能:将文件名转换为该文件将文件名转换为该文件在外存的物理地址。在外存的物理地址。 目录管理实现如下功能:目录管理实现如下功能:1 1)“按名存取按名存取”:最基本的功能:最基本的功能2 2)提高对目录的检索速度,以加快对文件的)提高对目录的检索速度,以加快对文件的存取速度存取速度3 3)文件共享)文件共享4 4)允许文件重名)允许文件重名一、文件控制块和索引结点一、文件控制块和索引结点 为能对一个文件进行正确的存取

35、,必须为文为能对一个文件进行正确的存取,必须为文件设置件设置文件控制块(文件控制块(FCBFCB) 。 文件控制块文件控制块用于描述和控制文件。用于描述和控制文件。 一个一个FCBFCB对应一个文件。对应一个文件。 文件目录即为文件目录即为FCBFCB的集合。文件目录也被看作的集合。文件目录也被看作一个文件,即目录文件。一个文件,即目录文件。1、文件控制块(文件控制块(FCBFCB)在在FCB中常有三类信息:中常有三类信息:1)基本信息基本信息:文件名、物理位置(:文件名、物理位置(设备名、盘设备名、盘块号、指示文件所占用磁盘块数或字节数的文块号、指示文件所占用磁盘块数或字节数的文件长度件长度

36、)、逻辑结构、物理结构。)、逻辑结构、物理结构。2)存取控制信息存取控制信息:文件主的存取权限、核准用:文件主的存取权限、核准用户的存取权限、一般用户的存取权限。户的存取权限、一般用户的存取权限。3)使用信息类使用信息类:文件的建立日期和时间、文件:文件的建立日期和时间、文件上一次修改的日期和时间、当前使用信息。上一次修改的日期和时间、当前使用信息。2 2、索引结点、索引结点 1 1)引入:)引入:n 文件目录存于磁盘,当文件很多时,文件目录可文件目录存于磁盘,当文件很多时,文件目录可能占用大量盘块。查找时调入内存中。能占用大量盘块。查找时调入内存中。n 检索目录的过程只是一个匹配文件名的过程

37、,不检索目录的过程只是一个匹配文件名的过程,不需要其它信息。需要其它信息。n 为减少读进内存的信息量,可为减少读进内存的信息量,可把文件名与文件描把文件名与文件描述信息分开述信息分开;把文件描述信息单独形成一个称为;把文件描述信息单独形成一个称为索索引结点的数据结构,简称引结点的数据结构,简称i i结点结点。而文件目录项中则。而文件目录项中则包括包括文件名文件名和和指向指向i i结点的指针结点的指针。nUNIXUNIX系统中,一个目录项系统中,一个目录项1616字节,字节,1414字节为文件字节为文件名名,2,2字节为结点指针。字节为结点指针。UNIXUNIX的文件目录的文件目录 文件名文件名

38、索引结点编号索引结点编号文件名文件名1文件名文件名22)磁盘索引结点)磁盘索引结点:指存放在磁盘上的索引结点。指存放在磁盘上的索引结点。每个文件对应唯一的磁盘索引结点,包括:文件主标识、每个文件对应唯一的磁盘索引结点,包括:文件主标识、文件类型(正规文件、目录文件、特别文件)、文件存取文件类型(正规文件、目录文件、特别文件)、文件存取权限、文件物理位置、文件长度、文件连接计数、文件存权限、文件物理位置、文件长度、文件连接计数、文件存取时间取时间.3)内存索引结点:)内存索引结点:存放在内存的索引结点。存放在内存的索引结点。文件打开时,将磁盘索引结点复制到内存。增加的内容文件打开时,将磁盘索引结

39、点复制到内存。增加的内容有:索引结点编号、状态、访问计数、所在设备的逻辑设有:索引结点编号、状态、访问计数、所在设备的逻辑设备号、链接指针。备号、链接指针。二、目录结构二、目录结构常用的目录结构形式有常用的目录结构形式有单级目录单级目录、两级目录两级目录和和多多级目录级目录。1. 1. 单级目录结构:单级目录结构:在在整个系统整个系统中只建立中只建立一张目录表一张目录表,每个文件分配一个目录项每个文件分配一个目录项。文件名文件名物理地址物理地址文件说明文件说明状态位状态位文件名文件名1文件名文件名2图 6-16 单级目录 该目录该目录项是否项是否空闲空闲目录操作目录操作创建文件:创建文件:查看

40、所有目录项,当新文件名唯一时,查看所有目录项,当新文件名唯一时,找出一空目录项,填写,并置状态位为找出一空目录项,填写,并置状态位为1。删除文件删除文件:查找到该文件的目录项,回收物理块,:查找到该文件的目录项,回收物理块,清除目录项(状态位置清除目录项(状态位置0)。)。优点优点:结构简单,能实现按名存取。:结构简单,能实现按名存取。缺点缺点:查找速度慢;不允许重名;不便于实现文件:查找速度慢;不允许重名;不便于实现文件共享(不允许以不同名字访问同一文件)共享(不允许以不同名字访问同一文件)主要用于主要用于单用户单用户操作系统。操作系统。2. 2. 两级目录:两级目录:将目录分为将目录分为主

41、文件目录主文件目录(MFDMFD)和和用户文件目录用户文件目录(UFDUFD)两级。用户文件目录由该用户所有的文件的两级。用户文件目录由该用户所有的文件的FCBFCB组成。在主目录下,每个用户对应一个目录项,在组成。在主目录下,每个用户对应一个目录项,在用户目录下不再有下级目录。用户目录下不再有下级目录。目录操作目录操作建立目录建立目录:若用户可以请求系统建立自己的用户文若用户可以请求系统建立自己的用户文件目录件目录UFDUFD,若在其上建立新文件,则检查该用户的,若在其上建立新文件,则检查该用户的UFDUFD,在不重名的情况下建立一新目录项,填写属性,在不重名的情况下建立一新目录项,填写属性

42、,置状态位为置状态位为1 1。删除目录删除目录:若用户不需要若用户不需要UFDUFD,可请求系统将其撤销。,可请求系统将其撤销。首先检索该用户的首先检索该用户的UFDUFD,回收物理块,置状态位为,回收物理块,置状态位为0 0。优点优点:检索目录速度快;解决了:检索目录速度快;解决了“重名重名”问题;不问题;不同用户可用不同文件名共享系统中的同一文件。同用户可用不同文件名共享系统中的同一文件。缺点缺点:增加了系统开销。增加了系统开销。适用于多用户系统,各用户可有自己的专用目录。适用于多用户系统,各用户可有自己的专用目录。3. 3. 多级目录结构(树型目录结构)多级目录结构(树型目录结构) 1

43、1) 目录结构:目录结构:适用于适用于较大的文件系统较大的文件系统管理管理。常包常包括三级或三级以上的文件目录。根、结点、树叶。括三级或三级以上的文件目录。根、结点、树叶。允许一个目录文件中的目录项,既能作为目录文件允许一个目录文件中的目录项,既能作为目录文件的的FCBFCB,又能作为数据文件的,又能作为数据文件的FCBFCB。如图如图: 2 2)路径名:)路径名:从根目录到数据文件之间的唯一通路从根目录到数据文件之间的唯一通路(绝对路径绝对路径) 3 3)当前目录()当前目录(工作目录);工作目录);相对路径相对路径 4 4)增加和删除目录)增加和删除目录n 增加:查找自己的增加:查找自己的

44、UFDUFD,不重名则可增加一项不重名则可增加一项n 删除:不删除非空目录;可删除非空目录删除:不删除非空目录;可删除非空目录图 6-18 多级目录结构 多级目录结构多级目录结构优点:优点:层次结构清晰,便于管理和保护;层次结构清晰,便于管理和保护;有利于文件分类;有利于文件分类;解决重名问题;解决重名问题;提高文件检索速度;提高文件检索速度;能进行存取权限的控制。能进行存取权限的控制。 缺点:缺点: 查找一个文件按路径名逐层检查,由于每个文件都放在查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度。外存,多次访盘影响速度。三、目录查询技术三、目录查询技术n目录的检索过程:

45、目录的检索过程:1 1)利用用户提供的文件名,查找文件目录,找到)利用用户提供的文件名,查找文件目录,找到FCBFCB、i i结点。结点。2 2)找到文件的物理地址)找到文件的物理地址3 3)启动磁盘驱动程序,将文件读入内存)启动磁盘驱动程序,将文件读入内存n目录的查询方式:目录的查询方式:线性检索法线性检索法和和HashHash法法线性检索法即顺序检索法。在树型文件目录中需线性检索法即顺序检索法。在树型文件目录中需多次使用线性检索。(对于路径中的一个分量使多次使用线性检索。(对于路径中的一个分量使用一次)用一次)查找查找/usr/ast/mbox的步骤的步骤 8.58.5 文件存储空间的管理

46、文件存储空间的管理即对即对空闲空闲存储空间的管理。存储空间的管理。包括:包括:使用某种数据结构记录存储空间的使用情况;使用某种数据结构记录存储空间的使用情况;提供分配和回收算法。提供分配和回收算法。存储空间以存储空间以磁盘块磁盘块为单位进行分配。为单位进行分配。一、空闲表法一、空闲表法系统中保存一张系统中保存一张空闲表空闲表,每一个外存空闲区对应,每一个外存空闲区对应空闲表中的一个表项。包括:序号、空闲区的第空闲表中的一个表项。包括:序号、空闲区的第一个盘块号、该区的空闲盘块数等。所有空闲区一个盘块号、该区的空闲盘块数等。所有空闲区按起始盘块号递增次序排列按起始盘块号递增次序排列,形成空闲盘块

47、表。,形成空闲盘块表。存储空间的分配和回收存储空间的分配和回收:使用空闲表对外存分配使用空闲表对外存分配和回收和回收与内存的动态分区分配相似与内存的动态分区分配相似。分配算法可。分配算法可有有首次适应、循环首次适应、最佳、最坏首次适应、循环首次适应、最佳、最坏分配算分配算法。回收时也要考虑将邻接的区域进行合并。法。回收时也要考虑将邻接的区域进行合并。空闲表法属于空闲表法属于连续分配方式连续分配方式,读、写速度快,但,读、写速度快,但有碎片产生。有碎片产生。图图 6-20 空闲盘块表空闲盘块表 序号序号第一空闲盘块号第一空闲盘块号空闲盘块数空闲盘块数12429331554二、空闲链表法二、空闲链

48、表法将空闲盘区拉成一条空闲链将空闲盘区拉成一条空闲链1.1.空闲盘块链:空闲盘块链:以以盘块为基本元素盘块为基本元素拉成一条链(每盘拉成一条链(每盘块中拿出几个字节记录下一空闲盘块号)。分配时,块中拿出几个字节记录下一空闲盘块号)。分配时,从链首依次摘取所需个数;释放时,依次链入链尾从链首依次摘取所需个数;释放时,依次链入链尾. .n优点:分配、回收简单优点:分配、回收简单n缺点:空闲盘块链可能很长缺点:空闲盘块链可能很长2.2.空闲盘区链:空闲盘区链:以以空闲盘区(可包括多个盘块)为基空闲盘区(可包括多个盘块)为基本元素本元素拉成一条链,每个盘区中有指示下一盘区的指拉成一条链,每个盘区中有指

49、示下一盘区的指针及本盘区大小的信息。分配时,常用首次适应算法。针及本盘区大小的信息。分配时,常用首次适应算法。回收时也要考虑合并。回收时也要考虑合并。 也可使用显示链接方式,即在内存中为空闲盘区建也可使用显示链接方式,即在内存中为空闲盘区建立一张链表。立一张链表。三、位示图法三、位示图法1.1.位示图:利用位示图:利用二进制的一位表示磁盘中一个盘块的使用二进制的一位表示磁盘中一个盘块的使用情况情况。0 0表示空闲,表示空闲,1 1表示已用。表示已用。如图如图一个磁盘的总块数确定后,一个磁盘的总块数确定后,根据总块数决定位示图由多少字根据总块数决定位示图由多少字组成组成。如上图为用字长为。如上图

50、为用字长为16位的字构造的位示图。则位示位的字构造的位示图。则位示图的大小为:总块数图的大小为:总块数/16.2.盘块分配:盘块分配:1)顺序扫描位示图,找到一个或一组值为)顺序扫描位示图,找到一个或一组值为0的二进制位的二进制位2)将二进制位)将二进制位转换转换为相对应的盘块号为相对应的盘块号3)修改位示图,由)修改位示图,由0变为变为1第(第(i,j)位置对应的盘块号为:位置对应的盘块号为:b=n(i-1)+j3盘块回收:盘块回收:1)将盘块号转为位示图中的行、列号)将盘块号转为位示图中的行、列号2)修改位示图,将)修改位示图,将1改为改为0若回收的盘块号为若回收的盘块号为b,则,则i=(

51、b-1)divn+1;j=(b-1)divn+1优点:优点:位示图较小,可保存在内存中。查找、改写快捷。位示图较小,可保存在内存中。查找、改写快捷。缺点:缺点:需要位示图的行、列和盘块号之间的相互转换。需要位示图的行、列和盘块号之间的相互转换。四、成组链接法四、成组链接法对于大型文件系统对于大型文件系统, ,上述方法都不太合适。空闲表法和上述方法都不太合适。空闲表法和空闲链法结合空闲链法结合-成组链接法成组链接法。 成组链接法兼备了上述两种方法的优点而克服了两种方成组链接法兼备了上述两种方法的优点而克服了两种方法表太长的缺点。法表太长的缺点。 1. 1.空闲盘块的组织空闲盘块的组织1 1)空闲

52、盘块号栈空闲盘块号栈:存放当前可用的一组空闲盘块的盘:存放当前可用的一组空闲盘块的盘块号及栈中尚有的空闲盘块号数块号及栈中尚有的空闲盘块号数N N(N N可用作栈顶指针)可用作栈顶指针), ,栈为临界资源栈为临界资源. .2 2)所有空闲盘块分成若干个组所有空闲盘块分成若干个组: : 如每如每100100个盘块为一个盘块为一组。一般按盘块号从后往前分组。最末一组为组。一般按盘块号从后往前分组。最末一组为9999个。个。其余每组其余每组100100个。第一组可能不足个。第一组可能不足100100个。个。成组链接法(续)成组链接法(续)3)将每一组的盘块总数)将每一组的盘块总数N及盘块号记入其前一

53、及盘块号记入其前一组的第一个盘块中的组的第一个盘块中的S.free(0)S.free(99)4)第一组的)第一组的N值和盘块号记入空闲盘块号栈。值和盘块号记入空闲盘块号栈。作为当前可供分配的空闲盘块号。作为当前可供分配的空闲盘块号。5)最末一组为)最末一组为99个,则倒数第二组的第一盘块个,则倒数第二组的第一盘块中的中的S.free(1)S.free(99)记录盘块号,记录盘块号,S.free(0)存放存放0,为空闲盘块链的结束标记。,为空闲盘块链的结束标记。图图示示成组链接法(续)成组链接法(续)2 2 分配、回收分配、回收1 1)分配分配:由盘块分配过程完成。:由盘块分配过程完成。将空闲盘

54、块总数将空闲盘块总数N-1N-1,并将并将N N值做为指针,从空闲值做为指针,从空闲盘块号栈中相应位置取一空闲盘块号,将其对应盘盘块号栈中相应位置取一空闲盘块号,将其对应盘块分配;块分配;N N减减1 1,重复。直至,重复。直至N-1N-1的结果为的结果为0 0。此时,表示只。此时,表示只有一个空闲盘块。而此盘块中记录了下一组的空闲有一个空闲盘块。而此盘块中记录了下一组的空闲盘块数和盘块号。因此不能直接分配出去。盘块数和盘块号。因此不能直接分配出去。调用磁盘读过程,将该盘块中的内容读入,做为调用磁盘读过程,将该盘块中的内容读入,做为新的盘块号栈的内容。新的盘块号栈的内容。再将此盘块分配出去。再

55、将此盘块分配出去。2)回收回收:由盘块回收过程完成。:由盘块回收过程完成。将回收的盘块号记入空闲盘块号栈顶部,并将回收的盘块号记入空闲盘块号栈顶部,并N+1;当当N达到达到100时,表示已构成一组。再有盘块回时,表示已构成一组。再有盘块回收时,将这些盘块数和盘块号记入新回收的盘收时,将这些盘块数和盘块号记入新回收的盘块中,且此新盘块作为新一组的栈底,并设块中,且此新盘块作为新一组的栈底,并设N=1。成组链接法(续)成组链接法(续)S.free09899300299201100栈内空闲盘块号数。也可作为指针20179997801790099100100最后一组的盘块数和盘块号记入7900块中;第

56、二组的信息记入300块中,第一组的信息记入空闲盘块号栈中3007901将每一组的盘块总数N及盘块号记入其前一组的第一个盘块中100100300299202201空闲盘空闲盘块号栈块号栈S.free01989910010030029920140039930179007899780179997901.1001004009999079017999图图6-22 空闲盘块的成组链接法空闲盘块的成组链接法399301举举例例S.free2 2300299空闲盘空闲盘块号栈块号栈019899100100300299201400399301500499401599501.1001004001001000501

57、599当前空闲块的状态当前空闲块的状态399301成组链接法管理空闲空间时:成组链接法管理空闲空间时:l该磁盘中目前还有多少个空闲盘块;该磁盘中目前还有多少个空闲盘块;l请简述磁盘块的分配过程;请简述磁盘块的分配过程;l在为某个文件分配在为某个文件分配3个盘块后,系统要删除另一个盘块后,系统要删除另一文件,并回收它所占的文件,并回收它所占的5个盘块,它们的盘块号个盘块,它们的盘块号依次为依次为700、711、703、788、701,请画出回收,请画出回收后的盘块链接情况。后的盘块链接情况。S.free4 4711703空闲盘空闲盘块号栈块号栈01989910010071171170370370

58、1701400399700500499401599501.1001004001001000501599删除文件删除文件B后的当前空闲块链接情况后的当前空闲块链接情况3997003027887887887018.6文件共享与文件保护文件共享与文件保护File Sharing & File Protection 现代计算机系统中存放了大量文件。其中,有些文件可供现代计算机系统中存放了大量文件。其中,有些文件可供许多用户共享。为此,现代操作系统必须提供文件共享功能。许多用户共享。为此,现代操作系统必须提供文件共享功能。 文件共享:文件共享:即系统允许多个用户(进程)共享同一份文件。即系统允许多个用户

59、(进程)共享同一份文件。则在系统中只需保留一份文件的副本,节省存储空间。则在系统中只需保留一份文件的副本,节省存储空间。现代常用的文件共享方法有:现代常用的文件共享方法有:基于基于索引结点索引结点的共享方式的共享方式和和利用利用符号链符号链实现文件共享实现文件共享。一、基于索引结点的共享方式一、基于索引结点的共享方式共享时,要将共享文件或子目录链接到两个或多个用户共享时,要将共享文件或子目录链接到两个或多个用户的目录中,则不再是树型结构,而称为有向非循环图。的目录中,则不再是树型结构,而称为有向非循环图。CCBCACBBBCCC?CBA根目录 图图6-23 包含有共享文件的文件系统包含有共享文

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

61、24基基于于索索引引结结点点的的共共享享方方式式Owner=ccount=1Owner=ccount=2Owner=ccount=1C的目录B的目录C的目录B的目录链接前建立链接后拥有者删除文件后图图6-25 进程进程B链接前后的情况链接前后的情况问题:问题:每一用户的文件目录中都有每一用户的文件目录中都有指向共享文件索引结点的指针,若指向共享文件索引结点的指针,若文件主将该文件删除,则其它用户文件主将该文件删除,则其它用户的指针将悬空,导致操作失败。的指针将悬空,导致操作失败。二、利用符号链实现文件共享二、利用符号链实现文件共享(FileSharingUsingSymbolicLinking

62、) 需共享时,创建一需共享时,创建一LinkLink型的新文件型的新文件,内容为被链接文件的,内容为被链接文件的路径名路径名。称这样的链接方式为符号链接。对共享文件操作时,。称这样的链接方式为符号链接。对共享文件操作时,OSOS根据根据LinkLink型新文件中的路径去读该文件,实现共享。型新文件中的路径去读该文件,实现共享。 只有文件主拥有指向其索引结点的指针;其它用户只有只有文件主拥有指向其索引结点的指针;其它用户只有该文件的路径名。该文件的路径名。 缺点:缺点: 根据路径查找共享文件的开销较大;根据路径查找共享文件的开销较大; 要建立一新链接文件,相应也要有索引结点,消费一定要建立一新链

63、接文件,相应也要有索引结点,消费一定磁盘空间。磁盘空间。 优点:优点:只要提供地址的文件都可共享。只要提供地址的文件都可共享。影响文件安全性的主要因素:影响文件安全性的主要因素:(1)人为因素。)人为因素。(2)系统因素。)系统因素。(3)自然因素。)自然因素。确保文件系统安全性的措施:确保文件系统安全性的措施:(1)通过)通过存取控制存取控制机制来防止由人为因素所造成的文件机制来防止由人为因素所造成的文件不安全性;不安全性;(2)通过系统)通过系统容错技术容错技术,来防止系统部分的故障所造成,来防止系统部分的故障所造成的文件不安全性;的文件不安全性;(3)通过)通过“后备系统后备系统”来防止

64、由自然因素所造成的不安来防止由自然因素所造成的不安全性。全性。三、磁盘容错技术三、磁盘容错技术(DiskFaultToleranceTechnology) 磁盘容错技术磁盘容错技术是通过是通过增加冗余的磁盘驱动器、磁盘控制器等增加冗余的磁盘驱动器、磁盘控制器等方法,来提高磁盘系统可靠性方法,来提高磁盘系统可靠性的一种技术。即当磁盘系统的某的一种技术。即当磁盘系统的某部分出现缺陷性故障时,磁盘仍能正常工作,且不致造成数据部分出现缺陷性故障时,磁盘仍能正常工作,且不致造成数据的丢失或错误。的丢失或错误。 磁盘容错技术往往也称为磁盘容错技术往往也称为系统容错技术系统容错技术SFT (System F

65、ault Tolerance)。分。分 为三个级别:为三个级别:SFTSFTI I是低级磁盘容错技术,主要用于是低级磁盘容错技术,主要用于防止磁盘表面发生防止磁盘表面发生缺陷所引起的数据丢失缺陷所引起的数据丢失;SFTSFTIIII是中级磁盘容错技术,主要用于是中级磁盘容错技术,主要用于防止磁盘驱动器和防止磁盘驱动器和磁盘控制器故障所引起的系统不能正常工作磁盘控制器故障所引起的系统不能正常工作SFTSFTIIIIII是高级系统容错技术。是高级系统容错技术。1.第一级容错技术第一级容错技术SFT-1 一、双份目录和双份文件分配表一、双份目录和双份文件分配表在磁盘上存放的文件目录和文件分配表在磁盘

66、上存放的文件目录和文件分配表FAT,记录了文,记录了文件的属性、文件在磁盘上的物理地址等重要数据。如果这些件的属性、文件在磁盘上的物理地址等重要数据。如果这些表格被破坏,将导致磁盘上的部分或全部文件成为不可访问表格被破坏,将导致磁盘上的部分或全部文件成为不可访问的,等效于文件的丢失。的,等效于文件的丢失。为了防止此情况发生,可为了防止此情况发生,可在不同的磁盘上或磁盘的不同在不同的磁盘上或磁盘的不同区域中,分别建立两份目录表和区域中,分别建立两份目录表和FAT。其中,一份称为。其中,一份称为主目主目主目主目录录录录及及主主主主FATFAT;另一份则称为;另一份则称为备份目录备份目录备份目录备份

67、目录及及备份备份备份备份FATFAT。一、双份目录和双份文件分配表一、双份目录和双份文件分配表一旦由于磁盘表面缺陷而造成文件目录或一旦由于磁盘表面缺陷而造成文件目录或FAT损坏时,损坏时,系统便自动启用备份文件目录及备份系统便自动启用备份文件目录及备份FAT。从而可以保证。从而可以保证磁盘上的数据仍是可访问的,并将损坏区写入磁盘上的数据仍是可访问的,并将损坏区写入坏块表坏块表坏块表坏块表中;系中;系统还要在磁盘的其它区域再建立新的文件目录和统还要在磁盘的其它区域再建立新的文件目录和FAT,作为,作为备份。备份。在系统每次加电启动时,都要对两份目录和两份在系统每次加电启动时,都要对两份目录和两份

68、FAT进行检查,以验证它们的一致性。进行检查,以验证它们的一致性。二、热修复重定向和写后读校验二、热修复重定向和写后读校验Hot-FixRedirection&Readafter-WriteVerification 、热修复重定向、热修复重定向(Hot-Fix Redirection) 系统将一定的磁盘容量(例如系统将一定的磁盘容量(例如)作为)作为热修复重定热修复重定向区向区,用于存放当发现盘块有缺陷时的待写数据,并对写入该,用于存放当发现盘块有缺陷时的待写数据,并对写入该区的所有数据进行登记,以便于以后对数据进行访问。区的所有数据进行登记,以便于以后对数据进行访问。 2 2、写后读校验、写

69、后读校验(Read after-Write Verification)Read after-Write Verification) 每次从内存缓冲区向磁盘中写入一个数据块后,又立即每次从内存缓冲区向磁盘中写入一个数据块后,又立即从磁盘上读出该数据块,送至另一缓冲区中,再将两者比较,从磁盘上读出该数据块,送至另一缓冲区中,再将两者比较,若两者一致,则写入成功,继续;否则,再重写。若重写后若两者一致,则写入成功,继续;否则,再重写。若重写后两者仍不一致,则认为该盘块有缺陷,此时,便将应写入该两者仍不一致,则认为该盘块有缺陷,此时,便将应写入该盘块的数据,写入热修复重定向区中,并将该损坏盘块的地盘块

70、的数据,写入热修复重定向区中,并将该损坏盘块的地址,记录在坏盘块表中。址,记录在坏盘块表中。2.第二级容错技术第二级容错技术SFT-II 一、磁盘镜像一、磁盘镜像一、磁盘镜像一、磁盘镜像(DiskMirroring)(DiskMirroring)如果如果磁盘驱动器发生故障磁盘驱动器发生故障,则,则SFTI级容错便无能为力,仍可能级容错便无能为力,仍可能造成数据丢失。为了避免此情况下造成数据丢失。为了避免此情况下的数据丢失,便增设了的数据丢失,便增设了磁盘镜像磁盘镜像功功能。需在同一磁盘控制器下,再增能。需在同一磁盘控制器下,再增设一个完全相同的磁盘驱动器,如设一个完全相同的磁盘驱动器,如右图所

71、示。右图所示。每次向文件服务器的主磁盘每次向文件服务器的主磁盘写入数据后,都要采用写后读校验写入数据后,都要采用写后读校验方式,将数据再同样地写到备份磁方式,将数据再同样地写到备份磁盘上,使两个磁盘上有着完全相同盘上,使两个磁盘上有着完全相同的位像图。的位像图。图图626磁盘镜像示意图磁盘镜像示意图主主机机磁磁盘盘控控制制器器通道通道磁盘驱动器磁盘驱动器2.第二级容错技术第二级容错技术SFT-II二、磁盘双工(二、磁盘双工(二、磁盘双工(二、磁盘双工(DiskDuplexing)DiskDuplexing)在磁盘镜像中,如果在磁盘镜像中,如果磁盘控制磁盘控制器发生故障器发生故障,同样达不到保护

72、目的。,同样达不到保护目的。因此,又增加了磁盘双工功能。所因此,又增加了磁盘双工功能。所谓谓磁盘双工磁盘双工,是指将两台磁盘驱动,是指将两台磁盘驱动器分别接到两个磁盘控制器上,同器分别接到两个磁盘控制器上,同样地使这两台磁盘机镜像成对,如样地使这两台磁盘机镜像成对,如图图627所示。所示。在磁盘双工时,文件服务器同在磁盘双工时,文件服务器同时将数据写到两个处于不同控制器时将数据写到两个处于不同控制器下的磁盘上,使两者有着完全相同下的磁盘上,使两者有着完全相同的位像图。的位像图。磁盘驱动器图627磁盘双工示意图主机磁盘控制器通道磁盘控制器通道8.7数据一致性控制数据一致性控制问题:问题:在数据应

73、用中,当把一个数据分别存储到多个文件中在数据应用中,当把一个数据分别存储到多个文件中时,可能将会出现同一数据不一致性。时,可能将会出现同一数据不一致性。问题解决问题解决:配置能保证数据一致性的软件及硬件。配置能保证数据一致性的软件及硬件。保证数据一致性的硬件手段:保证数据一致性的硬件手段:高度可靠的硬盘(称为稳定存储器),高度可靠的硬盘(称为稳定存储器),采用采用冗余冗余技技术术(磁盘双工方式磁盘双工方式)可实现。可实现。保证数据一致性的软件手段:保证数据一致性的软件手段:事务事务重要数据结构的一致性检查重要数据结构的一致性检查1、事务当一个数据被分散地存放在一个文件的不同记录或当一个数据被分

74、散地存放在一个文件的不同记录或多个文件中时,可采用多个文件中时,可采用事务事务来保证该数据的一致性。来保证该数据的一致性。什么是事务?什么是事务?事务是用于事务是用于访问和修改各种数据项的一程序单位访问和修改各种数据项的一程序单位,可被看成是可被看成是一系列的读和写操作一系列的读和写操作。事务操作具有。事务操作具有原子性原子性,即对分布在不同位置的同一数据进行读和写操作全部完即对分布在不同位置的同一数据进行读和写操作全部完成后,才能终止事务。若一个失败,则成后,才能终止事务。若一个失败,则夭折夭折事务,已修事务,已修改的部分也全部恢复原来的情况。改的部分也全部恢复原来的情况。事务操作的原子性借

75、助于存放在稳定存储器中的事事务操作的原子性借助于存放在稳定存储器中的事务记录来实现(每条记录描述了事务运行中的重要操作,务记录来实现(每条记录描述了事务运行中的重要操作,如修改操作、开始操作、托付事务和夭折事务等)如修改操作、开始操作、托付事务和夭折事务等)2、重要数据结构的一致性检查、重要数据结构的一致性检查文件系统工作过程中,经常要读取磁盘块,进行修改文件系统工作过程中,经常要读取磁盘块,进行修改后再写磁盘。如果在修改过的磁盘块全部写回之前系统发后再写磁盘。如果在修改过的磁盘块全部写回之前系统发生故障,则文件系统有可能处于不一致状态。当未被写回生故障,则文件系统有可能处于不一致状态。当未被

76、写回的内容涉及到索引结点、目录或空闲盘块表等重要数据结的内容涉及到索引结点、目录或空闲盘块表等重要数据结构时,该问题会更严重。所以往往在崩溃后重新启动时,构时,该问题会更严重。所以往往在崩溃后重新启动时,运行一实用程序进行一致性的检查。运行一实用程序进行一致性的检查。盘块号的一致性检查盘块号的一致性检查链接计数的一致性检查链接计数的一致性检查小小结结文件管理的文件管理的主要任务主要任务是分配外存空间,对用户文件和系统文是分配外存空间,对用户文件和系统文件进行管理,方便用户使用,并保证文件的安全性。件进行管理,方便用户使用,并保证文件的安全性。主要目的主要目的是提高外存的使用效率和方便用户对文件

77、的使用。是提高外存的使用效率和方便用户对文件的使用。主要功能主要功能是文件存储空间的管理、文件目录的管理、文件读是文件存储空间的管理、文件目录的管理、文件读写的管理、文件共享和安全的管理。写的管理、文件共享和安全的管理。熟悉和掌握以下基本概念:熟悉和掌握以下基本概念:文件、记录、数据项、文件系统、文件目录文件、记录、数据项、文件系统、文件目录熟悉和掌握以下基本知识:熟悉和掌握以下基本知识:1文件的类型文件的类型2文件的逻辑结文件的逻辑结构构3文件的物理结构:连续结构、链接结构及索引结构文件的物理结构:连续结构、链接结构及索引结构4文件目录文件目录5磁盘空间的分配与回收磁盘空间的分配与回收(6文

78、件共享与保护文件共享与保护)典型问题分析典型问题分析1、文件、文件系统的概念?文件、文件系统的概念?答:文件是具有符号名的、在逻辑上具有完整意义的一组相关信答:文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的有序序列。息项的有序序列。文件系统是操作系统中统一管理信息资源的一种软件,管理文件系统是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。且方便用户使用。2、什么是文件目录、目录文件与当前目录?什么是文件目录、目录文件与当前目录?答:文件控制块的有序集合构成答:

79、文件控制块的有序集合构成文件目录文件目录,每个目录项是一个文,每个目录项是一个文件控制块。件控制块。为减少读进内存信息量,把为减少读进内存信息量,把文件名与文件描述信息分文件名与文件描述信息分开开;文件描述信息单独形成一个数据结构文件描述信息单独形成一个数据结构,称称索引结点索引结点。文件文件目录项目录项中包括中包括文件名文件名和和指向指向i结点的指针结点的指针.文件目录以文件的形式保存在外存空间,此文件称为文件目录以文件的形式保存在外存空间,此文件称为目录文目录文件件。目录文件是长度固定的记录式文件。目录文件是长度固定的记录式文件。系统为用户提供一个目前正在使用的工作目录,称为系统为用户提供

80、一个目前正在使用的工作目录,称为当前目录当前目录。3、从用户角度看,引入文件系统的目的从用户角度看,引入文件系统的目的_A实现虚拟存储实现虚拟存储B保存系统文档保存系统文档C保存用户和系统文档保存用户和系统文档D实现对文件的按名存取实现对文件的按名存取4、文件系统中,文件不同的物理结构有不同的优缺点,在下列文件系统中,文件不同的物理结构有不同的优缺点,在下列文件的物理结构中,文件的物理结构中,_不具有直接读写文件任意一个记不具有直接读写文件任意一个记录的能力录的能力.A顺序结构顺序结构B链接结构链接结构C索引结构索引结构DHash结构结构5、位示图可用于位示图可用于_。A.文件目录的查找文件目

81、录的查找B.磁盘空间的管理磁盘空间的管理C.主存空间的共享主存空间的共享D.实现文件的保护和保密实现文件的保护和保密6、假定盘块的大小为假定盘块的大小为1K,硬盘的大小为,硬盘的大小为500MB,采用显示链,采用显示链接分配方式时,接分配方式时,每个每个FAT表项占表项占20位,其位,其FAT需占多少存储需占多少存储空间?如果文件空间?如果文件A占用硬盘的第占用硬盘的第11、12、16、14四个盘块,四个盘块,试画出文件试画出文件A中各盘块间的链接情况及中各盘块间的链接情况及FAT的情况。的情况。DBB6.500M/1K=500K(个个)500K*2.5B=1250KBFCB11FAT物理块号

82、物理块号1201011121314151616147、有一计算机系统利用下图所示的位示图(行号、列号都是从有一计算机系统利用下图所示的位示图(行号、列号都是从0开始编号的)来管理空闲盘块。如果盘块从开始编号的)来管理空闲盘块。如果盘块从1开始编号,每个盘开始编号,每个盘块的大小为块的大小为1KB。现要为文件分配两个盘块,试具体说明分配过程。现要为文件分配两个盘块,试具体说明分配过程。若要释放磁盘的第若要释放磁盘的第300块,应如何处理?块,应如何处理?0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 150 1 2 3 4 5 1 1 1 1 1 1 1 1 1 1 1 1

83、 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 0 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 0 1 1 1 1 0 1 1 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 b=i*n+j+1i=(b-1)divnj=(b-1)modn7.答:答:(1)为某文件分配两个盘块的过程如下:顺序检索位示图,从)为某文件分配两个盘块的过程如下:顺序检索位示图,从中找到第一个值为中找到第一个值为0的二进制位,得到其行号的二进制位,得到其行号i12,列号,列号j12;第二个值为;第二个值为0的二进制位,得到其行号的

84、二进制位,得到其行号i23,列号,列号j26。计算出找到的两个空闲块的盘块号分别为:。计算出找到的两个空闲块的盘块号分别为:b1i116j112162135b2i216j213166155修改位示图,令修改位示图,令Map2,2Map3,61,并将对应块,并将对应块35、55分配出去。分配出去。(2)释放磁盘的第)释放磁盘的第300块时,应进行如下处理:块时,应进行如下处理:计算出磁盘第计算出磁盘第300块所对应的二进制位的行号块所对应的二进制位的行号i和列号和列号j:i(3001)/1618,j(3001)Mod1611修改位示修改位示图,令图,令Map18,11=0,表示对应块为空闲块。,

85、表示对应块为空闲块。本章练习1、使用文件系统时,为什么通常要显式地进行使用文件系统时,为什么通常要显式地进行OPEN、CLOSE操作操作?2、设某系统磁盘共有、设某系统磁盘共有1600块,块号从块,块号从0-1599,若用位示,若用位示图管理这图管理这1600块磁盘空间(假设字长为块磁盘空间(假设字长为16),问位示),问位示图需要多少个字节?图需要多少个字节?答:在位示图中,用答:在位示图中,用1位二进制数描述位二进制数描述1个磁盘块的状态。个磁盘块的状态。1600个磁盘块共需要个磁盘块共需要1600位二进制数,每个字节长为位二进制数,每个字节长为8位,位示图需要:位,位示图需要:1600/8200(字节)(字节)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号