[电脑基础知识]操作系统第6章课件

PPT
  • 阅读 122 次
  • 下载 0 次
  • 页数 103 页
  • 大小 1.304 MB
  • 2022-11-12 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
[电脑基础知识]操作系统第6章课件
可在后台配置第一页与第二页中间广告代码
[电脑基础知识]操作系统第6章课件
可在后台配置第二页与第三页中间广告代码
[电脑基础知识]操作系统第6章课件
可在后台配置第三页与第四页中间广告代码
[电脑基础知识]操作系统第6章课件
[电脑基础知识]操作系统第6章课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 103
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
文本内容

【文档说明】[电脑基础知识]操作系统第6章课件.ppt,共(103)页,1.304 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-2776.html

以下为本文档部分文字说明:

第六章文件管理第六章文件管理6.1文件和文件系统6.2文件的逻辑结构6.3外存分配方式6.4目录管理6.5文件存储空间的管理6.6文件共享与文件保护6.7数据一致性控制第六章文件管理6.1文件和文件系统6.1.1文件、记录和数据项1.数据项(1)基本数

据项。这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。它的命名往往与其属性一致。例如,用于描述一个学生的基本数据项有:学号、姓名、年龄、所在班级等。第六章文件管理(2)组合数据项。它是由若干个基本数据项组成的,简称组

项。例如,经理便是个组项,它由正经理和副经理两个基本项组成。工资也是个组项,它可由基本工资、工龄工资和奖励工资等基本项所组成。第六章文件管理基本数据项除了数据名外,还应有数据类型。因为基本项仅是描述某个对象的属性,根据属性的不同,需要用不同的数据类型来描述。例如,在描述学

生的学号时,应使用整数;描述学生的姓名则应使用字符串(含汉字);描述性别时,可用逻辑变量或汉字。由数据项的名字和类型两者共同定义了一个数据项的“型”。而表征一个实体在数据项上的数据则称为“值”。例如,学号/30211、姓名/王有年、性别/男等。第六章文件管理2.记录记录是一组相关数据项

的集合,用于描述一个对象在某方面的属性。一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。而一个对象由于他所处的环境不同可把他作为不同的对象。第六章文件管理例如,一个学生,当把他作为班上的一名学生时,对他的描述应使用学号、姓名、年龄及所在系班,也可能还包

括他所学过的课程的名称、成绩等数据项。但若把学生作为一个医疗对象时,对他描述的数据项则应使用诸如病历号、姓名、性别、出生年月、身高、体重、血压及病史等项。第六章文件管理3.文件文件是指由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件

两种。在有结构的文件中,文件由若干个相关记录组成;而无结构文件则被看成是一个字符流。文件在文件系统中是一个最大的数据单位,它描述了一个对象集。第六章文件管理例如,可以将一个班的学生记录作为一个文件。一个文件必须要有一个文件名,它通常是由一串ASCII码或(和)汉字构成,名字的长度因系统不同而异

。如在有的系统中把名字规定为8个字符,而在有的系统中又规定可用14个字符。第六章文件管理(1)文件类型。(2)文件长度。(3)文件的物理位置。(4)文件的建立时间。第六章文件管理文件记录1记录2…记录n数据项1数据项2…数据项n文件、记录和数据项之间的层次关系图6-1文件、

记录和数据项之间的层次关系第六章文件管理6.1.2文件类型和文件系统模型1.1)按用途分类(1)系统文件。.sys(2)用户文件。.c.exe,.bat.(3)库文件。lib第六章文件管理2)按文件中数据的形式分类(1)源文件。(2)目标文件。(3)可执行文件。第六章文件管理3)

(1)只执行文件。(2)只读文件。(3)读写文件。第六章文件管理2.文件系统模型图6-2文件系统模型第六章文件管理1)文件管理系统管理的对象有:①文件。它作为文件管理的直接对象。②目录。为了方便用户对文件的存取和检索,在文件系统中必须配置目录。对目录的组织

和管理是方便用户和提高对文件存取速度的关键。③磁盘(磁带)存储空间。文件和目录必定占用存储空间,对这部分空间的有效管理,不仅能提高外存的利用率,而且能提高对文件的存取速度。第六章文件管理2)这是文件管理系统的核心部分。文件系统的功能大多是在这一层实现的,其中包括:对文件存储空间

的管理对文件目录的管理用于将文件的逻辑地址转换为物理地址的机制对文件读和写的管理文件的共享与保护等功能第六章文件管理3)为方便用户使用文件系统,文件系统通常向用户提供(1)命令接口。这是指作为用户与文件系统交互的接口。用户可通过键盘终端键入命令

,取得文件系统的服务。(2)程序接口。这是指作为用户程序与文件系统的接口。用户程序可通过系统调用来取得文件系统的服务。第六章文件管理6.1.3文件操作(1)创建文件。(2)删除文件。(3)读文件。(4)写文件。

(5)截断文件。(6)设置文件的读/写位置。第六章文件管理2.文件的“打开”和“关闭”操作所谓“打开”,是指系统将指名文件的属性(包括该文件在外存上的物理位置)从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号(或称为索引)返回给用户。当用户再要求对该文件进行相应的操作时,便可利用系统所返

回的索引号向系统提出操作请求。系统这时便可直接利用该索引号到打开文件表中去查找,从而避免了对该文件的再次检索。第六章文件管理•这样不仅节省了大量的检索开销,也显著地提高了对文件的操作速度。如果用户已不再需要对该文件实施相应的操作时,可利用“关闭”

(close)系统调用来关闭此文件,OS将会把该文件从打开文件表中的表目上删除掉。第六章文件管理3.其它文件操作为方便用户使用文件,OS都提供了数条有关文件操作的系统调用,可将这些调用分成若干类:最常用的一类是有关对文件属性进行操作的,即允许用户直

接设置和获得文件的属性,如改变已存文件的文件名、改变文件的拥有者(文件主)、改变对文件的访问权,以及查询文件的状态(包括文件类型、大小和拥有者以及对文件的访问权等);第六章文件管理另一类是有关目录的,如创建

一个目录,删除一个目录,改变当前目录和工作目录等;此外,还有用于实现文件共享的系统调用和用于对文件系统进行操作的系统调用等。第六章文件管理6.2文件的逻辑结构任何一个文件都存在着以下两种形式的结构:(1)文件的逻辑结构(FileLogicalStructure)。(2)文件的物理结构,

又称为文件的存储结构,是指文件在外存上的存储组织形式。第六章文件管理文件逻辑结构的基本要求★能提高检索速度★便于修改★降低文件存储费用第六章文件管理6.2.1文件逻辑结构的类型1.有结构文件(1)定长记录。

(2)变长记录。(1)顺序文件。(2)索引文件。(3)索引顺序文件。第六章文件管理2.无结构文件如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大量的源程序、可执行文件、库函数等,无结构的文件形式,即流式文件。其长度以字节为单位。对流式文件的访问,则是采

用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在UNIX系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被视为流式文件;系统不对文件进行格式处理。第六章文件管理6.2.2顺序文件1.逻辑记录的排序第一种是串结构,各记录之

间的顺序与关键字无关。通常的办法是由时间来决定,即按存入时间的先后排列,最先存入的记录作为第一个记录,其次存入的为第二个记录,……依此类推。第二种情况是顺序结构,指文件中的所有记录按关键字(词)排列。可以按关键词的长短从小到大排序,也可以

从大到小排序;或按其英文字母顺序排序。第六章文件管理2.对顺序文件(SequentialFile)的读/R0R1R2R3…Ri…LLLLLL2L3L4LL(i+1)LRptr(a)定长记录文件L0R0L1R

1…Ri…Wptr(b)变长记录文件Li00L0L0+1L1L0+L1+2Li∑(Lk+1)i-1k=0∑(Lk+1)ik=0图6-3定长和变长记录文件第六章文件管理3.顺序文件的最佳应用场合,是在对诸记录进行批量存取时,即每次要读或写一大批记录。此时,对顺序文件的存取效率是所有逻辑文件

中最高的;此外,也只有顺序文件才能存储在磁带上,并能有效地工作。第六章文件管理•在交互应用的场合,如果用户(程序)要求查找或修改单个记录,为此系统便要去逐个地查找诸记录。•顺序文件所表现出来的性能就可能很差,尤其是当文件较大时,情况更为严重。•例如,有一个含有104个记录的顺序文件,

如果对它采用顺序查找法去查找一个指定的记录,则平均需要查找5×103个记录;如果是可变长记录的顺序文件,则为查找一个记录所需付出的开销将更大,这就限制了顺序文件的长度。第六章文件管理顺序文件的另一个缺点是,如果增加或删除一个记录都比较困难。为了解决这一问

题,可以为顺序文件配置一个运行记录文件(LogFile)或称为事务文件(TransactionFile),把试图增加、删除或修改的信息记录于其中,规定每隔一定时间,例如4小时,将运行记录文件与原来的主文件加以合并,产生一个按关键字排序的新文件。第六章文件管理6.2.3索引文件对于定长记录文件,如

果要查找第i个记录,可直接根据下式计算来获得第i个记录相对于第一个记录首址的地址:Ai=i×L对于可变长度记录的文件,要查找其第i个记录时,须首先计算出该记录的首地址。须顺序地查找每个记录,从中获得相应记录的长度

Li,然后才能按下式计算出第i个记录的首址。假定在每个记录前用一个字节指明该记录的长度,则−=+=10iiiiiLA第六章文件管理索引号0长度m指针ptrm01m1…imi…索引表R0R1…Ri…逻辑文件图6-4索引文件的组织第六章文件管理

6.2.4索引顺序文件键AnQiBaoRongChenLin逻辑地址姓名AnQiAnKang其它属性BaoRong…逻辑文件图6-5索引顺序文件第六章文件管理6.2.5直接文件和哈希文件1.直接文件对于直接文件,则可根据给定的记录键值,直

接获得指定记录的物理地址。换言之,记录键值本身就决定了记录的物理地址。这种由记录键值到记录物理地址的转换被称为键值转换(Keytoaddresstransformation)。组织直接文件的关键,在于用什么方法进行从

记录值到物理地址的转换。第六章文件管理2.哈希(Hash)文件图6-6Hash文件的逻辑结构fHash函数目录表键值第六章文件管理6.3.1连续分配12305674910118131415121718191

62122232025262724list29303128mailcountfilestartlengthcount02tr143mail196list284f62目录trf图6-7磁盘空间的连续分配第六章文件管理2.连续分配的主要优缺点(1)顺序访问容易。(2)顺序访问速度快

。(1)要求有连续的存储空间。(2)必须事先知道文件的长度。第六章文件管理6.3.2链接分配1.隐式链接图6-8磁盘空间的链接式分配2512305674910118131415121718191621222320252627242930

3128filestartendjeep925目录101-116第六章文件管理2.显式链接图6-9显式链接结构012345物理块号2FCBFAT0451第六章文件管理6EOF11105EOF0123456789FATFCBA4FCBB9图6-10MS-DOS的文

件物理结构第六章文件管理6.3.3索引分配1.链接分配方式虽然解决了连续分配方式所存在的问题,但又出现了另外两个问题,(1)不能支持高效的直接存取。要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找

许多盘块号。(2)FAT需占用较大的内存空间。第六章文件管理123056749101181314151217181916212223202526272429303128countfile块序号jeep19目录91611025-1-1-119图6-11索引

分配方式第六章文件管理012……………105106254356357985105106254740356357…1125985360740…1125…主索引360第二级索引磁盘空间图6-12两级索引分配2.多级索引分配第六章文件管理modeowners(2)t

imestamps(3)sizeblockcounti.addr(0)i.addr(1)directblockssingleindirectdoubleindirecttripleindirectdatadatadat

adata……datadata………datadatadatadata2.混合索引分配UNIX系统使用直接地址一次间接地址二次间接地址图6-13混合索引方式第六章文件管理(1)直接地址。为了提高对文件的检索速度,在索引结点中可设置10个直接地址项:用iaddr(0)~iaddr(9)来

存放直接地址。在这里的每项中所存放的是该文件数据的盘块的盘块号。假如每个盘块的大小为4KB,当文件不大于40KB时,便可直接从索引结点中读出该文件的全部盘块号。第六章文件管理(2)一次间接地址。对于大、中型文件,只采用直接地址是不

现实的。可再利用索引结点中的地址项iaddr(10)来提供一次间接地址。这种方式的实质就是一级索引分配方式。图中的一次间址块也就是索引块,系统将分配给文件的多个盘块号记入其中。在一次间址块中可存放1K个盘块号,因而允许文件长达4MB。第六章文件管理(3)多次间接地址。文件长度大于4MB+40KB时

(一次间址与10个直接地址项),系统还须采用二次间址分配方式。用地址项iaddr(11)提供二次间接地址。两级索引分配方式。系统此时是在二次间址块中记入所有一次间址块的盘号。在采用二次间址方式时,文件最大长度可达4GB。同理,地址项iaddr(12)作

为三次间接地址,其所允许的文件最大长度可达4TB。第六章文件管理6.4目录管理(1)实现“按名存取”。(2)提高对目录的检索速度。(3)文件共享。(4)允许文件重名。第六章文件管理6.4.1文件控制块和索引结点1.文件控制块(1)基本信息类①文件名;②文件物理位置;③文件

逻辑结构;④文件的物理结构(2)存取控制信息类(3)使用信息类第六章文件管理6.4.1文件控制块和索引结点MS-DOS的文件控制块文件名扩展名属性备用时间日期第一块号盘块数8字节文件名3字节扩展名01H—

只读、02H—隐含、04H—系统文件、08H—卷标、10H子目录、20H—存档文件。可组合成复合属性,如27H—已存档、系统文件、隐含、只读2字节,第0~4位:为2x秒(0~29)第5~10位:分(0~

59)第11~15位:时(0~23)2字节,第0~4位:日(1~31)第5~8位:月(1~12)第9~15位:年(1980年基准)图6-14MS-DOS的文件控制块第六章文件管理2.索引结点1)索引结点的引入图6-15UNIX的文件目录文件

名索引结点编号文件名1文件名2……第六章文件管理2)磁盘索引结点(1)文件主标识符(2)文件类型(3)文件存取权限(4)文件物理地址(5)文件长度(6)文件连接计数(7)文件存取时间第六章文件管理3)内存索引结点(1)索引结点编号。用于标识内存索引结点

。(2)状态。指示i(3)访问计数。每当有一进程要访问此i结点时,将该访问计数加1,访问完再减1(4)(5)链接指针。设置有分别指向空闲链表和散列队列的指针。第六章文件管理6.4.2目录结构1.单级目录结构文件名物理地址文件说明状态位文件名1文件名2…图6-16单级目录第六章文件管理单级目录的

优点是简单且能实现目录管理的基本功能——按名存取,(1)查找速度慢(2)不允许重名(3)不便于实现文件共享第六章文件管理2.两级目录图6-17两级目录结构用户名WangZhangGao指向子目录指针Wang用户目录AlphaTestAlphaTestRepo

rtTestZhang用户目录ReportTestGao用户目录BetaDeviceMisxBetaDeviceMisx第六章文件管理(1)提高了检索目录的速度(2)在不同的用户目录中,可以使用相同的文件

名。(3)不同用户还可使用不同的文件名来访问系统中的同一个共享文件第六章文件管理3.多级目录结构(1)目录结构图6-18多级目录结构ABCFED13ABD2GA4AC5671011JNK12JMK13AHF141516b1718192021a89第六

章文件管理(2)路径名在树形目录结构中,从根目录到任何数据文件,都只有一条惟一的通路。在该路径上从树的根(即主目录)开始,把全部目录文件名与数据文件名,依次地用“/”连接起来,即构成该数据文件的路径名(pathname)。系统中的每一个文件都有惟一的路径名。在图6-18中用户B为

访问文件J,应使用其路径名/B/F/J来访问。第六章文件管理(3)当前目录(CurrentDirectory)。当一个文件系统含有许多级时,每访问一个文件,都要使用从树根开始直到树叶(数据文件)为止的、包括各中间结点(目录)名的全路径名。由于一个进程运行时

所访问的文件,大多仅局限于某个范围,因而非常不便。基于这一点,可为每个进程设置一个“当前目录”,又称为“工作目录”。第六章文件管理•进程对各文件的访问都相对于“当前目录”而进行。此时各文件所使用的路径名,只需从当前目

录开始,逐级经过中间的目录文件,最后到达要访问的数据文件。•把这一路径上的全部目录文件名与数据文件名用“/”连接形成路径名,如用户B的当前目录是F,则此时文件J的相对路径名仅是J本身。这样,•把从当前目录开始直到数据文件为止所构成的路径名,称为相对路

径名(relativepathname);而把从树根开始的路径名称为绝对路径名(absolutepathname)。第六章文件管理4.增加和删除目录(1)不删除非空目录。当目录(文件)不空时,不能将其删除,而为了删除一个非空目录,

必须先删除目录中的所有文件,使之先成为空目录,后再予以删除。如果目录中还包含有子目录,还必须采取递归调用方式来将其删除,在MS-DOS中就是采用这种删除方式。(2)可删除非空目录。当要删除一目录时,如

果在该目录中还包含有文件,则目录中的所有文件和子目录也同时被删除。第六章文件管理6.4.3目录查询技术1.线性检索法图6-19查找/usr/ast/mbox的步骤第六章文件管理2.Hash方法一种处理此“冲突”(1)在利用H

ash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。(2)如果目录项中的文件名与指定文件名相匹配,则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理

地址。第六章文件管理(3)如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值,再返回到第一步重新开始查找。第六章文件管理6.5文件存储空间的管理6.5.1空闲表法和空闲链表法

1.空闲表法图6-20空闲盘块表序号第一空闲盘块号空闲盘块数12429331554——第六章文件管理(2)存储空间的分配与回收。空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次适应算法等。如,在系统

为某新创建的文件分配空闲盘块时,先顺序地检索空闲表的各表项,直至找到第一个其大小能满足要求的空闲区,再将该盘区分配给用户(进程),同时修改空闲表。第六章文件管理系统在对用户所释放的存储空间进行回收时,也采取类似于内存回收的方法:即

要考虑回收区是否与空闲表中插入点的前区和后区相邻接;对相邻接者应予以合并。第六章文件管理2.空闲链表法(1)空闲盘块链。(2)空闲盘区链第六章文件管理6.5.2位示图法1.位示图图6-21位示图第六章文件管理例有一计算机系统利用如图所示的位示图(行号、列号都从0开始编号)来管理空闲

盘块,如果盘块从1开始编号,每个盘块大小为1KB。则:A.现要为文件分配两个盘块,试具体说明分配过程。B.若要释放磁盘的第300块,应如何处理012345678910111213141501111111

111111111111111111111111112110111111111111131111110111101111400000000000000005A)过程如下:a、顺序检索位示图,从中找到第一个值为0的二进制位

,得到其行号i1=2,列号j1=2;第二个值为0的二进制位的行号i2=3,列号j2=6。b、计算出找到的两个空闲块的盘块号:b1=i1*16+j1+1=35b2=i2*16+j2+1=55c、修改位示图,令map

[2,2]=map[3,6]=1,并将35,55分配出去B)过程如下:a、计算出磁盘第300块所对应得二进制位的行号i和列号j:i=(300-1)/16=18;j=(300-1)%16=11b、修改位示图,令map[18,11]=0第六

章文件管理2.盘块的分配(1)顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位(“0”表示空闲时)。(2)将所找到的一个或一组二进制位,转换成与之相应的盘块号。假定找到的其值为“0”的二进制位,位于位示的第i行、第j列,则其相应的盘块号应按下式计算:b

=n(i-1)+j式中,n代表每行的位数。(3)修改位示图,令map[i,j]=1。第六章文件管理3.盘块的回收(1)将回收盘块的盘块号转换成位示图中的行号和列号。i=(b-1)DIVn+1j=(b-1)MODn+1(2)修改

位示图。令map[i,j]=0第六章文件管理6.5.3成组链接法1.100400399301300100300299…202201299…100400399…201301………9907999790179007899…78017999…7901空闲盘块号栈S.free019899图6-22空闲

盘块的成组链接法第六章文件管理2.当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。首先检查空闲盘块号栈是否上锁?如未上锁,便从栈顶取出一空闲盘块号,盘块分配给用户;然后将栈顶指针下移一格。若该盘块号已是栈

底,即S.free(0),这是当前栈中最后一个可分配的盘块号。第六章文件管理由于在该盘块号所对应的盘块中记有下一组可用的盘块号,调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容

;并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中);再分配一相应的缓冲区(作为该盘块的缓冲区)。最后,把栈中的空闲盘块数减1并返回。第六章文件管理系统回收空闲盘块时,调用盘块回收过程进行回收。将回收盘块的盘块号记入空闲盘块号栈的顶部,并执行空闲盘块数加1操作。当

栈中空闲盘块号数目已达100时,表示栈已满,便将现有栈中的100个盘块号,记入新回收的盘块中,再将其盘块号作为新栈底。第六章文件管理6.6文件共享与文件保护AABBBBBCCCCC根目录?CCC图6-23包含有共享文件的文件系统第六章文件管理图6-24基于索引

结点的共享方式Wang用户文件目录TestrLee用户文件目录Testrcount=2文件物理地址索引结点Test第六章文件管理图6-25进程B链接前后的情况C的目录owner=ccount=1链接前C的目录owner=ccount=2建立链接后B的目录B的目录owner=ccount=1拥有者

删除文件第六章文件管理6.6.2利用符号链实现文件共享在利用符号链方式实现文件共享时,只是文件主才拥有指向其索引结点的指针;而共享该文件的其他用户,则只有该文件的路径名,并不拥有指向其索引结点的指针。第六章文件管理不会发生在文件主删除一共享文件后留

下一悬空指针的情况。当文件的拥有者把一个共享文件删除后,其他用户试图通过符号链去访问一个已被删除的共享文件时,会因系统找不到该文件而使访问失败,于是再将符号链删除,此时不会产生任何影响。第六章文件管理6.6.3磁盘容错技术(1)通过存取控制机制

来防止由人为因素所造成的文件不安全性。(2)通过磁盘容错技术,来防止由磁盘部分的故障所造成的文件不安全性。(3)通过“后备系统”来防止由自然因素所造成的不安全性。第六章文件管理1.第一级容错技术SFT-Ⅰ1)在磁盘上存放的文件目录和文件分配表FAT,是

文件管理所用的重要数据结构。如果这些表格被破坏,将导致磁盘上的部分或全部文件成为不可访问的,因而也就等效于文件的丢失。第六章文件管理为了防止这类情况发生,可在不同的磁盘上或在磁盘的不同区域中,分别建立(双份)目录表和FAT。其中,一份被称为主目

录及主FAT;把另一份称为备份目录及备份FAT。第六章文件管理2)热修复重定向和写后读校验(1)热修复重定向(Hot-Redirection)。(2)写后读校验(ReadafterwriteVerification)方式。第六章文件管理2.第二级容错技术SFT-Ⅱ(1)磁盘镜像(DiskMirr

oring)。磁盘控制器主机通道磁盘驱动器图6-26磁盘镜像示意第六章文件管理(2)磁盘双工(DiskDuplexing)。图6-27磁盘双工示意主机磁盘控制器磁盘控制器通道通道磁盘驱动器第六章文件管理6.7数据一致性控制6.7.1事务1.事务的定义事务是用于访问和修改各种数据项的一个程序

单位。事务也可以被看作是一系列相关读和写操作。被访问的数据可以分散地存放在同一文件的不同记录中,也可放在多个文件中。第六章文件管理只有对分布在不同位置的同一数据所进行的读和写(含修改)操作全部完成时,才能再以托付操

作(CommitOperation)来终止事务。只要有一个读、写或修改操作失败,便须执行夭折操作(AbortOperation)。读或写操作的失败可能是由于逻辑错误,也可能是系统故障所导致的。第六章文件管理2.事务记录(TransactionRecord)·事务名:·

数据项名:·旧值:·新值:修改后数据项将具有的值。第六章文件管理3.恢复算法(1)undo〈Ti〉。该过程把所有被事务Ti修改过的数据,恢复为修改前的值。(2)redo〈Ti〉。该过程能把所有被事务Ti修改过的数据,设置为新值。如果系统发生故

障,系统应对以前所发生的事务进行清理。第六章文件管理6.7.2检查点1.检查点(CheckPoints)的作用使对事务记录表中事务记录的清理工作经常化,隔一定时间做一次下述工作:将驻留在易失性存储器(内存)中的当前事务记录表中的所有记录,输出到稳定存储器中;将驻留在易失性存储器中的所有已修改数

据,输出到稳定存储器中;将事务记录表中的〈检查点〉记录,输出到稳定存储器中;每当出现一个〈检查点〉记录时,系统便执行上小节所介绍的恢复操作,利用redo和undo过程实现恢复功能。第六章文件管理2.新的恢复算法恢复例程首先查找事务记录表,确定在最近检查点以前开始执行的

最后的事务Ti。在找到这样的事务后,再返回去搜索事务记录表,便可找到第一个检查点记录,恢复例程便从该检查点开始,返回搜索各个事务的记录,并利用redo和undo过程对它们进行处理。如果把所有在事务Ti以后开始执行的事

务表示为事务集T,则新的恢复操作要求是:对所有在T中的事务TK,如果在事务记录表中出现了〈TK托付〉记录,则执行redo〈TK〉操作;反之,如果在事务记录表中并未出现〈TK托付〉记录,则执行undo〈TK〉操作。第六章文件管理6.7.3并发控制1.利用互斥锁实现“顺序性”2.利用互斥锁和共

享锁实现顺序性第六章文件管理6.7.4重复数据的数据一致性问题1.重复文件的一致性图6-28UNIX类型的目录第六章文件管理2.盘块号一致性的检查图6-29检查盘块号一致性情况第六章文件管理图6-29检查盘块号一致性情况第六章文件管理3.链接数一致性检查为每个盘块建立一个表项,其中含有该索引结点

号的计数值。进行检查时,从根目录开始查找,每当在目录中遇到该索引结点号时,便在该计数器表中相应文件的表项上加1。当把所有目录都检查完后,便可将该计数器表中每个表项中的索引结点号计数值与该文件索引结点中的链接计数count值加以比较:如果两者一致,表示是正确的;否则,便是发生了链接数据不一致的错

误。第六章文件管理如果索引结点中的链接计数count值大于计数器表中相应索引结点号的计数值,则即使在所有共享此文件的用户都不再使用此文件时,其count值仍不为0,因而该文件不会被删除。这种错误的后果是使一些已无用

户需要的文件仍驻留在磁盘上,浪费了存储空间。解决的方法是用计数器表中的正确的计数值去为count重新赋值。。第六章文件管理•反之,如果出现count值小于计数器表中索引结点号计数值的情况时,就有潜在的危险。•假如有两个用户共享一个文件,但是count值仍为1,这样,只

要其中有一个用户不再需要此文件时,count值就会减为0,从而使系统将此文件删除,并释放其索引结点及文件所占用的盘块,导致另一共享此文件的用户所对应的目录项,指向了一个空索引结点,最终是使该用户再无法访问

此文件。•如果该索引结点很快又被分配给其它文件,则又会带来潜在的危险。解决的方法是将count值置为正确值第六章文件管理•作业:P246•2,7,10,11,19,24,

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?