文件系统[页]课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《文件系统[页]课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件系统 课件
- 资源描述:
-
1、第六章第六章 文件系统文件系统操作系统操作系统 16.1 概述概述(1)字段字段 数据的基本单位,字段又可称为域或数数据的基本单位,字段又可称为域或数据项。不可分隔的字段含有一个简单的值,如姓据项。不可分隔的字段含有一个简单的值,如姓名、日期、传感器读入的值等。字段的特征可由名、日期、传感器读入的值等。字段的特征可由长度和数据类型表示。字段可以是固定长度的或长度和数据类型表示。字段可以是固定长度的或可变长度的。可变长度的。(2)记录记录 能被某些应用程序处理的相关字段的能被某些应用程序处理的相关字段的集合。例如,雇员记录可包括姓名、社会保险号、集合。例如,雇员记录可包括姓名、社会保险号、工种、
2、雇用日期等。记录可以是固定长度或可变工种、雇用日期等。记录可以是固定长度或可变长度的。长度的。2(3)文件文件 相同记录的集合,可以用名字来引用,相同记录的集合,可以用名字来引用,并可以产生和删除。存取控制通常施加到文件并可以产生和删除。存取控制通常施加到文件这一级。在某些复杂的系统中,存取控制能施这一级。在某些复杂的系统中,存取控制能施加到记录级,甚至字段级。加到记录级,甚至字段级。(4)数据库数据库 相关数据的集合。数据库的基本特征相关数据的集合。数据库的基本特征是在数据元素之间存在明显的关系。是在数据元素之间存在明显的关系。(5)文件管理系统文件管理系统 文件管理系统是为用户和用户文件管
3、理系统是为用户和用户程序在使用文件时提供服务的系统软件集合。程序在使用文件时提供服务的系统软件集合。一般用户或应用程序存取文件时必须通过文件一般用户或应用程序存取文件时必须通过文件管理程序。文件管理系统避免了用户或程序设管理程序。文件管理系统避免了用户或程序设计员必须为每种应用都开发特定目的软件,提计员必须为每种应用都开发特定目的软件,提供了控制系统中最重要财富供了控制系统中最重要财富文件文件的方法。的方法。32 文件的组织和存取文件的组织和存取 文件组织文件组织指的是由存取方法决定的记录的逻辑指的是由存取方法决定的记录的逻辑结构。在外存中文件的物理组织取决于组块策略结构。在外存中文件的物理组
4、织取决于组块策略和文件分配策略。和文件分配策略。在选择文件组织方法时,有几个重要的参考标在选择文件组织方法时,有几个重要的参考标准:准:n 存取快速存取快速n 更新容易更新容易n 节省存储单元节省存储单元n 管理简单管理简单n 可靠性可靠性 在图在图6-1中描述了普通文件的组织方法中描述了普通文件的组织方法:4可变长度记录可变字段集合时间序排列(a)堆文件关键字字段(b)顺序文件固定长度记录固定次序、固定集合的字段按关键字的顺序(c)索引顺序文件索引链索 引指针主文件溢出指针溢出文件(d)索引文件详尽索引1详尽索引2部分索引1可变长度记录主文件(e)散列文件f主文件溢出文件keyHash函数5
5、(1)堆(堆(Pile)数据根据到达时间的顺序收集起来,每一个记数据根据到达时间的顺序收集起来,每一个记录包括一堆集中到达的数据。堆的目的只是简单地录包括一堆集中到达的数据。堆的目的只是简单地聚集大量的数据,并存储它。当收集数据时需先存聚集大量的数据,并存储它。当收集数据时需先存储再处理或数据不容易组织时,就可用到堆。储再处理或数据不容易组织时,就可用到堆。(2)顺序文件顺序文件使用固定格式的记录。所有记录的长度相等,使用固定格式的记录。所有记录的长度相等,含有相同个数、特定次序的固定长度字段。含有相同个数、特定次序的固定长度字段。由于每一个字段的长度和位置是已知的,所由于每一个字段的长度和位
6、置是已知的,所以仅仅需要存储字段的值。每个字段的字段以仅仅需要存储字段的值。每个字段的字段名和长度归于文件结构的属性。名和长度归于文件结构的属性。顺序文件的另一种组织方法是采用链接表。顺序文件的另一种组织方法是采用链接表。6(3)索引顺序文件索引顺序文件索引顺序文件维护了顺序文件的关键字特征:索引顺序文件维护了顺序文件的关键字特征:记录以关键字字段的顺序组织。此外,还增加了记录以关键字字段的顺序组织。此外,还增加了两个新的特征:支持随机存取的文件索引和溢出两个新的特征:支持随机存取的文件索引和溢出文件。在索引文件中的每个记录包括两个字段:文件。在索引文件中的每个记录包括两个字段:一个是与主文件
7、关键字相同的关键字字段。一个是与主文件关键字相同的关键字字段。另一另一个是指向主文件的指针。个是指向主文件的指针。(4)索引文件索引文件 需要使用多索引的结构。详尽的索引为主文需要使用多索引的结构。详尽的索引为主文件中的每一个记录建立一个入口项。部分索引件中的每一个记录建立一个入口项。部分索引对感兴趣字段的记录建立入口项。索引本身组对感兴趣字段的记录建立入口项。索引本身组织成一个顺序文件以便容易搜索。织成一个顺序文件以便容易搜索。7(5)散列文件散列文件 直接存取的散列文件使用对关键字值直接存取的散列文件使用对关键字值的散列。散列文件经常用于需要快速的散列。散列文件经常用于需要快速存取的场合。
8、存取的场合。文件包括固定长度的记录,应用程序文件包括固定长度的记录,应用程序一般一次存取一个记录。一般一次存取一个记录。目录、调度表和名字表等都可使用散目录、调度表和名字表等都可使用散列文件。列文件。83 文件系统结构文件系统结构u 设备驱动程序负责对设备的启动设备驱动程序负责对设备的启动I/O操作,处操作,处理理I/O请求完成后的工作。请求完成后的工作。u 上一层是基本文件系统,或称物理上一层是基本文件系统,或称物理I/O层,这层,这一层是与计算机系统外部环境的主要接口一层是与计算机系统外部环境的主要接口u 基本基本I/O管理主要负责所有文件管理主要负责所有文件I/O的初始化的初始化和结束工
9、作。在这一层,维护处理设备和结束工作。在这一层,维护处理设备I/O、调调度和文件的控制结构。度和文件的控制结构。I/O缓冲区的分配及外存缓冲区的分配及外存的定位工作也在这一层完成。的定位工作也在这一层完成。u 逻辑逻辑I/O使用户和应用程序能够存取记录。使用户和应用程序能够存取记录。u 最接近用户的文件系统层是存取方法层,其提最接近用户的文件系统层是存取方法层,其提供了用户与文件系统和存储数据的设备之间的供了用户与文件系统和存储数据的设备之间的标准接口。标准接口。9堆顺序索引顺序索引散列逻辑I/O基本I/O管理基本文件系统磁带驱动器磁盘驱动器图图 6-26-2文件系统软件结文件系统软件结构构用
10、户程序106.2文件目录文件目录1 目录的内容目录的内容v 目录含有文件的信息,包括文件的属性、位置目录含有文件的信息,包括文件的属性、位置和属主等。目录本身也是文件和属主等。目录本身也是文件,各种文件管理例行各种文件管理例行程序要通过操作系统存取目录文件。程序要通过操作系统存取目录文件。v 目录提供了为用户和应用程序所知的文件名和目录提供了为用户和应用程序所知的文件名和文件实体本身的映射。文件实体本身的映射。v 所有的系统都要处理不同类型的文件和不同的所有的系统都要处理不同类型的文件和不同的文件组织,因此也要提供此类文件信息。文件组织,因此也要提供此类文件信息。v 文件的位置和大小。文件的位
11、置和大小。v 在共享系统中,提供用户对文件的存取控制。在共享系统中,提供用户对文件的存取控制。v 文件和记录文件历史的信息。文件和记录文件历史的信息。11(1)基本信息基本信息 文件名:文件名:在一个特定的目录中具有唯一性。在一个特定的目录中具有唯一性。文件类型:文件类型:例如文本文件,二进制文件,目标模块等。例如文本文件,二进制文件,目标模块等。文件组织:文件组织:系统所支持的不同组织形式。系统所支持的不同组织形式。(2)地址信息地址信息 起始地址:起始地址:文件存放在外存的起始物理地址(例如:文件存放在外存的起始物理地址(例如:柱面号、磁道号或在磁盘上的块号)。柱面号、磁道号或在磁盘上的块
12、号)。已使用大小:已使用大小:当前文件的大小,以字节、字或块计。当前文件的大小,以字节、字或块计。(3)存取控制信息存取控制信息 文件主:文件主:拥有文件的控制权。文件主能授予和取消其拥有文件的控制权。文件主能授予和取消其他用户对文件的存取权和改变这些权限。他用户对文件的存取权和改变这些权限。允许的操作:允许的操作:控制读、写、执行和在网上的传输等。控制读、写、执行和在网上的传输等。(4)使用信息使用信息 创建日期:创建日期:文件首次存放在目录中的时间。文件首次存放在目录中的时间。读时间:读时间:最后一次读文件记录的时间。最后一次读文件记录的时间。修改时间:修改时间:最后一次更新、插入或删除记
13、录的时间。最后一次更新、插入或删除记录的时间。126.2.2 目录的结构目录的结构对目录操作的类型:对目录操作的类型:搜索:搜索:搜索目录以找到对应于文件的目录项。搜索目录以找到对应于文件的目录项。创建文件:创建文件:将目录项加到目录中。将目录项加到目录中。删除文件:删除文件:从目录中移去一个目录项。从目录中移去一个目录项。列目录:列目录:可以要求列出全部或部分目录内容。可以要求列出全部或部分目录内容。使用两级目录。在这种情况下,系统有一个主使用两级目录。在这种情况下,系统有一个主目录,并为每一个用户设置一个目录。目录,并为每一个用户设置一个目录。层次结构或称树型结构。系统中有一个主目层次结构
14、或称树型结构。系统中有一个主目录,在它之下有一些用户目录,每一个用户目录录,在它之下有一些用户目录,每一个用户目录也同样允许有子目录和文件。也同样允许有子目录和文件。136.3 文件存储资源分配文件存储资源分配(1)预分配和动态分配预分配和动态分配 预分配的策略需要在创建文件时说明文件的最预分配的策略需要在创建文件时说明文件的最大长度。对于很多的应用,要可靠地估计文件的大长度。对于很多的应用,要可靠地估计文件的长度如果不是不可能的,也是很困难的。用户和长度如果不是不可能的,也是很困难的。用户和应用程序只能倾向于过高估计文件的长度以便不应用程序只能倾向于过高估计文件的长度以便不会用完分配给文件的
15、空间。会用完分配给文件的空间。从存储分配的角度看,这明显是浪费的。相反,从存储分配的角度看,这明显是浪费的。相反,动态分配不存在这个缺点,这种方法在需要时才动态分配不存在这个缺点,这种方法在需要时才给文件分配空间。给文件分配空间。14(2)分区大小)分区大小 1)连续的空间提高了操作性能。连续的空间提高了操作性能。2)具有大量的小分区增加了管理存储分配信具有大量的小分区增加了管理存储分配信息表的大小。息表的大小。3)具有固定大小的分区(如,以块为单位)具有固定大小的分区(如,以块为单位)可简化存储空间的算法。可简化存储空间的算法。4)具有可变大小或固定的小尺寸的分区可以具有可变大小或固定的小尺
16、寸的分区可以减少存储空间的浪费。减少存储空间的浪费。15两个主要的选择方案两个主要的选择方案可变长度、连续的大分区:可变长度、连续的大分区:性能较好。可变性能较好。可变长度避免浪费存储空间,文件分配表也较小。长度避免浪费存储空间,文件分配表也较小。块:块:小而固定长度的分区,灵活性大。但存小而固定长度的分区,灵活性大。但存储分配需要较大的表或复杂的结构。存储块即需储分配需要较大的表或复杂的结构。存储块即需即分配,但块间就不一定相邻。即分配,但块间就不一定相邻。可变长度分区需要考虑空闲区的碎片问题。可变长度分区需要考虑空闲区的碎片问题。首次适应法:首次适应法:选择第一个足够大小的连续空选择第一个
17、足够大小的连续空闲块组。闲块组。最佳适应法:最佳适应法:在所有满足大小要求的空闲块在所有满足大小要求的空闲块组中选择最小的一组。组中选择最小的一组。循环首次适应法:循环首次适应法:选择离该文件的前次分配选择离该文件的前次分配物理位置最近的满足大小要求的空闲块组。物理位置最近的满足大小要求的空闲块组。16(4)空闲存储空间管理)空闲存储空间管理位表位表这种方法是每一二进制位对应一个磁盘块。二进制位为这种方法是每一二进制位对应一个磁盘块。二进制位为0表示一个空闲块,位值为表示一个空闲块,位值为1表示该块已被使用。位表所具表示该块已被使用。位表所具有的优点是查找一个或一组连续的空闲块比较方便。位表有
18、的优点是查找一个或一组连续的空闲块比较方便。位表已是尽可能地小,因此可以全部放入主存中。已是尽可能地小,因此可以全部放入主存中。.空闲分区链空闲分区链 空闲分区可以用指针连在一起,还需要一个空闲分区的空闲分区可以用指针连在一起,还需要一个空闲分区的长度信息。长度信息。索引索引 索引方法将空闲存储区当作文件一样处理,像文件分配索引方法将空闲存储区当作文件一样处理,像文件分配那样使用索引表。在索引表上的每一项对应磁盘上的每一那样使用索引表。在索引表上的每一项对应磁盘上的每一个空闲分区。个空闲分区。176.4 文件的系统调用文件的系统调用6.4.1 文件的创建、打开、关闭和取消文件的创建、打开、关闭
19、和取消1.文件的创建文件的创建 fd=creat(pathname,mode);int fd,mode;char *pathname;pathname是要创建文件的带路径的文件名。是要创建文件的带路径的文件名。mode是以二进制的位值为该文件设置的存取控制权限。是以二进制的位值为该文件设置的存取控制权限。其低其低9位以位以3位为一组,由高至低位分别表示文件主,文件主位为一组,由高至低位分别表示文件主,文件主同组用户和其他用户对该文件是否拥有读、写、执行权限。同组用户和其他用户对该文件是否拥有读、写、执行权限。mode中还可设置如下控制位:中还可设置如下控制位:01000文件使用后仍保留在盘交换
20、区上。文件使用后仍保留在盘交换区上。04000用户执行本文件时将其有效用户标识数用户执行本文件时将其有效用户标识数u_uid设置为设置为文件主标识数,该特性一般为超级用户所使用。文件主标识数,该特性一般为超级用户所使用。第第1215位为文件类型位。位为文件类型位。fd中存放文件创建成功后系统返回的整数值,称为打开文中存放文件创建成功后系统返回的整数值,称为打开文件标识数(或称描述字)。件标识数(或称描述字)。182.文件的打开文件的打开 fd=open(pathname,flags);int fd,flags;char*pathname;pathname和和fd的意义同的意义同creat调用中
21、同名变量。调用中同名变量。flags表示本次打开后要对文件进行的操作,可取的值表示本次打开后要对文件进行的操作,可取的值及意义列举如下:及意义列举如下:O_RDONLY(0)对文件进行读操作对文件进行读操作 O_WRONLY(1)对文件进行写操作。对文件进行写操作。O_RDWR (2)对文件既可以读也可以写。对文件既可以读也可以写。O_NDELAY(4)打开管道文件时是否要等待。)打开管道文件时是否要等待。O_APPEND(8)对文件进行添加写操作。对文件进行添加写操作。要使用以上常数,应包含要使用以上常数,应包含fcntl.h文件。文件。应该遵循最小存取权原理。应该遵循最小存取权原理。193
22、.文件的关闭文件的关闭4.文件的联接、解除联接和删除文件的联接、解除联接和删除 close(fd););为名为为名为name1的文件再起一个新的名,可使用系的文件再起一个新的名,可使用系统调用:统调用:link(name1,name2););要取消某文件的一个文件名,则可用系统调用:要取消某文件的一个文件名,则可用系统调用:unlink(pathname););利用利用link和和unlink调用可以改变文件的名:调用可以改变文件的名:link(name1,name2););unlink(name1););相当于相当于UNIX命令:命令:mv name1 name2 unlink调用仅仅使其联
23、接数减去调用仅仅使其联接数减去1。当文件仅剩。当文件仅剩下一个名时,下一个名时,unlink调用取消这一文件名后再将该调用取消这一文件名后再将该文件从系统中删去。文件从系统中删去。206.4.2文件的读写文件的读写 n=read(fd,buf,nbytes););n=write(fd,buf,nbytes););int fd,n;unsigned nbyte;char*buf;fd为先前已打开文件的描述字,为先前已打开文件的描述字,nbyte是欲读、写的字节数。是欲读、写的字节数。n 对于读,对于读,buf是读出的文件信息应送至的目标区始址;是读出的文件信息应送至的目标区始址;对于写,对于写,
24、buf是要写入文件的信息源区首址。是要写入文件的信息源区首址。n n是调用返回值,表示实际读出和或实际写入的字节数。是调用返回值,表示实际读出和或实际写入的字节数。n的值可能不等于的值可能不等于nbytes的值。如不相等,对于读,的值。如不相等,对于读,0nnbytes时,表示已读到了文件尾,时,表示已读到了文件尾,n=-1时,表示读操作时,表示读操作出错。对于写,出错。对于写,nnbyte或或n=-1时都表示写出错。时都表示写出错。21三个特殊的文件三个特殊的文件 一般在进程创建后就已处于打开的状态,它一般在进程创建后就已处于打开的状态,它们是:们是:0号号 标准读文件代表键盘输入标准读文件
25、代表键盘输入 1号号 标准写文件代表屏幕显示标准写文件代表屏幕显示 2号号 标准错误输出文件,是程序的运行时的出标准错误输出文件,是程序的运行时的出错信息,也写至屏幕上,但在错信息,也写至屏幕上,但在shell命令中不能命令中不能直接用直接用I/O转向符转向符“”将标准错误输出转向至将标准错误输出转向至一个文件。一个文件。22#define BUFSIZE 1024main()char buf BUFSIZE;int n;while(n=read(0,buf,BUFSIZE)0)write(1,buf,n);UNIX的文件读写是通过缓存进行,而缓存的大小为的文件读写是通过缓存进行,而缓存的大小
展开阅读全文