1、第5章 文件管理系统,1.文件的定义文件是计算机系统中信息存放的一种组织形式,目前尚无严格的定义,下面给出两种有代表性的解释: (1)文件是具有标识符的相关字符流的集合。(2)文件是具有标识符的相关记录(一个有意义的信息单位)的集合。这两种解释定义了两种文件形式:前者说明文件是由字节组成,这是一种无结构的文件,或称流式文件。后者说明文件是由记录组成。而记录则是由一组相关信息项组成。,5.1.1 什么是文件,2.文件命名,一般情况下,一个文件是一组逻辑上具有完整意义的信息集合,并赋以一个文件名。文件名由用户给定,它是由字母或数字组成的一个字符串,用来标识文件。文件名是文件存在的标识,操作系统根据
2、文件名来对其进行控制和管理。,2.文件命名,各个操作系统的文件命名规则略有不同,即文件名的格式和长度因系统而异。 一般来说,文件名由文件名和扩展名两部分组成,中间用“ ”隔开。它们都是字母或数字组成的字母数字串。扩展名也称为文件后缀,利用扩展名可以区分文件的属性。,1. 文件分类 (1) 按文件的性质和用途分类 系统文件 程序库文件 用户文件 (2) 按保护级别分类 不保护文件 只读文件 读写文件 (3) 按文件流向分类 输入文件 输出文件 输入输出文件,2. 文件名与属性 (1) 文件名 用户使用文件名存取文件 系统使用文件内部标识符管理文件 (2) 文件扩展 文件扩展表示了文件的使用特征
3、如:.c .txt .exe 等 (3) 文件属性 文件的属性字,表示文件类别、保护级等信息。,5.1.2 文件系统,文件系统是操作系统中负责管理和存取文件信息的软件机构,它是由管理文件所需的数据结构和相应的管理软件以及访问文件的一组操作组成。从系统的角度看:文件系统是一个负责文件存储空间管理的机构。从用户的角度看:文件系统是用户在计算机上存储信息、和使用信息的接口。,通用文件系统应具有以下功能:1、管理文件的存储介质;2、实现文件名到物理地址的映射;3、提供用户对文件和目录操作的命令;4、提供用户共享文件的机制;5、提供文件的存取控制的机制,保障文件及文件系统的安全性。,5.2 文件的逻辑结
4、构与存取方法,一. 文件的两种结构1. 文件的逻辑结构(1) 什么是文件的逻辑结构从用户角度看到的文件面貌。即用户对信息进行逻辑组织形成的文件结构。(2) 研究文件逻辑结构的目的为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式。用户按文件的逻辑结构形式去存储、检索和加工文件中的信息。,2. 文件的物理结构什么是文件的物理结构:文件在物理存储器中的组织形式。文件的物理结构主要是指磁盘上文件的结构。研究文件物理结构的目的选择工作性能良好、设备利用率高的物理文件形式。系统按照文件的物理结构形式和外部设备打交道,控制信息的传输。,5.2.1 文件的两种结构,3. 逻辑记录与物理记录(磁盘块)(1)
5、逻辑记录逻辑记录是文件中按信息在逻辑上的独立含义来划分的信息单位。逻辑记录是对文件进行存取操作的基本单位。 (2) 物理记录在存储介质上,由连续信息所组成的一个区域称为块,也叫物理记录。(3) 逻辑记录与物理记录的区别与关系一个是逻辑的概念,一个是物理的概念逻辑记录最终在存放到物理记录上,5.2.1 文件的两种结构,有结构文件中记录组织的原则: * 有利于快速访问文件记录 * 易于修改 * 存储代价小 * 维护简单 * 可靠性高,1. 流式文件流式文件是相关的有序字符的集合。是无结构的。流式文件是按信息的个数或以特殊字符为界进行存取的。无结构的流式文件是相关的有序字符的集合。文件的长度为所含字
6、符数。UNIX、DOS、WINDOWS系统中的普通文件都是流式文件。 2. 记录式文件记录式文件是一种有结构的文件。这种文件在逻辑上总是被看成一组连续顺序的记录的集合。定长记录与变长记录,5.2.2 文件的逻辑结构,5.2.2 文件的逻辑结构和存取方法,2、记录式文件每个记录由彼此相关的域构成。记录可按顺序编号为记录1,记录2,记录n。如果文件中所有记录的长度都相同,则这种文件为定长记录文件。定长记录文件的长度 = 记录个数x记录长度。变长记录文件的长度为各记录长度之和。例如:学生登记表文件 xsdjb.dbf姓名 学号 籍贯 通信地址 邮政编码李铭 925678 武昌 武昌关山街125号 4
7、30074司马乐 925679 北京 北京海军路88号 100034,记录文件,1.顺序文件:通常为定长记录2.索引文件:为每个记录建立一张索引表,加速对记录的检索速度3.索引顺序文件:为每组记录建立一个索引表,顺序文件,索引文件,索引文件的组织,5.2.2 文件的逻辑结构和存取方法,3、两种文件的比较流式文件就象给一张白纸给用户,用户可将他的信息任意地写到纸上,没有任何格式上的限制。记录式文件就象给一张表格给用户,用户要按表规定的格式填信息。显然,结构式文件对用户的限制很大,使用起来就不方便。,北京理工大学2002,填空题1.根据文件的逻辑结构,文件分为()和记录式文件2.在文件系统中,用于
8、文件的标识,并按其进行存取的是文件的()答案:1.流式文件 2.文件名,5.2.2 文件的逻辑结构和存取方法,存取方法顺序存取:后一次存取总是在前次存取的基础上进行的。每次存取不必给出存取开始的位置。随机存取(直接存取) :用户以任意次序请求某个记录。随机存取时要指出起始存取位置(例如记录号、字符序号)。,5.3 文件的物理结构,一个文件存储介质,格式化后就分成许多大小相等的单位存储块(物理盘块),在现代计算机系统中,一般来说,每个物理块是一个磁盘的扇区,512字节。并给每个存储块有个编号,称为物理块号。目前有三种基本结构,即连续文件结构、串联文件结构(链接文件)和索引文件结构。,5.3 文件
9、的物理结构,5.3 文件的物理结构 5.3.1 连续文件,连续分配,磁盘空间的连续分配,5.3.1 连续文件,评价:优点:结构简单,实现容易,不需要额外的开销。缺点:用户创建文件时要给出文件的大小;要求有连续的存储空间不利于文件的动态增加和修改;连续文件是一种连续结构的文件,对每个文件要求存放在存储介质上的连续的物理块中,存储空间利用率不高。类似于存储管理中的分区,连续文件的存取方式,(1) 顺序存取 对连续文件顺序存取时十分方便。当文件打开时,可存取记录0,然后,可依次顺序存取每一个记录。因为,序号为i+1的记录,其物理位置一定紧跟在i号记录之后。,(2) 随机存取问题:在连续文件结构下,当
10、要存取记录r时,应如何操作? 设文件为定长记录,且记录长度为l,给定记录号为r,磁盘物理块大小为size:相对块号计算为:b=(l*r)/size从该文件目录项中,查得记录0所在的磁盘块号b0将记录所在的磁盘块号b0加上相对块号,得到该记录的磁盘物理块号=b0+b 非常类似于数组的存取。,练习题,给定一个连续文件有100个存储块,由于磁盘操作需要一块插入在文件中间,现已插入该块,该块的最小编号为多少?( ) 2 52 101 151 答案,1. 什么是串联文件串联文件结构是按顺序由串联的块组成的,即文件的信息存于若干块物理块中,隐式链接,每个物理块的最末一个字作为链接字,它指出后继块的物理地址
11、。文件的最后一块的链接字为结束标记“”,它表示文件至本块结束。类似数据结构的链表,5.3.2 串联文件结构,2. 串联文件的结构,磁盘空间的隐式链接分配,5.3.2 串联文件,这种文件结构不要求连续存放。问题:在串联文件结构下,当要插入R i 记录时,应如何操作?,5.3.2 串联文件,5.3.2 串联文件,评价:1.存储空间利用率高;2.文件创建时用户不必指出文件的大小;3.文件动态扩充和修改容易。4.顺序存取效率高,随机存取效率太低,如果访问文件的最后的内容,实际上是要访问整个文件。类似于存储管理中的页式,5.3.3 文件照映,为了克服链接文件的存取效率太低的问题,人们提出文件映照的技术,
12、即把链接文件中的链接字集中在一结构中,显式链接。这样既保持了链接文件的优点,也克服了其缺点,DOS、WINDOWS系统就采用了这样结构。,5.3.3 文件照映,FAT:文件分配表,磁盘格式化后建立。FAT每个表项对应磁盘的一个盘块,其中用来存放分配给文件的下一个盘块的块号,链接分配方式虽然解决了连续分配方式所存在的问题, 但又出现了另外两个问题, 即: (1) 不能支持高效的直接存取。要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找许多盘块号。 (2) FAT需占用较大的内存空间,只有将整个FAT表调入内存才能找到对应的盘块号。,1. 什么是索引文件系统为每个文件建立逻辑块号与物理块
13、号的对照表。这张表称为该文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。,5.3.4 索引文件结构,索引文件结构 这种文件结构的数据结构是文件的索引表,每个文件有一个索引表,表中每个表目包括:逻辑块号,物理块号。,2. 索引文件结构,3. 索引文件的操作 索引文件在存储区中占两个区:索引区和数据区。索引区存放索引表,数据区存放数据文件本身。 访问索引文件需要两步操作 查文件索引,由逻辑块号查得物理块号 由此磁盘物理块号而获得所要求的信息。 4. 索引文件的特点 易于文件的增删 直接读写任意记录 5. 索引表的组织多级索引,两级索引分配,两级索引分配,索引分配的优点:,索引分配方
14、法支持文件的直接存取;(2) 索引分配能满足文件的动态增长;(3) 利用多级索引可以支持大型文件的存取.,索引分配的不足:,对于文件过小,索引节点的利用率较低;(2) 如果文件太大,建立多级索引会花费很长时间 而且需要海量存储.,混合索引分配方式,(1) 直接地址。 为了提高对文件的检索速度, 在索引结点中可设置10个直接地址项, 即用iaddr(0)-iaddr(9)来存放直接地址。 换言之,在这里的每项中所存放的是该文件数据的盘块的盘块号。假如每个盘块的大小为 4 KB,当文件不大于40 KB时,便可直接从索引结点中读出该文件的全部盘块号。,(2) 一次一级索引。 对于大、 中型文件, 只
15、采用直接地址是不现实的。 为此,可再利用索引结点中的地址项iaddr(10)来提供一次一级索引分配方式。系统将分配给文件的多个盘块号记入其中。在一级索引块中可存放1K个盘块号, 因而允许文件长达4MB。,(3) 多级索引。 当文件长度大于4MB+40KB时(一次一级索引与10个直接地址项), 系统还须采用二次索引分配方式。这时,用地址项iaddr(11)提供二次索引地址。系统此时是在二次索引块中记入所有一次索引块的盘号。在采用二级索引方式时,文件最大长度可达4GB。 同理,地址项iaddr(12)作为三级索引地址, 其所允许的文件最大长度可达4TB。,5.3.5 文件物理结构的比较,连续文件的
16、优点是不需要额外的空间开销,只要在文件目录中指出文件的大小和首块的块号即可,对顺序的访问效率很高。适应于顺序存取。缺点是动态地增长和缩小系统开销很大;文件创建时要求用户提供文件的大小;存储空间浪费较大。串联文件克服了连续文件的不足之处,但文件的随机访问系统开销较大。适应于顺序访问的文件。DOS系统中改造了串联文件的结构,使其克服了串联文件的不足。,索引文件既适应于顺序访问,也适应于随机访问,是一种比较好的文件物理结构,但要有用于索引表的空间开销和文件索引的时间开销。UNIX系统是使用索引结构成功的例子。在当前流行的一些UNIX操作系统的版本中,同时支持连续文件结构和索引文件结构。DOS、WIN
17、DOWS系统支撑类似于文件映照结构,西安电子科技大学2002,多选题1.文件的物理结构一般有()A 连续文件B 流式文件C 记录式文件D串联文件E 索引文件答案:A D E,西安电子科技大学2002,多选题2.连续结构的文件适合采用()存取方法A 顺序存取B 直接存取C 按键存取D分区存取E 以上均不对答案:A B,华中科技大学2000年,某文件系统采用索引文件结构,假定文件索引表的每个表项占3个字节,存放一个磁盘块的块号(磁盘块的大小为512B)。试问1)该文件系统能管理的最大磁盘空间是多少字节2)若采用2级或3级索引该文件系统能管理的最大磁盘空间又是多少字节?,分析,由于索引表占用一个大小
18、为512B的磁盘,所以该文件系统的索引表可以管理512/3=170个表项,而每一个表项对应一个物理块,因此该文件系统可以管理的最大磁盘空间为170*512B=87040B=85K若采用二级索引,则是:170*170*512B=7225KB若采用三级索引,则是:170*170*170*512B=2456500KB=2398.93M,5.3.6 记录的成组分解,对于记录式文件,把若干逻辑记录合成一组录入一块的工作称为记录的成组。从一组逻辑记录把一个逻辑记录分离出来的操作称为记录的分解。当用户请求一个文件中的某个记录时,文件系统首先找出该记录所在块的位置,然后把含有该记录的块中信息读入内存缓冲区,再
19、从内存缓冲区的信息中分解出指定的记录传送到用户工作区。,5.3.7磁盘文件的记录成组分解,记录组块方法:1) 固定组块法 数据块由若干条固定长度的记录组成,一条记录必须完整地存储在一个数据块中. 此种方法会出现内部碎片,从而浪费空间.,2) 跨块组块法 记录允许被划分存储在不同数据块中. * 成组和分解麻烦; * 读写访问效率降低; * 提高空间利用率.,5.4 文件目录5.4.1 文件目录及内容,文件目录项:1.文件名2.文件的大小,单位:字节3.文件在物理存储介质中的位置。取决于文件的物理结构 。 对于连续文件:文件起始块号(即文件的第一个物理块块号);对于串联文件:指向第一个物理块的指针
20、;对于索引文件:索引表。,4.存取控制信息 用户对该文件的访问权限。5.管理信息 包含文件创建的日期和时间,最近修改该文件的日期和时间等。6.文件的类型文件目录也称为文件控制块,文件控制块(FCB),文件控制块是系统在管理文件时所必需信息的数据结构,是文件存在的唯一标志。,文件目录内容文件名逻辑结构 物理结构连续文件:起始块号、块数串联文件:起始块号 索引文件:索引表首址 存取控制信息文件主具有存取权限 核准其它用户的存取权限 文件管理信息 文件类型,5.4.2文件目录结构,文件系统把若干个文件的文件目录组织成一个独立的文件,这个全部由文件目录组成的文件叫目录文件。目录文件是文件系统管理文件的
21、最重要的信息源。,什么一级文件目录结构整个系统所有文件说明信息登记在一张表上功能:实现按名存取 特点:文件名与文件一一对应 不足:不能解决命名冲突问题 难以实现共享,一级目录结构,一级文件目录最简单的文件目录结构是在系统中建立一张线性表,每个文件占一表目,由文件名和文件的说明和管理信息组成。这样的表称为一级文件目录.一级文件目录的主要功能是实现“按名存取”, 并且实现容易。主要问题是重名问题所谓“重名”是指不同用户对不同文件起了相同的名字,即两个或多个文件只有一个相同的符号名,一级目录结构,5.4.3 二级文件目录,什么是二级文件目录?将文件目录分成主文件目录和用户文件目录两级。每个用户建立一
22、个文件目录结构,它登记该用户建立的所有文件名及其在辅存中的位置和有关说明信息。主目录登记进入系统的各个用户文件目录的情况,这样就形成了二级目录的结构 。,二级文件目录的形成 主目录:多个用户的信息 用户文件目录:每一个用户的信息,二级文件目录主要目的是 解决命名冲突在同一级目录决不能同名以及实现不同目录下的共享。,二级文件目录,二级文件目录的特点,二级文件目录结构解决了命名冲突问题。方法:存取一个文件时要给出文件路径名。如:用户zhang的文件beta 其路径名为“zhang :beta”用户hong的文件beta 其路径名为“hong :beta,5.4.4 多级文件目录,什么是树型文件目录
23、在多级目录系统中,任何一级目录的目录项可以描述一个目录文件,也可以描述一个非目录文件(数据文件),而数据文件一定在树叶上。这样,就构成了一个树形层次结构。,id=6,id=10,id=11,id=12,id=13,id=14,id=15,id=17,id=16,id=18,id=19,id=1,树型文件目录,树型文件目录形成任何一级目录的登记项可以对应目录文件,也可以是一个数据文件。 文件路径名绝对路径名相对路径名 命名更灵活,树型文件目录,多级目录结构,路径名:一个文件的路径名是由根目录到该文件的通路上所有目录文件名和该文件的符号名组成的。DOS WINDOWS系统中文件路径名 ART BI
24、UID BPUNIX系统中文件路径名/A/R/T /B/IU/I/D /B/P,华中科技大学2000年,1.文件路径是指()A文件名和文件扩展名B一系列的目录文件和该文件的文件名C从根目录到该文件所经历的路径中各符号的集合D目录文件名和文件名的集合答案:C,浙江大学2001,就文件系统的设计,回答下列问题从路径文件名可以唯一确定一个文件但是操作效率不是很理想(或者说通过路径找文件比较费时)。采取什么方法可以改进之。,答案,可采用当前目录的方法,使用相对路径对文件进行存取,5.4.5 目录查询技术,1. 线性检索法,查找/usr/ast/mbox的步骤,2. Hash方法,构造哈希表的两大任务就
25、是:建立哈希函数和找到解决冲突的办法。一种处理此“冲突”的有效规则是:(1) 在利用Hash法索引查找目录时,如果目录表中相应的目录项是空的,则表示系统中并无指定文件。(2) 如果目录项中的文件名与指定文件名相匹配, 则表示该目录项正是所要寻找的文件所对应的目录项,故而可从中找到该文件所在的物理地址。(3) 如果在目录表的相应目录项中的文件名与指定文件名并不匹配,则表示发生了“冲突”,此时须将其Hash值再加上一个常数(该常数应与目录的长度值互质),形成新的索引值, 再返回到第一步重新开始查找。,5.4.6目录的改进,一个文件目录项要占很多空间,在查找目录时,为了找到所需要的目录项,常常要将存
26、放目录文件的多个物理块逐块读入内存进行查找。为了加快目录查找可采用目录项分解法,即把目录项分为两部分:符号目录项(文件名以及相应的文件号)和基本目录项。查找时只需将符号目录项读入内存查找即可,减少了访问磁盘的次数,提高目录检索的速度。,基本文件目录和符号文件目录,分隔开的好处?比如文件目录项共48B,符号目录8B,目录文件100个目录项。,5.5存储空间管理实质就是空闲块的组织、分配和回收。常用的空闲分区组织方式: * 空闲块表法 * 空闲链表法 * 位图 * 组成链接法,1. 空闲块表,空闲块表方式的存储空间的分配与回收 :空闲盘区的分配与内存的动态分配类似,同样是采用首次适应算法、循环首次
27、适应算法等。系统在对用户所释放的存储空间进行回收时,也采取类似于内存回收的方法, 即要考虑回收区是否与空闲块表中插入点的前区和后区相邻接,对相邻接者应予以合并。,空闲块表方式的优点: * 实现简单* 适合采用顺序结构的文件空闲块表方式的缺点: * 当空闲块分区分布较分散且数量多时,空闲块表将会很大* 处理连续文件会产生很多碎片,2. 空闲链表法,空闲盘块链。 以盘块为基本元素构成一条链。优点:分配和回收非常简单。缺点:空闲盘块链可能很长。(2) 空闲盘区链 以空闲盘区(连续的多个空闲盘块)为基本要素构成一条链。分配回收与空闲链表相似。,3. 位示图,位示图磁盘块的分配,(1) 顺序扫描位示图,
28、从中找出一个或一组其值为“0”的二进制位(“0”表示空闲)。(2) 将所找到的一个或一组二进制位, 转换成与之相应的盘块号。假定找到的其值为“0”的二进制位,位于位示的第i行、第j列,则其相应的盘块号应按下式计算: b=n(i-1)+j式中, n代表每行的位数。(3) 修改位示图, 令mapi,j=1。,位示图磁盘块的回收,将回收盘块的盘块号转换成位示图中的行号和列号。 i=(b-1)DIV n+1 j=(b-1)MOD n+1(2) 修改位示图。 令map i,j=0。,4 成组链接法,空闲盘块的成组链接法,在UNIX系统中,将空闲块分成若干组,每100个空闲块为一组,每组的第一空闲块登记了
29、下一组空闲块的物理盘块号和空闲块总数。如果一个组的第一个空闲块号等于0,则有特殊的含义,意味着该组是最后一组,即无下一组空闲块。,空闲盘块的组织,空闲盘块的分配当系统要为用户分配文件所需的盘块时,须调用盘块分配过程来完成。从栈顶取出一空闲盘块号,将与之对应的盘块分配给用户,然后将栈顶指针下移一格。若该盘块号已是栈底, 即S.free(0),这是当前栈中最后一个可分配的盘块号。由于在该盘块号所对应的盘块中记有下一组可用的盘块号,因此, 须调用磁盘读过程,将栈底盘块号所对应盘块的内容读入栈中,作为新的盘块号栈的内容,并把原栈底对应的盘块分配出去(其中的有用数据已读入栈中)。,空闲盘块的回收在系统回
30、收空闲盘块时,须调用盘块回收过程进行回收。它是将回收盘块的盘块号记入空闲盘块号栈的顶部,将该盘块登记到该组中并执行空闲盘块数加1操作。当栈中空闲盘块号数目已达100时,表示栈已满。再回收一盘块时便将现有栈中的盘块号, 记入新回收的盘块中,作为新组的第一块,计数器的值设为1。,5.6 文 件 的 共 享,1 利用链接目录项实现共享,图 5.16 目录结构中的文件共享,链接有两种形式:一种是允许目录项链接到目录树中的任一节点上;另一种则只允许链接到数据文件的叶子节点上。前一种形式既可以链接到目录树中的叶子节点,也可以链接到子目录节点。如果链接到子目录节点,则表示可以共享该目录及其后继目录所包含的所
31、有文件。这种链接方式功能很强,其不足之处是允许共享的范围过宽,不易控制和管理,使用不当会造成循环链接。例如图中的/usr/user2/li勾连到/usr/user1/zhang上, 而/usr/user1/zhang又勾连到/usr/user2上,这样就形成了循环链接。这种循环链接造成了目录结构的混乱。后一种方式虽不如前一种方式功能强, 但同样可以达到共享的目的,且实现简单,2 利用基本文件目录实现文件共享,3 基于索引节点的共享方法UNIX系统中,文件的目录结构由两部分构成:目录项和索引节点(也称i节点)。其中目录项由文件名和索引节点号组成。 索引节点中包含文件属性,文件共享目录数,与时间有
32、关的文件管理参数以及文件存放的物理地址的索引区等。文件在创建时,系统在目录项中填入其文件名和分配相应的索引节点号。当某用户希望共享该文件时,则在某目录的一个目录项中填入该文件的别名,而索引节点仍然填写创建时的索引节点号。,基于索引结点的共享方式。将一部分信息放到索引结点中,原因?,这时,两个具有不同文件名的文件指向同一个索引节点, 共享该文件的用户对文件的操作都将引起对同一索引节点的访问。 从而提供了多用户对该文件的共享。在索引节点中包含一个链接计数, 用于表示链接到该索引节点上目录项的个数。 每当有一个用户要共享该文件时, 则索引节点中的链接计数加 1, 当用户使用自己的文件名删除该文件时,
33、 链接计数减 1, 只要链接计数不为 0, 则该文件一直存在。 仅当链接计数为 0 时, 该文件才真正的被删除。 这种基于索引节点的共享方法也称硬连接。,4 基于符号链的共享方法为共享一个文件,由系统创建一个LINK类型的新文件, 将新文件写入用户目录中,以实现目录与文件的链接。在新文件中只包含被链接文件的路径名,称这样的链接方法为符号连接。 新文件的路径名只是被看成是一个符号链。在利用符号连接方法实现文件共享时,只有文件主才拥有指向其索引节点的指针(索引节点号),而共享该文件的其它用户只有该文件的路径名, 而没有指向索引节点的指针。当文件主将共享文件删除后,其他用户访问失败,从而删除该符号链
34、,没有任何影响,不会出现空指针的情况。,符号链实际上是一个文件,尽管该文件非常简单,却仍要为它配置一个索引节点,也要用一定的磁盘空间。这种方法有一个很大的优点, 就是它能跨越文件系统共享(网络共享:ip地址加该计算机的文件路径)。这些文件共享方法中,如果某个用户修改了该共享文件,会对其他用户有什么影响?,5.7 文件系统的安全性和数据一致性影响文件安全性和数据一致性的主要因素是: * 数据丢失 * 非法侵入,5.7.1防止人为因素造成的文件不安全性,1 隐藏文件和目录2 口令(1)文件口令(2)用户口令3 文件加密加密技术的基本思想是伪装信息,4 指定访问权限(1)存取控制矩阵,如果用户和文件
35、数比较多,矩阵就会相当庞大。对存取控制矩阵进行分析,可以发现某一文件只与少数几个用户有关。也就是说,这样的矩阵是一个稀疏矩阵,因而可以简化。,(2)访问权限表和访问控制表访问权限表是对存取控制矩阵的单一文件和多类用户的权限进行压缩将用户按权限分为不同的类。,E执行,访问控制表是对存取控制矩阵的单一用户和所有文件的权限进行压缩,5.7.2防止系统因素或自然因素造成的文件不安全性,1 坏块管理:基本原则不使用坏块2 磁盘容错技术:在系统中设置冗余部件来提高系统可靠性。3 备份:建立副本和转储(海量转储和增量转储),坏块管理 坏块管理有硬件和软件两种解决方法: 1) 硬件方法是建立一个坏块表,找空闲
36、块代替有问题的块,全部对坏块的请求都使用对应的空闲块。类似于电话的呼叫转移。 2) 软件方法是构造一个包含所有坏块的文件,将坏块从空闲表中删除,使其不会出现在数据文件中。注意备份的时候不要读取该文件。,磁盘容错技术 磁盘容错技术大体分为三个级别: 1) SFT-I是低级磁盘容错技术 主要用于防止磁盘表面介质缺陷所引起的数据丢失. 2) SFT-II是中级磁盘容错技术 主要用于防止磁盘驱动器和磁盘控制器故障所引起的数据丢失. 3) SFT-III是高级磁盘容错技术 双服务器技术.,1 第一级容错技术 第一级容错技术包括双份目录,双份文件分配表及写后读校验等措施。 * 双份目录和双份文件分配表;
37、* 热修复重定位和写后读校验.,2 第二级容错技术 SFT-II包括: * 磁盘镜像; * 磁盘双工.,3 RAID技术 即独立或廉价磁盘冗余阵列 以较低的成本,提供大容量,快速,安全可靠的磁盘存储系统.RAID有两部分构成: * 一组可以并行工作的磁盘所构成的磁盘阵列; * 在磁盘子系统中执行的或者在主机系统中执行的磁盘阵列管理软件.,1. 盘块号一致性的检查,5.7.3文件系统的数据一致性,2. 文件一致性的检查为关键文件设置多个重复备份,存储在不同地方。如果有一个文件拷贝被修改,则必须同时修改所有文件拷贝,保持文件中数据的一致性。,5.8磁盘调度,1.磁盘I/O时间:查找时间:磁头移动到
38、指定磁道的时间等待时间:磁盘旋转到读写块的等待时间传输时间:数据在内存和磁盘中实际传输 的时间查找时间通常占整个时间的70,提高磁盘的I/O性能本质是缩短寻道时间和旋转延迟,* 先来先服务FCFS(First-Come, First Served),2 磁盘调度算法,* 最短寻道时间优先SSTF(Shortest Seek Time First),* 扫描(SCAN)算法,1)磁盘请求进程“饥饿”现象,SSTF算法虽然能获得较好的寻道性能, 但却可能导致某个磁盘请求发生“饥饿”(Starvation)现象。对SSTF算法略加修改后所形成的SCAN算法, 即可防止磁盘请求出现“饥饿”现象。 它考虑了磁头运动的方向,所以也称为电梯调度算法,SCAN算法电梯调度算法,